GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment créer un certificat SSL auto-signé local sur CentOS 8

SSL (Secure Socket Layer ), et sa version améliorée, TLS (Couche de socket de transport ), sont des protocoles de sécurité utilisés pour sécuriser le trafic Web envoyé depuis le navigateur Web d'un client vers un serveur Web.

Un SSL certificat est un certificat numérique qui crée un canal sécurisé entre le navigateur d'un client et un serveur Web. Ce faisant, les données sensibles et confidentielles telles que les données de carte de crédit, les identifiants de connexion et d'autres informations hautement privées sont cryptées, empêchant les pirates d'écouter et de voler vos informations.

Qu'est-ce qu'un certificat SSL auto-signé ?

Un certificat SSL auto-signé, contrairement aux autres SSL des certificats signés et approuvés par une autorité de certification (AC ), est un certificat signé par une personne qui en est propriétaire.

Il est totalement gratuit d'en créer un et constitue un moyen peu coûteux de crypter votre serveur Web hébergé localement. Cependant, l'utilisation d'un certificat SSL auto-signé est fortement déconseillée dans les environnements de production pour les raisons suivantes :

  1. Puisqu'il n'est pas signé par une autorité de certification , un certificat SSL auto-signé génère des alertes sur les navigateurs Web avertissant les utilisateurs des risques potentiels à venir s'ils décident de continuer. Ces alertes ne sont pas souhaitées et dissuaderont les utilisateurs de visiter votre site Web, ce qui pourrait entraîner une baisse du trafic Web. Pour contourner ces alertes, les organisations encouragent généralement leurs employés à simplement ignorer les alertes et à continuer. Cela peut engendrer une habitude dangereuse chez les utilisateurs qui peuvent décider de continuer à ignorer ces alertes sur d'autres sites en ligne, risquant ainsi d'être victimes de sites de phishing.
  2. Les certificats auto-signés ont un niveau de sécurité faible car ils mettent en œuvre des technologies de chiffrement et des hachages de bas niveau. Ainsi, le niveau de sécurité peut ne pas être à la hauteur des politiques de sécurité standard.
  3. De plus, les fonctions d'infrastructure à clé publique (PKI) ne sont pas prises en charge.

Cela dit, l'utilisation d'un certificat SSL auto-signé n'est pas une mauvaise idée pour tester des services et des applications sur une machine locale qui nécessite TLS / SSL cryptage.

Dans ce guide, vous apprendrez à installer un certificat SSL auto-signé local sur Apache serveur Web localhost sur un CentOS 8 système serveur.

Prérequis :

Avant de commencer, assurez-vous que vous disposez des exigences de base suivantes :

  1. Une instance du serveur CentOS 8.
  2. Serveur Web Apache installé sur le serveur
  3. Un nom d'hôte déjà configuré et défini dans /etc/hosts dossier. Pour ce guide, nous allons utiliser tecmint.local un nom d'hôte pour notre serveur.

Étape 1 :Installer Mod_SSL sur CentOS

1. Pour commencer, vous devez vérifier que Apache le serveur Web est installé et en cours d'exécution.

$ sudo systemctl status httpd

Voici la sortie attendue.

Vérifier le statut d'Apache

Si le serveur Web n'est pas en cours d'exécution, vous pouvez le démarrer et l'activer au démarrage à l'aide de la commande.

$ sudo systemctl start httpd
$ sudo systemctl enable httpd

Démarrer le serveur Web Apache

Vous pouvez ensuite confirmer si Apache est opérationnel.

2. Pour activer l'installation et la configuration du certificat SSL auto-signé local, le mod_ssl package est requis.

$ sudo dnf install mod_ssl

Une fois installé, vous pouvez vérifier son installation en exécutant.

$ sudo rpm -q mod_ssl

Vérifier l'installation du module SSL

Assurez-vous également que OpenSSL package est installé (OpenSSL est installé par défaut dans CentOS 8 ).

$ sudo rpm -q openssl 

Vérifier l'installation d'Openssl

Étape 2 :Créer un certificat SSL local auto-signé pour Apache

3. Avec Apache serveur web et tous les prérequis vérifiés, vous devez créer un répertoire dans lequel seront stockées les clés cryptographiques.

Dans cet exemple, nous avons créé un répertoire dans /etc/ssl/private .

$ sudo mkdir -p /etc/ssl/private

Créez maintenant la clé et le fichier du certificat SSL local à l'aide de la commande :

$ sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout tecmint.local.key -out tecmint.local.crt

