informatique:securite:letsencrypt

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
informatique:securite:letsencrypt [2019/02/04 18:12] – créée bn8informatique:securite:letsencrypt [2019/02/04 18:37] (Version actuelle) – [Génération initial du certificat] bn8
Ligne 5: Ligne 5:
 <code bash>apt install certbot</code> <code bash>apt install certbot</code>
  
 +<note tip>Sur de vieux système ou des systèmes ne proposant pas de paquet pour //certbot// (voir méthodes de déploiement officielles [[https://certbot.eff.org/|ici]]), vous pouvez utiliser la version //auto// : <code bash>wget -O /usr/local/sbin/certbot-auto https://dl.eff.org/certbot-auto
 +chmod 755 /usr/local/sbin/certbot-auto</code>
 +Il s'agit d'une version qui gère sa auto-mise à jour automatique à chaque exécution.
 +
 +Pour les systèmes incompatibles, il est également possible d'utiliser l'agent [[https://acme.sh|acme.sh]].</note>
 ===== Pré-configuration d'Apache ===== ===== Pré-configuration d'Apache =====
  
Ligne 10: Ligne 15:
   * Mettre en place un fichier //index.html// témoins : <code bash>echo "No site here" > /var/www/well-known/public_html/.well-known/acme-challenge/index.html</code>   * Mettre en place un fichier //index.html// témoins : <code bash>echo "No site here" > /var/www/well-known/public_html/.well-known/acme-challenge/index.html</code>
   * Mettre en place un //alias// dans la configuration //Apache// pour ce dossier : <code bash>echo "Alias /.well-known/acme-challenge/ /var/www/well-known/public_html/.well-known/acme-challenge/" > /etc/apache2/conf-available/well-known.conf   * Mettre en place un //alias// dans la configuration //Apache// pour ce dossier : <code bash>echo "Alias /.well-known/acme-challenge/ /var/www/well-known/public_html/.well-known/acme-challenge/" > /etc/apache2/conf-available/well-known.conf
-e2enconf well-known</code>+a2enconf well-known</code>
   * Dans le //VirtualHost HTTP// du site sur lequel, si une redirection //HTTP// vers //HTTPS// est place, il faut l'adapter pour laisser passer les requêtes des challenges ACME, par exemple : <code apache>RewriteEngine on   * Dans le //VirtualHost HTTP// du site sur lequel, si une redirection //HTTP// vers //HTTPS// est place, il faut l'adapter pour laisser passer les requêtes des challenges ACME, par exemple : <code apache>RewriteEngine on
 RewriteCond %{REQUEST_URI} !(^/\.well-known/.*$) RewriteCond %{REQUEST_URI} !(^/\.well-known/.*$)
 RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [R=301]</code> RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [R=301]</code>
  
-<note tip>Si ce n'est pas fait, penser à activer le module //rewrite// : <code bash>a2enmod rewrite</code></note>+<note tip>Si ce n'est pas fait, penser à activer le module //rewrite// pour que cela fonctionne : <code bash>a2enmod rewrite 
 +service apache2 force-reload</code></note
 +  * Recharger la configuration d'Apache : <code bash>service apache2 reload</code>
  
 ===== Test avant d'aller plus loin ===== ===== Test avant d'aller plus loin =====
Ligne 23: Ligne 30:
 ===== Génération initial du certificat ===== ===== Génération initial du certificat =====
  
-Générez le certificat à l'aide de la commande suivante : <code>certbot certonly --non-interactive --agree-tos --webroot --webroot-path /var/www/well-known/public_html --email dns@example.com -d ${FQDN} -d ${AUTRE_FQDN} -d ${AUTRE_FQDN_SI_BESOIN} --renew-hook "/usr/sbin/service apache2 restart"</code>+Générez le certificat à l'aide de la commande suivante : <code bash>certbot certonly --non-interactive --agree-tos --webroot --webroot-path /var/www/well-known/public_html --email dns@example.com -d ${FQDN} -d ${AUTRE_FQDN} -d ${AUTRE_FQDN_SI_BESOIN} --renew-hook "/usr/sbin/service apache2 restart"</code>
  
 <note tip>Le nom du certificat est normalement le premier //FQDN// listé, mais au besoin il peut être spécifié explicitement à l'aide du paramètre ''%%--cert-name%%''.</note> <note tip>Le nom du certificat est normalement le premier //FQDN// listé, mais au besoin il peut être spécifié explicitement à l'aide du paramètre ''%%--cert-name%%''.</note>
 +
 +Le certificat a normalement été généré et déposé dans le dossier ''/etc/letsencrypt''. Pour l'utiliser, le plus simple est de pointer vers les liens symboliques maintenues par //certbot// lors de chaque mise à jour :
 +
 +  * **/etc/letsencrypt/live/[cert name]/privkey.pem :** la clé privée
 +  * **/etc/letsencrypt/live/[cert name]/cert.pem :** le certificat
 +  * **/etc/letsencrypt/live/[cert name]/chain.pem :** la chaîne de certification
 +  * **/etc/letsencrypt/live/[cert name]/fullchain.pem :** le certificat et sa chaîne de certification (ordre : //"de la feuille vers tronc"//)
 +
 +===== Utilisation du certificat dans Apache =====
 +
 +  * Dans votre //VirtualHost SSL//, ajouté les lignes suivantes : <code apache>
 +SSLEngine               On
 +SSLCertificateFile      /etc/letsencrypt/live/[cert name]/cert.pem
 +SSLCertificateKeyFile   /etc/letsencrypt/live/[cert name]/privkey.pem
 +SSLCACertificateFile    /etc/letsencrypt/live/[cert name]/chain.pem</code>
  • informatique/securite/letsencrypt.1549303937.txt.gz
  • Dernière modification : 2019/02/04 18:12
  • de bn8