Admin/Dev

11
Déc.
2018

Erreur Certbot : The client lacks sufficient authorization :: Invalid response from ...

Publié par sky

Ce matin, en faisant le tour des serveurs dont je m'occupe, j'ai eu la désagréable surprise de voir qu'il s'était produit une erreur lors du renouvellement du certification d'un domaine via Certbot, l'outil de Let's Encrypt.

Processing /etc/letsencrypt/renewal/www.mon-domaine.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert is due for renewal, auto-renewing...
Plugins selected: Authenticator apache, Installer apache
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for www.mon-domaine.com
Waiting for verification...
Cleaning up challenges
Attempting to renew cert (www.mon-domaine.com) from /etc/letsencrypt/renewal/www.mon-domaine.com.conf produced an unexpected error: Failed authorization procedure. www.mon-domaine.com (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://www.mon-domaine.com/.well-known/acme-challenge/uSHJ4BACdYeBvb4WYX79gwSUt6nxpcPdtq8wFmneRMs: "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">n<html><head>n<title>404 Not Found</title>n</head><body>n<h1>Not Found</h1>n<p". Skipping.

Outch !

Pensant qu'il s'agissait d'une erreur due à la version de Certbot-auto, comme nous avions pu le voir en début d'année, je me lance un renouvellement du certificat du domaine en question, en laissant Certbot se mettre à jour.

certbot-auto certonly -d www.mon-domaine.com

La réponse est immédiate, avec en première partie, la mise à jour de certbot-auto, telle qu'espérée.

Requesting to rerun ./certbot-auto with root privileges...
Upgrading certbot-auto 0.28.0 to 0.29.1...
Replacing certbot-auto...
Creating virtual environment...
Installing Python packages...
Installation succeeded.

La seconde partie de la réponse fut beaucoup moins agréable.

Saving debug log to /var/log/letsencrypt/letsencrypt.log

How would you like to authenticate with the ACME CA?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: Apache Web Server plugin (apache)
2: Spin up a temporary webserver (standalone)
3: Place files in webroot directory (webroot)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-3] then [enter] (press 'c' to cancel): 1
Plugins selected: Authenticator apache, Installer None
Cert is due for renewal, auto-renewing...
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for www.mon-domaine.com
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. www.mon-domaine.com (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://www.mon-domaine.com/.well-known/acme-challenge/ocEHzSXxQZhSx083o01XUsHKSfGGDTC1k-DamEalszk: "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">n<html><head>n<title>404 Not Found</title>n</head><body>n<h1>Not Found</h1>n<p"

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: www.mon-domaine.com
   Type:   unauthorized
   Detail: Invalid response from
   http://www.mon-domaine.com/.well-known/acme-challenge/ocEHzSXxQZhSx083o01XUsHKSfGGDTC1k-DamEalszk:
   "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML
   2.0//EN">n<html><head>n<title>404 Not
   Found</title>n</head><body>n<h1>Not Found</h1>n<p"

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A/AAAA record(s) for that domain
   contain(s) the right IP address.

Et boom, re-fail ! Le certificat ne se met toujours pas à jour, malgré la nouvelle version de certbot-auto. Il y a toujours un soucis d'authentification.

Même si certbot créer ses propres règles pour accéder au dossier, je tente de re-créer le chemin .well-known/acme-challenge et d'y placer un fichier de test afin de voir si les droits peuvent poser soucis ou si par hasard, aucune règle de réécriture de mon fichier .htaccess ne bloque l'accès aux fichiers créés à cet endroit.

Via son URL, le fichier répond bien, et je n'ai pas l'erreur 404 qu'obtient Let's Encrypt lors de son accès.

Après quelques vérifications, et quelques essais, j'ai tout de même pu renouveler le certificat. Pour cela, je suis passé par une autre méthode d'authentification. En effet, au lieu d'utiliser la méthode "Apache Web Server plugin", j'ai utilisé la méthode "Place files in webroot directory".

certbot-auto certonly -d www.mon-domaine.com     
Saving debug log to /var/log/letsencrypt/letsencrypt.log

How would you like to authenticate with the ACME CA?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: Apache Web Server plugin (apache)
2: Spin up a temporary webserver (standalone)
3: Place files in webroot directory (webroot)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-3] then [enter] (press 'c' to cancel): 3
Plugins selected: Authenticator webroot, Installer None
Cert is due for renewal, auto-renewing...
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for www.mon-domaine.com
Input the webroot for www.mon-domaine.com: (Enter 'c' to cancel):
/www/com.mon-domaine.www
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/www.mon-domaine.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/www.mon-domaine.com/privkey.pem
   Your cert will expire on 2019-03-11. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again. To non-interactively renew *all* of your certificates, run
   "certbot-auto renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Et hop ! Cela a bien fonctionné. Je peux d'ailleurs le vérifier avec la commande dédiée

certbot-auto certificates -d www.mon-domaine.com 
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following matching certs:

Certificate Name: www.mon-domaine.com
    Domains: www.mon-domaine.com
    Expiry Date: 2019-03-11 08:59:40+00:00 (VALID: 89 days)
    Certificate Path: /etc/letsencrypt/live/www.mon-domaine.com/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/www.mon-domaine.com/privkey.pem

Le certificat est bien reparti pour 90 jours.

Si le problème a bien été corrigé ici, il ne l'a été que pour un domaine, et encore, temporairement. Cette méthode n'est pas viable pour le renouvellement automatique des domaines, car il faut indiquer le dossier racine de chaque site.

Pour trouver comment corriger définitivement le soucis, je tente de faire un renouvellement forcé, toujours du même domaine, mais en repassant par la méthode "Apache Web Server plugin".

certbot-auto certonly --force-renew -d www.mon-domaine.com

Nouvelle surprise, le renouvellement passe sans encombre, comme si rien ne c'était passé. Après vérification, le domaine a bien été renouvellé.

Certificate Name: www.mon-domaine.com
    Domains: www.mon-domaine.com
    Expiry Date: 2019-03-11 09:58:27+00:00 (VALID: 89 days)
    Certificate Path: /etc/letsencrypt/live/www.mon-domaine.com/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/www.mon-domaine.com/privkey.pem
   

La date d'expiration du certificat a bien été décalée d'une heure, confirmant le renouvellement.

La question est désormais, est ce l'utilisation de la méthode 3 ou y a t il un autre facteur qui aurait débloqué le renouvellement du domaine. Est ce que le domaine se renouvellera bien automatiquement lorsque cela sera nécessaire ? Réponse dans 60 jours.

 
Sommaire de la série
 
 
Commentaires
Aucun commentaire pour le moment.

 

Poster un commentaire
En postant sur skymac.org, je m'engage à être courtois et à ce que mon message soit pertinent avec le sujet de l'article.
En outre, j'accepte, sans condition, que mon message soit refusé et supprimé si ces règles ne sont pas appliquées.
Les cookies assurent le bon fonctionnement de nos services. En continuant, vous acceptez leur utilisation sur notre site internet.
Accepter