Certificat SSL sur un serveur apache2
Nous allons voir quelles sont les configurations nécessaires pour afin de chiffrer les communications d'un serveur web Linux qui utilise apache2.
Voici quelques informations sur les certificats SSL :
- Un certificat SSL (SecureSocketsLayer) assure l’authenticité de votre site Web.
- Le protocole SSL chiffre la communication entre les ordinateurs.
- Il existe des certificats signés par des autorités de certification de confiance et des certificats «auto-signés» (pour un usage interne ou des tests).
- Un certificat SSL doit se renouveler périodiquement.
- Il y a différentes «gammes» de certificat.
- Google pénalise les sites sans certificat de sécurité.
La configuration
Installer openSSL sur votre machine Lancez la commande suivante pour générer un certificat autosigné openssl req x509 -nodes -days 3000 -newkey rsa:4096 -keyout /etc/ssl/NomDuServeur.key -out /etc/ssl/NomDuServeur.crt
Activer le module SSL a2enmod ssl
Redémarrer le service apache 2
Configurez le virtualHost sur le port 443 et indiquez l'emplacement de vos certificats
SSLEngine On SSLCertificateFile /etc/ssl/NomDuServeur.crt SSLCertificateKeyFile /etc/ssl/NomDuServeur.key
Mettre en place la redirection via une réécriture du port 80 vers le port 443
a2enmod rewrite
<VirtualHost *:80>
ServerName NomDuServeur.com
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>