Mardi 6 août 2019

Cher Journal,

Comme promis bien longtemps auparavant, dans la première entrée de journal pour être précis, le site est désormais disponible en HTTPS, via Let's Encrypt. Comme dirait l'autre, mieux vaut tard que jamais.

Les quelques instructions suivantes sont tirées de la page de Let's Encrypt dédiée à Debian Testing, et probablement représentative du déploiement du chiffrement des flux HTTP d'un serveur Apache via le Certbot, pour Debian Sid. Voici à quoi a ressemblé le déploiement :

  1. Avant toute choses, une sauvegarde s'impose, notamment du répertoire /etc/apache2/, qui subiras quelques modifications pour activer le chiffrement :
    $ sudo rsync -aSH /etc/apache2/ /etc/apache2.old/
    
  2. Ensuite, le système doit préferablement être à jour avant la manipulation :
    $ sudo apt update
    $ sudo apt upgrade
    
  3. À partir de ce point, le Certbot, le système de certification automatique, peut être installé, ainsi que le greffon qui va bien pour permettre la configuration automatique du serveur Apache :
    $ sudo apt install certbot python-certbot-apache
    
  4. Si ce n'est déjà fait, le NAT peut être configuré pour rediriger le port 443 de la box vers la machine hébergeant le serveur web. Cette manipulation dépend du modèle de routeur en bordure du réseau de la maison.
  5. Pour lancer la configuration automatique du Certbot sur le serveur Apache, la commande suivante va lancer une session interactive de questions et réponses, dont voici le détail :
    $ sudo certbot --apache
    
    La première question concerne le courriel :
    Saving debug log to /var/log/letsencrypt/letsencrypt.log
    Plugins selected: Authenticator apache, Installer apache
    Enter email address (used for urgent renewal and security notices) (Enter 'c' to
    cancel): etienne.mollier@mailoo.org
    
    Ensuite les conditions d'utilisation doivent être lues, puis éventuellement acceptées :
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Please read the Terms of Service at
    https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
    agree in order to register with the ACME server at
    https://acme-v02.api.letsencrypt.org/directory
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    (A)gree/(C)ancel: a
    
    À retenir, dès que le domaine n'est plus en cours d'utilisation, les conditions stipulent explicitement que le certificat doit être révoqué immédiatement ; cette opération est décrite dans le manuel de certbot(1). Ensuite une question à propos du courriel d'information, ou Spam, tout dépend de la perception, est posée :
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Would you be willing to share your email address with the Electronic Frontier
    Foundation, a founding partner of the Let's Encrypt project and the non-profit
    organization that develops Certbot? We'd like to send you email about our work
    encrypting the web, EFF news, campaigns, and ways to support digital freedom.
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    (Y)es/(N)o: y
    
    Seulement à partir de ce point, la configuration du serveur web commence. D'abord le nom de la machine doit être fourni, si aucune identification préalable par le Certbot n'a été possible :
    No names were found in your configuration files. Please enter in your domain
    name(s) (comma and/or space separated)  (Enter 'c' to cancel): emlwks999.hd.free.fr
    
    Et puis les opérations déroulent :
    Obtaining a new certificate
    Performing the following challenges:
    http-01 challenge for emlwks999.hd.free.fr
    Enabled Apache rewrite module
    Waiting for verification...
    Cleaning up challenges
    Created an SSL vhost at /etc/apache2/sites-available/000-default-le-ssl.conf
    Enabled Apache socache_shmcb module
    Enabled Apache ssl module
    Deploying Certificate to VirtualHost /etc/apache2/sites-available/000-default-le-ssl.conf
    Enabling available site: /etc/apache2/sites-available/000-default-le-ssl.conf
    
    Une dernière question concerne la redirection automatique du site depuis HTTP vers HTTPS, attention à ce que le NAT soit correctement configuré au préalable avant d'activer les redirections, sinon le site devient indisponible :
    Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    1: No redirect - Make no further changes to the webserver configuration.
    2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
    new sites, or if you're confident your site works on HTTPS. You can undo this
    change by editing your web server's configuration.
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
    
    C'est fini, le site web est déployé en HTTPS, un message amical indique la fin de la procédure avant de rendre la main :
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Congratulations! You have successfully enabled https://emlwks999.hd.free.fr
    
    You should test your configuration at:
    https://www.ssllabs.com/ssltest/analyze.html?d=emlwks999.hd.free.fr
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    
    IMPORTANT NOTES:
     - Congratulations! Your certificate and chain have been saved at:
       /etc/letsencrypt/live/emlwks999.hd.free.fr/fullchain.pem
       Your key file has been saved at:
       /etc/letsencrypt/live/emlwks999.hd.free.fr/privkey.pem
       Your cert will expire on 2019-11-04. To obtain a new or tweaked
       version of this certificate in the future, simply run certbot again
       with the "certonly" option. To non-interactively renew *all* of
       your certificates, run "certbot renew"
     - Your account credentials have been saved in your Certbot
       configuration directory at /etc/letsencrypt. You should make a
       secure backup of this folder now. This configuration directory will
       also contain certificates and private keys obtained by Certbot so
       making regular backups of this folder is ideal.
     - 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
    
  6. Une dernière étape importante reste, à savoir procéder à la sauvegarde suggérée du répertoire /etc/letsencrypt/, si possible une sauvegarde chiffrée, et vérifiez que le contenu de la sauvegarde est cohérent avec le contenu du répertoire de configuration.

La lecture du manuel est recommandée, pour savoir comment procéder aux diverses opérations de maintenance du certificat. Normalement, le délai d'expiration très court du certificat est contrebalancé par le renouvellement automatique mis en place dans le timer Systemd certbot.timer, ou bien dans /etc/cron.d/certbot si un autre système d'initialisation est installé. Les tentatives de renouvellement sont effectuées toutes les douze heures.

[ICO]NameLast modifiedSize
[PARENTDIR]Parent Directory  -

  —