Je souhaite installer un certificat SSL autosigné sur mon instance Amazon Elastic Compute Cloud (Amazon EC2) Ubuntu qui héberge un serveur Apache.
Résolution
Ouvrir les ports 80 et 443
Assurez-vous que les groupes de sécurité de l'instance autorisent le trafic sur les ports 80 et 443.
Installer le serveur Web Apache et OpenSSL
Exécutez la commande suivante pour installer Apache et OpenSSL sur votre serveur :
$ sudo apt-get install apache2 openssl -y
Pour en savoir plus sur la configuration de SSL/TLS sur Amazon Linux, consultez la section Configurer SSL/TLS.
Générer un certificat auto-signé
-
SSL utilise des clés publiques et privées. Exécutez la commande suivante pour créer une clé privée pour votre domaine et une requête de signature de certificat (CSR) :
$ sudo openssl req -nodes -newkey rsa:2048 -keyout /etc/ssl/private/private.key -out /etc/ssl/private/request.csr
-
Exécutez la commande suivante pour générer un certificat SSL :
$ sudo openssl x509 -in /etc/ssl/private/request.csr -out /etc/ssl/private/certificate.crt -req -signkey /etc/ssl/private/private.key -days 365
Les fichiers de clé (private.key) et de certificat (certificate.crt) sont désormais prêts à être utilisés avec le serveur Web Apache.
Configurer Apache pour utiliser SSL
Configurez Apache pour utiliser le certificat que vous avez créé précédemment dans Générer un certificat auto-signé.
-
Exécutez la commande suivante pour ouvrir le fichier de configuration SSL Apache par défaut :
$ sudo vi /etc/apache2/sites-available/default-ssl.conf
-
Utilisez les chemins suivants pour définir l'emplacement de votre certificat SSL :
SSLCertificateFile: /etc/ssl/private/certificate.crt**
SSLCertificateKeyFile:** /etc/ssl/private/private.key
-
Enregistrez et fermez le fichier, puis exécutez la commande suivante pour activer le fichier hôte virtuel :
$ sudo a2ensite default-ssl.conf
-
Exécutez la commande suivante pour ouvrir le fichier de configuration de l'hôte virtuel par défaut pour Apache :
$ sudo vi /etc/apache2/sites-available/000-default.conf
-
Exécutez la commande suivante pour ajouter une redirection vers votre nom de domaine. La redirection redirige tout le trafic vers la version SSL du site :
Remarque :« Server-IP » est l'adresse IP de votre serveur.
Redirect "/" https://Server-IP
-
Exécutez les commandes suivantes pour activer les modules SSL et d'en-tête :
$ sudo a2enmod ssl
$ sudo a2enmod headers
-
Exécutez la commande suivante pour recharger le service Apache et appliquer les modifications :
$ sudo systemctl reload apache2
Vérifier votre serveur SSL
Pour vérifier votre serveur SSL, procédez comme suit :
- Lancez votre navigateur Web, puis accédez à https://Server-IP. Le navigateur Web vous redirige vers une page d'avertissement. Ce qui est normal, car votre certificat n'est pas signé par une autorité de certification approuvée.
- Sélectionnez Aller vers l'hôte. La page d'accueil Apache s'ouvre. Un cadenas avec la mention « non sécurisé » s'affiche dans la barre d'adresse du navigateur. Cela indique que le certificat n'est pas validé, mais qu'il chiffre votre connexion.
Pour plus d'informations sur la configuration du protocole SSL/TLS sur Red Hat ou Community Enterprise Linux, consultez la section Configuration d'un serveur Web pour utiliser le protocole HTTPS sur le site Web de Red Hat.