Archive - Installer un certificat X509 SSL sur Apache-SSL (Ben-SSL)
Vous avez reçu votre certificat par email, avec éventuellement un ou plusieurs certificats intermédiaires, et un certificat racine. Gardez cet email sous la main.
1- Récupérez le ou les certificats sur votre serveur
Retournez là ou vous avez généré la clef privée, par exemple:cd /etc/httpd/conf ou cd /etc/apache/conf ou cd /etc/apache2/Téléchargez les fichiers indiqués dans l'email de livraison :
(A partir de la page statut de votre certificat dans votre espace client chez TBS, cliquez sur le bouton "Voir le certificat" ou "Voir le dernier certificat")
- A: votre certificat serveur (fichier avec l'extension .cer ou .crt )
- B: la chaine de certification (fichier avec l'extension .txt)
2- Configurez Apache
L'installation d'un certificat sur un serveur Apache peut se résumer à définir 3 variables dans le fichier de configuration d'Apache :- SSLCertificateKeyFile chemin vers le fichier clef-privée.key utilisé lors de la génération du CSR initiale
- SSLCertificateFile chemin vers le fichier certificat.cer
- SSLCertificateChainFile ( ou SSLCACertificateFile ) chemin vers le fichier chain.txt. Ce fichier contient le(s) certificat(s) constituant la chaine de certification de votre certificat (A chaque renouvellement ou re-fabrication, la chaine de certification peut avoir été mise à jour par l'autorité, reprenez donc bien celle que l'on vous fourni à chaque livraison).
Trouvez le fichier de configuration existant pour votre apache. Souvent c'est/etc/httpd/conf/httpd.confModifiez les instructions suivantes pour pointer vers vos fichiers :# votre certificat serveur (A) SSLCertificateFile /etc/httpd/conf/cert-0000000000-1234.cer # votre clef privée (générée initialement) SSLCertificateKeyFile /etc/httpd/conf/www.virtualhost.com.key # configuration des Ciphers acceptables # 128-bit mini SSLRequiredCiphers DHE-RSA-AES256-SHA:AES256-SHA:DHE-RSA-AES128-SHA:AES128-SHA:IDEA-CBC-SHA:EDH-RSA-DES-CBC3-SHA:DES-CBC3-SHA # configuration des Ciphers interdits SSLBanCipher NULL-MD5 NULL-SHA # si vous utilisez une version égale ou supérieure à apache_1.3.29+ssl_1.53 # ajoutez la ligne SSLNoV2 (recommandé pour la sécurité) SSLNoV2Et si vous avez un fichier de chaine de certification (B), ajoutez:SSLCACertificateFile /etc/httpd/conf/chain-0000000000-1234.txt
3- Relancez Apache et testez
Une fois la configuration en place, relancez le serveur Apache.service httpd restart ou /etc/init.d/apache restartVérifiez le log (en cas d'erreur de syntaxe) et testez alors l'accès à votre site sécurisé avec IE 6 et Firefox.
N.B. : Si le certificat installé ne correspond pas à la clef privée, alors le serveur Apache ne pourra démarrer et même le service HTTP est alors en panne. Comment vérifier si le certificat correspond à la clef ?
Réglage fin du niveau de chiffrement
- Configurer Apache pour ne fonctionner qu'en 128-bit
- Configurer Apache pour un certificat serveur garanti 128-bit
Apache et le SNI (TLS Server Name Indication)
Cela consiste à installer plusieurs certificats SSL sur un même serveur utilisant un seul numéro IP. La quasi-totalité des navigateurs est compatible avec le SNI (consulter la liste).- Vérifier que le module SSL installé sur votre serveur Apache prend bien en charge le SNI (apache/mod_ssl)
- Dans la configuration SSL, interdire l’utilisation de la version 2 du protocole SSL : SSLProtocol all -SSLv2 -SSLv3
- Pour chaque VirtualHost indiquez la clef privée, le certificat et la chaine de certification à utiliser :
<NameVirtualHost *:443> <VirtualHost *:443> ServerName www.monsite.fr DocumentRoot /var/www/www.monsite.fr SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLCertificateFile chemin/certificat-xxxx.cer SSLCertificateKeyFile chemin/clefprivee-xxxw.key SSLCertificateChainFile chemin/chain-xxx.txt </Virtual Host> <VirtualHost *:443> ServerName www.mywebsite.com DocumentRoot /var/www/mywebsite.com SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLCertificateFile chemin/certificat-yyyy.cer SSLCertificateKeyFile chemin/clefprivee-yyyy.key SSLCertificateChainFile chemin/chain-yyyy.txt </Virtual Host> ...
Liens externes sur le SNI
- Est-il possible de mettre plusieurs certificats SSL sur la même machine ? TLS SNI ?
- Est-il possible d'utiliser l'hébergement virtuel basé sur le nom d'hôte pour différencier plusieurs hôtes virtuels ?
http://httpd.apache.org/docs/current/ssl/ssl_faq.html#vhosts2 - Apache + SNI : avoir plusieurs certificats SSL sur une même adresse IP
-
Remarque : Les serveur "IBM HTTP Server" (IHS) ne supportent pas le SNI.
Solution : commandez un certificat UCC (Multi-SANs) ou Wildcard.
Documentation externe
- Apache-SSL (ben-SSL): http://www.apache-ssl.org/
Documentation similaire :
- Installer un certificat pour Apache release 1 OVH (base RH 7.2)
- Apache sous Mac OS X
- ApacheSSL chez NEXEN
- Installer un certificat pour Apache release 2 OVH (base gentoo)
- Comment vérifier si le certificat correspond à la clef ?
Liens utiles
- Tout sur le 128 bits
- Générer un CSR pour Apache
- Comment vérifier si le certificat correspond bien à la clef privée ?
- Convertir un #PKCS12 (PFX) en PEM (Mircosoft, Firewall, ... vers Apache)
- Fabriquer un #PKCS12 (ou PFX) à partir de fichiers pour OpenSsl (PEM : .cer, .p7b, .key)
- Déplacer ou copier un certificat d'apache vers Tomcat
- Déplacer ou copier un certificat de tomcat vers Apache
- Déplacer ou copier un certificat de IIS (5/6 et 7) vers Apache
- Déplacer ou copier un certificat d'apache vers Microsoft IIS (5/6 et 7) / ISA
Vérifiez l'installation de votre certificat grâce à CO-PiBot :
Sur votre page statut du certificat, dans votre espace client chez TBS CERTIFICATS, Vous y trouverez un bouton "Vérifier votre certificat" pour tester la bonne installation de votre certificat.Dernière modification le 02/11/2018 11:05:16 --- [Chercher]