Voyons à quoi correspondent certaines des options de la commande :

  • req -x509 – Cela indique que nous utilisons la demande de signature de certificat x509 (CSR).
  • -nœuds – Cette option demande à OpenSSL d'ignorer le chiffrement du certificat SSL à l'aide d'une phrase de passe. L'idée ici est de permettre à Apache de pouvoir lire le fichier sans aucune intervention de l'utilisateur, ce qui ne serait pas possible si une phrase secrète était fournie.
  • -newkey rsa:2048 – Cela indique que l'on souhaite créer simultanément une nouvelle clé et un nouveau certificat. La partie rsa:2048 implique que nous souhaitons créer une clé RSA de 2048 bits.
  • -keyout – Cette option spécifie où stocker le fichier de clé privée généré lors de la création.
  • -sortie – L'option spécifie où placer le certificat SSL créé.

Créer un certificat SSL local pour Apache

Étape 3 :Installer un certificat SSL auto-signé local sur Apache

4. Après avoir généré le fichier de certificat SSL, il est maintenant temps d'installer le certificat en utilisant les paramètres du serveur Web Apache. Ouvrez et modifiez le fichier /etc/httpd/conf.d/ssl.conf fichier de configuration.

$ sudo /etc/httpd/conf.d/ssl.conf

Assurez-vous d'avoir les lignes suivantes entre les balises d'hôte virtuel.

<VirtualHost *:443>
    ServerAdmin [email protected]
    ServerName www.tecmint.local
    ServerAlias tecmint.local
 
    DocumentRoot /var/www/html
 
    SSLEngine on
    SSLCertificateFile /etc/private/tecmint.local.crt
    SSLCertificateKeyFile /etc/private/tecmint.local.key
</VirtualHost>

Enregistrez et quittez le fichier. Pour que les modifications soient effectives, redémarrez Apache à l'aide de la commande :

$ sudo systemctl restart httpd

5. Pour que les utilisateurs externes accèdent à votre serveur, vous devez ouvrir le port 443 à travers le pare-feu comme indiqué.

$ sudo firewall-cmd --add-port=443 --zone=public --permanent
$ sudo firewall-cmd --reload

Étape 3 :Tester le certificat SSL local auto-signé sur Apache

Une fois toutes les configurations en place, lancez votre navigateur et parcourez l'adresse de votre serveur en utilisant l'adresse IP ou le nom de domaine du serveur en utilisant le protocole https.

Pour rationaliser les tests, vous pouvez envisager de rediriger le protocole HTTP vers HTTPS sur le serveur Web Apache. Ainsi, chaque fois que vous naviguez sur le domaine en HTTP simple, il sera automatiquement redirigé vers le protocole HTTPS.

Parcourez donc le domaine ou l'IP de votre serveur

https://domain_name/

Vous recevrez une alerte vous informant que la connexion n'est pas sécurisée comme indiqué. Cela variera d'un navigateur à l'autre. Comme vous pouvez le deviner, l'alerte est due au fait que le certificat SSL n'est pas signé par l'autorité de certification et le navigateur l'enregistre et signale que le certificat n'est pas fiable.

Avertissement de certificat SSL

Pour accéder à votre site Web, cliquez sur "Avancé ' comme indiqué ci-dessus :

Continuer les avertissements de certificat SSL

Ensuite, ajoutez l'exception au navigateur.

Confirmer l'exception de sécurité

Enfin, rechargez votre navigateur et observez que vous pouvez maintenant accéder au serveur, mais il y aura un avertissement sur la barre d'URL que le site n'est pas entièrement sécurisé pour la même raison que le certificat SSL est auto-signé et non signé par le Autorité de certification.

Accéder au site Web via HTTPS

Nous espérons que vous pourrez maintenant continuer et créer et installer un certificat SSL auto-signé sur le serveur Web Apache localhost sur CentOS 8 .

Partager c'est aimer…
Partager sur FacebookPartager sur TwitterPartager sur LinkedinPartager sur Reddit
Cent OS
  1. Comment installer un certificat SSL sur Apache pour CentOS 7

  2. Comment installer un certificat SSL auto-signé dans cPanel

  3. Comment créer un référentiel YUM local sur CentOS 7 / RHEL 7 à l'aide d'un DVD

  4. Comment créer un utilisateur sudo sur CentOS 7

  5. Comment créer un certificat SSL auto-signé sur Ubuntu 18.04

Comment générer des certificats SSL auto-signés à l'aide d'OpenSSL

Comment créer un utilisateur Sudo sur CentOS

Comment installer Textpattern sur CentOS 7

Comment installer LetsEncrypt SSL avec Nginx sur CentOS 6

Comment installer un certificat SSL gratuit pour Nginx sur CentOS 8

Comment réinitialiser/renouveler le certificat auto-signé cPanel/WHM ?