20.7. Ajouter le cryptage TLS à un serveur HTTP Apache
Cette section décrit comment activer le cryptage TLS sur le serveur HTTP Apache my_company.idm.example.com
pour le domaine idm.example.com
.
Conditions préalables
-
Le serveur Apache HTTP
my_company.idm.example.com
est installé et fonctionne. -
Vous avez obtenu le certificat TLS de la sous-CA webserver-ca et l'avez stocké dans le fichier
/etc/pki/tls/certs/httpd.pem
comme décrit dans Obtaining an IdM certificate for a service using certmonger (Obtention d'un certificat IdM pour un service à l'aide de certmonger). Si vous utilisez un chemin différent, adaptez les étapes correspondantes de la procédure. -
La clé privée correspondante est stockée dans le fichier
/etc/pki/tls/private/httpd.key
. Si vous utilisez un chemin différent, adaptez les étapes correspondantes de la procédure. -
Le certificat CA webserver-ca est stocké dans le fichier
/etc/pki/tls/private/sub-ca.crt
. Si vous utilisez un chemin différent, adaptez les étapes correspondantes de la procédure. - Les clients et le serveur web my_company.idm.example.com résolvent le nom d'hôte du serveur en adresse IP du serveur web.
Procédure
Installez le paquetage
mod_ssl
:# dnf install mod_ssl
Modifiez le fichier
/etc/httpd/conf.d/ssl.conf
et ajoutez les paramètres suivants à la directive<VirtualHost _default_:443>
:Définir le nom du serveur :
ServerName my_company.idm.example.com
ImportantLe nom du serveur doit correspondre à l'entrée définie dans le champ
Common Name
du certificat.Facultatif : Si le certificat contient des noms d'hôtes supplémentaires dans le champ
Subject Alt Names
(SAN), vous pouvez configurermod_ssl
pour qu'il fournisse également un cryptage TLS pour ces noms d'hôtes. Pour ce faire, ajoutez le paramètreServerAliases
avec les noms correspondants :ServerAlias www.my_company.idm.example.com server.my_company.idm.example.com
Définissez les chemins d'accès à la clé privée, au certificat du serveur et au certificat de l'autorité de certification :
SSLCertificateKeyFile "/etc/pki/tls/private/httpd.key" SSLCertificateFile "/etc/pki/tls/certs/httpd.pem" SSLCACertificateFile "/etc/pki/tls/certs/ca.crt"
Pour des raisons de sécurité, configurez l'accès au fichier de la clé privée uniquement pour l'utilisateur
root
:# chown root:root /etc/pki/tls/private/httpd.key # chmod 600 //etc/pki/tls/private/httpd.key
AvertissementSi des utilisateurs non autorisés ont eu accès à la clé privée, révoquez le certificat, créez une nouvelle clé privée et demandez un nouveau certificat. Sinon, la connexion TLS n'est plus sécurisée.
Si vous utilisez
firewalld
, ouvrez le port443
dans le pare-feu local :# firewall-cmd --permanent --add-port=443/tcp # firewall-cmd --reload
Redémarrez le service
httpd
:# systemctl restart httpd
NoteSi vous avez protégé le fichier de clé privée par un mot de passe, vous devez saisir ce mot de passe à chaque démarrage du service
httpd
.-
Utilisez un navigateur et connectez-vous à
https://my_company.idm.example.com
.
-
Utilisez un navigateur et connectez-vous à
Ressources supplémentaires