Procédure pour ajouter un certificat SSL sur pound (frontal de la chaîne AFPv2) sur la VM xanthe.gorgu.net
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.
Info | ||
---|---|---|
| ||
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 :
- Contenu de la clé privée
- (falcutatif) Contenu de la / ou des clé(s) intermédiaire
- Contenu de la clé public (le certificat délivré ou autosigné)
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 :
Bloc de code | ||
---|---|---|
| ||
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 :
Bloc de code | ||
---|---|---|
| ||
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 :
Bloc de code | ||||||
---|---|---|---|---|---|---|
| ||||||
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 |
Info | ||
---|---|---|
| ||
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
Info |
---|
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 :
Bloc de code | ||
---|---|---|
| ||
service pound force-reload |
Et vérifier le statut :
Bloc de code | ||
---|---|---|
| ||
service pound status |