Comment créer des certificats SSL auto-signés et des clés pour Apache sur RHEL / CENTOS 7.0

Comment créer des certificats SSL auto-signés et des clés pour Apache sur RHEL / CENTOS 7.0

SSL (Calque de sockets sécurisé) est un protocole cryptographique qui permet un flux de données sécurisé entre un serveur et ses clients utilisant des clés symétriques / asymétriques en utilisant un certificat numérique signé par une autorité de certificat (CA).

Créer des certificats SSL pour Apache

Exigences

  1. Installation de lampe de base sur Rhel / Centos 7.0

Ce tutoriel fournit une approche sur la façon de configurer Calque de sockets sécurisé (SSL) Protocole cryptographique de communication sur le serveur Web Apache installé dans Red Hat Enterprise Linux/ /Centos 7.0, et générer des certificats et des clés auto-signés à l'aide d'un script bash qui simplifie considérablement l'ensemble du processus.

Étape 1: Installer et configurer Apache SSL

1. Pour activer SSL sur Apache HTTP Server, utilisez la commande suivante pour installer le module SSL et OpenSSL Tool-Kit qui est nécessaire pour la prise en charge SSL / TLS.

# yum install mod_ssl openssl
Installer le module SSL

2. Une fois le module SSL installé, redémarrez Httpd démon et ajoutez une nouvelle règle de pare-feu pour garantir que le port SSL - 443 - il est ouvert aux connexions extérieures sur votre machine à l'état d'écoute.

# systemctl redémarrer httpd # Firewall-Cmd --add-Service = https ## Règle de la volée # Firewall-Cmd - Permanent --Add-Service = HTTPS ## Règle permanente - Besoin de redémarrage de tout le monde
Redémarrer le service Apache

3. Pour tester la connexion SSL, ouvrez un navigateur distant et accédez à l'adresse IP de votre serveur à l'aide du protocole HTPS sur https: // server_ip.

Tester la connexion SSL

Étape 2: Créez des certificats et des clés SSL

4. La communication SSL précédente entre le serveur et le client a été effectuée à l'aide d'un certificat par défaut et d'une clé générée automatiquement lors de l'installation. Afin de générer de nouvelles clés privées et des paires de certificats auto-signées, créez le script bash suivant sur un chemin système exécutable ($ Chemin).

Pour ce tutoriel / usr / local / bin / Le chemin a été choisi, assurez-vous que le script a un ensemble de bits exécutable et, puis, utilisez-le comme commande pour créer de nouvelles paires SSL / etc / httpd / ssl / Comme l'emplacement par défaut des certificats et des clés.

# nano / usr / local / bin / apache_ssl

Utilisez le contenu du fichier suivant.

#!/ bin / bash mkdir / etc / httpd / ssl cd / etc / httpd / ssl echo -e "Entrez votre hôte virtuel fqdn: \ nthis générera le nom par défaut pour le certificat et la clé Apache SSL!"Read cert OpenSSL Genpkey -Algorithm RSA -pkeyopt rsa_keygen_bits: 2048 -out $ Cert.CLÉ CHMOD 600 $ CERT.Key OpenSSL REQ -NEW -KEY $ CERT.Key -out $ Cert.CSR OpenSSL X509 -req -Days 365 -in $ Cert.CSR -SIGNKEY $ CERT.Key -out $ Cert.CRT ECHO -E "Le certificat et la clé de $ CERT ont été générés!\ nplease le lier à Apache SSL Disponible Site Web!"LS -all / etc / httpd / ssl exit 0
Créer des certificats et des clés auto-signées

5. Maintenant, faites ce script exécutable et lancez-le pour générer une nouvelle paire de certificat et de clé pour votre hôte virtuel Apache SSL.

Remplissez-les de vos informations et faites attention à Nom commun Valeur pour correspondre à votre serveur FQDN ou en cas d'hébergement virtuel pour correspondre à l'adresse Web, vous accéderez lors de la connexion à un site Web sécurisé.

# chmod + x / usr / local / bin / apache_ssl # apache_ssl
Entrez les informations SSL

6. Une fois le certificat et la clé générés, le script présentera une longue liste de toutes vos paires SSL Apache stockées dans / etc / httpd / ssl / emplacement.

Paires d'Apache SSL

7. Une autre approche sur la génération de certificats et de clés SSL est en installation crypto-utiles emballage sur votre système et générer des paires en utilisant Genkey commande, qui peut imposer des problèmes surtout lorsqu'ils sont utilisés sur un Mastic écran terminal.

Donc, je suggère d'utiliser cette méthode uniquement lorsque vous êtes directement connecté à un moniteur d'écran.

# yum install crypto-utils # genkey your_fqdn
Installer le package cryptographique

8. Pour ajouter le nouveau certificat et la clé à votre site Web SSL, ouvrez le fichier de configuration de votre site Web et remplacez Sslcertificatefile et Sslcertificatekeyfile déclarations avec l'emplacement et les noms des nouveaux paires en conséquence.

Activer SSL sur VirtualHosts

9. Si le certificat n'est pas délivré par une autorité de certification de confiance de confiance ou le nom d'hôte du certificat ne correspond pas au nom d'hôte qui établit la connexion, une erreur doit apparaître sur votre navigateur et vous devez accepter manuellement le certificat.

Erreur de certificat SSL SSL activé sur Apache

C'est ça! Maintenant vous pouvez utiliser apache_sslcomme ligne de commande sur rhel / centos 7.0 pour générer autant de paires de certificats et de clés auto-signés dont vous avez besoin, et tous seront conservés / etc / httpd / ssl / Chemin avec le fichier clé protégé avec 700 autorisation.