meta données pour cette page
Ajouter de la sécurité (Apache2)
Accès sécurisé avec OpenSSL
Création d'un certificat auto-signé avec cette méthode. D'abord la clé privé et la demande de certificat :
openssl req -new -newkey rsa:2048 -sha512 -nodes -out /etc/ssl/self-signed.bruno-tatu.com.csr -keyout /etc/ssl/private/self-signed.bruno-tatu.com.key -days 3650 -subj "/C=FR/ST=France/L=DansLeSud/O=Auto-signed/CN=*.bruno-tatu.com"
Puis on créer le certificat :
openssl x509 -req -sha512 -days 2560 -in /etc/ssl/self-signed.bruno-tatu.com.csr -signkey /etc/ssl/private/self-signed.bruno-tatu.com.key -out /etc/ssl/certs/self-signed.bruno-tatu.com.crt
On pourra l'insérer ainsi dans le vhost :
<IfModule mod_ssl.c> <VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/ssl/certs/self-signed.bruno-tatu.com.crt SSLCertificateKeyFile /etc/ssl/private/self-signed.bruno-tatu.com.key # On désactive certaines prises en charge de protocole SSLProtocol All -SSLv2 -SSLv3 </VirtualHost> </IfModule>
On a besoin de ce module :
a2enmod ssl
Site de recommandation :
Site de vérification qui vont tester la qualité de chiffrage :
Protéger un répertoire
Mode Basic
- Par utilisateurs
Ce mode est celui expliqué dans de nombreux tutoriel. Il est le plus simple et le plus rapide à mettre en place.
Dans le dossier en question créer le .htacess et modifier le virtualhost en conséquence :
<VirtualHost *:80> <Directory "/var/www/html"> AuthName "Accès limité!" AuthType Basic AuthBasicProvider file AuthUserFile /var/www/html/.htpasswd Require user utilisateur </Directory> </VirtualHost>
Crééons l'utilisateur :
htpasswd -c /var/www/html/.htpasswd utilisateur
Admettons que l'on ajoute un autre compte mais qui n'a pas encore le droit d'accès vu qu'il n'est pas déclaré dans le contexte (</virtualhost>) :
htpasswd /var/www/html/.htpasswd utilisateur2secour
- Par groupe
Reprenons la configuration précédente ainsi que les utilisateurs :
On ajoutera / modifiera ces directives
<VirtualHost *:80> <Directory "/var/www/html"> AuthUserFile /var/www/html/.htpasswd AuthGroupFile /var/www/html/.htgroup AuthName "Mot de passe" AuthType Basic Require group admin </Directory> </VirtualHost>
On devra ajouter un fichier qui spécifie précisément quel utilisateur appartient à quel groupe.
nano /var/www/html/.htgroup
admin: utilisateur urgence: utilisateur2secour
Mode Digest
Ce mode est un poil plus long à mettre en place avec en plus une communication sécurisée lors de l'émission de la requête d'authenficiation.
<VirtualHost *:80> <Directory "/var/www/html"> AuthName "zone_privee" AuthType Digest AuthDigestProvider file AuthUserFile /var/www/html/.htpasswd_digest Require user utilisateur </Directory> </VirtualHost>
Créeons le groupe et l'utilisateur :
htdigest -c /var/www/html/.htpasswd_digest zone_privee utilisateur
N'oublions pas d'activer le module mod_auth_digest :
a2enmod auth_digest
Cacher la version du logiciel
nano /etc/apache2/conf-enabled/security.conf
Changer ces valeurs ou les ajouter dans le fichier :
ServerSignature Off ServerTokens Prod