SÉCURITÉ DE APACHE2 AVEC SSL : HTTPS
• Protocole HTTP
• non sécurisé
• port 80
• site default
• Protocole HTTPS
• sécurisé
• port 443
• site default-ssl
• Vérification de l'identité du site grâce à un certificat d'authentification
• Confidentialité et intégrité des données
Activer le module SSL d'Apache:
a2enmod ssl (Apache2 enable mode pour SSL, réciproquement a2dismod)
--- Activer le site default-ssl d'Apache : --- facultatif ---
a2ensite default-ssl (Apache2 enable mode pour default SSL, réciproquement a2dissite)
Recharger la configuration d'Apache :
/etc/init.d/apache2 force-reload ou service apache2 force-reload
Génération du certificat auto-signé :
méthode 1 :
1. openssl req -x509 -nodes -days 365 -newkey rsa:1024 -out /etc/apache2/[Link] -keyout /etc/apache2/[Link]
méthode 2 : le certificat est stocké dans /etc/ssl/certs et la clé dans /etc/ssl/private
1. openssl genrsa -out [Link] 1024
2. openssl req -new -key [Link] -out [Link]
3. openssl -req -x509 -days 365 -in [Link] -signkey [Link] -out [Link]
méthode 3 :
1. make-ssl-cert /usr/share/ssl-cert/[Link] /etc/ssl/private/[Link]
2. cd /etc/apache2/sites-available/
3. cp default ssl
4. sed -i '1,2s/\*:80/*:443/' ssl
5. sed -i "3a\\\tSSLEngine On\n\tSSLCertificateFile /etc/ssl/private/[Link]" ssl
6. a2ensite ssl
répondre aux questions : ATTENTION : Common Name = nom de domaine
Sécuriser la clé :
chmod 440 /etc/apache2/[Link]
Ajouter le port 443 à la configuration d'Apache :
vim /etc/apache2/[Link]
Listen 80
Listen 443
Editer la configuration d'Apache :
vim /etc/apache2/sites-available/default
NameVirtualHost ip_serveur:80
<VirtualHost ip_serveur:80>
ServerName monsite
--- Redirect / [Link] ---
...
</VirtualHost>
NameVirtualHost ip_serveur:443
<VirtualHost ip_serveur:443>
ServerName monsite
...
SSLEngine on
SSLCertificateFile /chemin/[Link]
SSLCertificateKeyFile /chemin/[Link]
</VirtualHost>
Recharger la configuration d'Apache :
/etc/init.d/apache2 force-reload ou service apache2 force-reload
Vos sites sont maintenant accessibles en http et https.