Configurer vhost securise

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Procédure (HTTPS avec certificat auto-signé)
Modules requis mod_ssl, openssl
Fichier vhost /etc/httpd/conf.d/ssl.conf (RHEL/CentOS)
Voir aussi Apache · Forward Secrecy · Directives apache

Procédure pour activer HTTPS sur un virtual host Apache avec un certificat auto-signé. Utile en environnement de test/développement ou en interne ; en production sur un site exposé, préférer un certificat émis par une autorité reconnue (voir la section Alternative moderne ci-dessous).

Installer les paquets nécessaires

yum install mod_ssl openssl

Générer le certificat

1. Clé privée

openssl genrsa -out ca.key 2048

(Utiliser 2048 bits minimum aujourd'hui ; 1024 bits, historiquement courant, est désormais considéré trop faible.)

2. Demande de signature de certificat (CSR)

openssl req -new -key ca.key -out ca.csr

3. Certificat auto-signé

openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

Déployer les fichiers

mv ca.crt /etc/pki/tls/certs/
mv ca.key /etc/pki/tls/private/
mv ca.csr /etc/pki/tls/private/

Configurer le vhost SSL

Dans /etc/httpd/conf.d/ssl.conf, pointer les directives sur les fichiers déployés :

SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key

Puis relancer le service :

systemctl restart httpd

Alternative moderne : Let's Encrypt

Pour un site accessible publiquement, un certificat auto-signé génère un avertissement dans tous les navigateurs. Certbot (client Let's Encrypt) permet d'obtenir gratuitement un certificat reconnu et de gérer son renouvellement automatique — à privilégier dès que le serveur est joignable depuis Internet.

Voir aussi

  • Apache — vue d'ensemble du service
  • Forward Secrecy — durcir la configuration TLS une fois le certificat en place
  • Directives apache — directives SSL* et directives de vhost
  • Nginx — reverse proxy, alternative fréquente pour terminer le TLS en frontal