Configurer l’OCSP Stapling sur NGINX (+ Let’s Encrypt)

1/52/53/54/55/5 (1 votes, moyenne: 1,00 sur 5)
Loading...
C

Attention, cet article a plus d'une année d'ancienneté. Il est possible que les informations présentées ne soient plus à jour, spécialement dans le cadre d'un article technique.


Bonjour à tous,

Aujourd’hui, on va voir comment configurer l’OCSP Stapling sur NGINX. On utilisera les certificats de Let’s Encrypt pour l’exemple pour que ça s’applique au plus de monde possible.

 

L’OCSP Stapling :

OCSP est un protocole Internet permettant de vérifier la validité d’un certificat numérique TLS en temps réel auprès de l’autorité ayant émis le certificat.

L’agrafage OCSP (en anglais : OCSP Stapling), dont le nom technique est Extension de requête d’état de certificat TLS (TLS Certificate Status Request Extension), est une approche alternative au protocole OCSP permettant de vérifier l’état de révocation d’un certificat numérique X.509.

Il permet au possesseur d’un certificat de supporter le coût de vérification de ce dernier en fournissant une réponse OCSP horodatée et signée par l’Autorité de certification (CA), attachée (agrafée) à l’échange initial TLS, permettant d’économiser au client TLS la vérification auprès de la CA.

Source

 

Mise en place de l’OCSP Stapling sur NGINX :

Dans un premier temps, on va télécharger tous les certificats que Let’s Encrypt utilise pour signer les certificats qu’il délivre.

Let’s Encrypt utilise uniquement Let’s Encrypt Authority X3 pour signer les certificats et garde Let’s Encrypt Authority X4 en cas de problèmes. X1 et X2 ne sont plus utilisés.

J’intègre donc X3 et X4 dans mon fichier pour l’avenir, mais vous pouvez simplement télécharger X3.

On va concaténer tout ça dans un beau petit fichier pour l’ocsp stapling :

cd /etc/ssl/private
rm -f ocsp-certs.pem && wget -O- https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem https://letsencrypt.org/certs/lets-encrypt-x4-cross-signed.pem | tee -a ocsp-certs.pem > /dev/null

 

Maintenant, ouvrez votre fichier de configuration principal de NGINX :

nano /etc/nginx/nginx.conf

 

Et ajoutez ceci :

##OCSP settings
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/ssl/private/ocsp-certs.pem;
resolver 8.8.4.4 8.8.8.8 valid=300s;
resolver_timeout 5s;

 

Vous pouvez aussi télécharger une configuration complète sur mon GitHub : https://github.com/stylersnico/nginx-secure-config

 

Redémarrez NGINX :

service nginx restart

 

Et testez le bon fonctionnement de l’OCSP Stapling avec la commande suivante :

echo QUIT | openssl s_client -connect www.domain.com:443 -status 2> /dev/null | grep -A 17 'OCSP response:' | grep -B 17 'Next Update'

 

Le résultat chez moi :

echo QUIT | openssl s_client -connect www.abyssproject.net:443 -status 2> /dev/null | grep -A 17 'OCSP response:' | grep -B 17 'Next Update'
OCSP response:
======================================
OCSP Response Data:
OCSP Response Status: successful (0x0)
Response Type: Basic OCSP Response
Version: 1 (0x0)
Responder Id: C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
Produced At: Aug 23 06:13:00 2016 GMT
Responses:
Certificate ID:
Hash Algorithm: sha1
Issuer Name Hash: 7EE66AE7729AB3FCF8A220646C16A12D6071085D
Issuer Key Hash: A84A6A63047DDDBAE6D139B7A64565EFF3A8ECA1
Serial Number: 031F703B6641D1B38D7EBD215B9774E737E1
Cert Status: good
This Update: Aug 23 06:00:00 2016 GMT
Next Update: Aug 30 06:00:00 2016 GMT

 

Et sur SSLLabs 🙂

ocsp_stapling

 

 

 

A propos de l'auteur

Nicolas Simond

Ingénieur Systèmes et Réseaux et guitariste hard rock et metal à mes heures perdues.
Je suis le créateur et l'unique rédacteur d'Abyss Project, c'est ici que je note la plupart de mes procédures et quelques divagations.

Si vous l'article vous a aidé, pensez à me payer un café :)

Subscribe
Notify of
guest

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

4 Commentaires
Plus récents
Plus anciens Populaires
Inline Feedbacks
View all comments
boubou
7 années plus tôt

Problème, réglé , mon serveur était en dhcp !!!!! , je l’ai passé en ip static et c’est ok …

boubou
7 années plus tôt

Salut et merci pour l’article, cependant je rencontre un probleme, lorsque je redémarre mon serveur (nextcloud) , OCSP Stapling ne fonctionne pas ,, il faut que je face un service nginx reload ou restart , pour que ça fonctionne , Une idée a me proposé ?
merci

genma
7 années plus tôt

Merci pour ce tuto. Petite question : les DNS de Google dans le fichier de nginx.conf, c’est par comodité ? On peut mettre son propre DNS?