Sur Xanthe, serveur frontal de la chaîne AFPv2, c'est le serveur frontal pound qui écoute sur les ports 80 (HTTP) et 443 (HTTPS), sur plusieurs IPs :
176.31.138.112 : HTTP et HTTPS
176.31.138.113 : HTTP redirect vers HTTPS (IP dédiée à forum-am.fr)
176.31.138.115 : HTTP
176.31.138.121 : HTTP redirect vers HTTPS
176.31.138.122 : HTTP redirect vers HTTPS (IP dédiée à ampedia)
Se fier au DNS pour repérer sur quelle(s) IP(s) intervenir.
pound sait faire du SNI (plusieurs certificat par adresse IP) mais pas du SAN (plusieurs hostname fqdn attachés au certificat) : donc si besoin d'utiliser un certificat multiple SAN, il faut dédier une IP et créer les ports d'écoute sur pound |
Etape 1 : Connexion
Se connecter en root sur xanthe.gorgu.net
Etape 2 : Copier le certificat complet au format .pem
Il faut tout d'abord s'assurer d'avoir le certificat à ajouter au format .pem et au complet :
Pour plus d'information sur les fichiers .pem : http://how2ssl.com/articles/working_with_pem_files/
Ensuite copier le fichier .pem dans le répertoire de pound
Pound est chrooté, le répertoire est le suivant :
cp FILENAME.pem /var/chroot/pound/etc/ |
Etape 3 : cas 1 : Ajouter le certificat sur le port d'écoute HTTPS de l'IP
Editer le fichier de config de pound :
nano /etc/pound/pound.cfg |
Puis ajouter la directive "Cert" comme sur l'exemple suivant à la ligne 5 avec l'ajout du certificat "forum-am.fr.pem" pour le port HTTPS de l'IP 172.31.138.112 :
ListenHTTPS ## cerificate for *.gadz.org Address 176.31.138.112 Port 443 Cert "/var/chroot/pound/etc/forum-am.fr.pem" Cert "/var/chroot/pound/etc/gadz.org.pem" CAList "/var/chroot/pound/etc/RapidSSLCa.pem" AddHeader "X-Forwarded-Proto: https" AddHeader "X-Forwarded-Port: 443" xHTTP 1 DisableSSLv3 DisableSSLv2 End |
Si un site ne correspond à aucune entrée FQDN renseignée dans les informations des différents certificats, alors le trafic sera chiffré à l'aide du premier certificat de la liste (ce qui peut engendrer des erreurs de certificat côté client). |
Etape 3 : cas 2 : Ajouter une IP virtuelle / Créer un port d'écoute dédié / Ajouter le certificat sur le port d'écoute HTTPS de l'IP
Il faut dans ce cas :
1- Ajouter une IP virtuelle aux interfaces sur /etc/network/interfaces
2- Créer un port d'écoute (en se basant sur ceux déjà existants) sur /etc/pound/pound.cfg
3- Reproduire l'étape 3 cas 1 sur le nouveau port d'écoute de la nouvelle IP
Ne pas oublier de mettre à jour le SVN avec les modifications effectuées !! |
Etape 4 : Redémarrer le service pound
Effectuer un stop puis start du service, ou bien utiliser la cmd force-reload :
service pound force-reload |
Et vérifier le statut :
service pound status |