1st Design of 2020 - Grab your balloons and follow along! - Q Corner Showtime LIVE! E39
Table des matières:
- Conditions préalables
- Installer Certbot
- Générer un groupe Strong Dh (Diffie-Hellman)
- Obtention d'un certificat SSL Let's Encrypt
- Renouvellement automatique du certificat SSL Let's Encrypt
- Conclusion
Let's Encrypt est une autorité de certification ouverte, automatisée et gratuite développée par Internet Security Research Group (ISRG) qui fournit des certificats SSL gratuits.
Les certificats émis par Let's Encrypt sont approuvés par tous les principaux navigateurs et valides pendant 90 jours à compter de la date d'émission.
Ce tutoriel explique comment installer un certificat SSL Let's Encrypt gratuit sur CentOS 8 exécutant Apache en tant que serveur Web. Nous utiliserons l'outil certbot pour obtenir et renouveler les certificats.
Conditions préalables
Assurez-vous que les conditions préalables suivantes sont remplies avant de continuer:
- Ayez un nom de domaine pointant vers l'IP de votre serveur public. Nous utiliserons
example.com.Apache est installé et fonctionne sur votre serveur avec un hôte virtuel configuré pour votre domaine.Les ports 80 et 443 sont ouverts dans votre pare-feu.
Installez les packages suivants qui sont requis pour un serveur Web crypté SSL:
sudo dnf install mod_ssl openssl
Lorsque le package mod_ssl est installé, il doit créer une clé auto-signée et des fichiers de certificat pour l'hôte local. Si les fichiers ne sont pas créés automatiquement, vous pouvez les créer à l'aide de la commande
openssl
:
sudo openssl req -newkey rsa:4096 -x509 -sha256 -days 3650 -nodes \
-out /etc/pki/tls/certs/localhost.crt \
-keyout /etc/pki/tls/private/localhost.key
Installer Certbot
Certbot est un outil de ligne de commande gratuit qui simplifie le processus d'obtention et de renouvellement des certificats SSL Let's Encrypt à partir de HTTPS et l'activation automatique sur votre serveur.
Le package certbot n'est pas inclus dans les référentiels CentOS 8 standard, mais il peut être téléchargé à partir du site Web du fournisseur.
Exécutez la commande
wget
suivante en tant qu'utilisateur root ou sudo pour télécharger le script certbot dans le
/usr/local/bin
:
sudo wget -P /usr/local/bin
Une fois le téléchargement terminé, rendez le fichier exécutable:
sudo chmod +x /usr/local/bin/certbot-auto
Générer un groupe Strong Dh (Diffie-Hellman)
L'échange de clés Diffie – Hellman (DH) est une méthode d'échange sécurisé de clés cryptographiques sur un canal de communication non sécurisé. Générez un nouvel ensemble de paramètres DH à 2048 bits pour renforcer la sécurité:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Vous pouvez modifier la taille jusqu'à 4096 bits, mais la génération peut prendre plus de 30 minutes selon l'entropie du système.
Obtention d'un certificat SSL Let's Encrypt
Pour obtenir un certificat SSL pour le domaine, nous allons utiliser le plugin Webroot qui fonctionne en créant un fichier temporaire pour valider le domaine demandé dans le
${webroot-path}/.well-known/acme-challenge
. Le serveur Let's Encrypt envoie des requêtes HTTP au fichier temporaire pour valider que le domaine demandé est résolu sur le serveur sur lequel s'exécute certbot.
Pour rendre la configuration plus simple, nous allons mapper toutes les demandes HTTP pour
.well-known/acme-challenge
à un seul répertoire,
/var/lib/letsencrypt
.
Exécutez les commandes suivantes pour créer le répertoire et le rendre accessible en écriture pour le serveur Apache.
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp apache /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt
Pour éviter la duplication de code et rendre la configuration plus facile à gérer, créez les deux extraits de configuration suivants:
/etc/httpd/conf.d/letsencrypt.conf
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM # Requires Apache 2.4.36 & OpenSSL 1.1.1 SSLProtocol -all +TLSv1.3 +TLSv1.2 SSLOpenSSLConfCmd Curves X25519:secp521r1:secp384r1:prime256v1 # Older versions # SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLHonorCipherOrder On Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" Header always set X-Frame-Options DENY Header always set X-Content-Type-Options nosniff # Requires Apache >= 2.4 SSLCompression off SSLUseStapling on SSLStaplingCache "shmcb:logs/stapling-cache(150000)" # Requires Apache >= 2.4.11 SSLSessionTickets Off SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem"
L'extrait ci-dessus utilise les déchiqueteuses recommandées par Cipherli.st. Il permet l'agrafage OCSP, la sécurité de transport stricte HTTP (HSTS), la clé Dh et applique peu d'en-têtes HTTP axés sur la sécurité.
Rechargez la configuration Apache pour que les modifications prennent effet:
sudo systemctl reload
Maintenant, vous pouvez exécuter le script certbot avec le plugin webroot et récupérer les fichiers de certificat SSL:
sudo /usr/local/bin/certbot-auto certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
En cas de succès, certbot imprimera le message suivant:
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2020-01-26. 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" - 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:
Maintenant que tout est installé, modifiez la configuration de l'hôte virtuel de votre domaine comme suit:
/etc/httpd/conf.d/example.com.conf
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration
La configuration ci-dessus force HTTPS et redirige la version www vers la version non www. Il active également HTTP / 2, ce qui rendra vos sites plus rapides et plus robustes. N'hésitez pas à ajuster la configuration selon vos besoins.
Redémarrez le service Apache:
sudo systemctl restart
Vous pouvez maintenant ouvrir votre site Web en utilisant
https://
, et vous remarquerez une icône de verrouillage verte.

Renouvellement automatique du certificat SSL Let's Encrypt
Les certificats de Let's Encrypt sont valables 90 jours. Pour renouveler automatiquement les certificats avant leur expiration, nous créerons un cronjob qui s'exécutera deux fois par jour et renouvellera automatiquement tout certificat 30 jours avant son expiration.
Exécutez la commande suivante pour créer un nouveau cronjob qui renouvellera le certificat et redémarrera Apache:
echo "0 0, 12 * * * root python3 -c 'import random; import time; time.sleep(random.random() * 3600)' && /usr/local/bin/certbot-auto -q renew --renew-hook \"systemctl reload httpd\"" | sudo tee -a /etc/crontab > /dev/null
Pour tester le processus de renouvellement, utilisez la commande certbot suivie du
--dry-run
:
sudo /usr/local/bin/certbot-auto renew --dry-run
S'il n'y a pas d'erreur, cela signifie que le processus de renouvellement a réussi.
Conclusion
Dans ce didacticiel, nous avons expliqué comment utiliser le certbot client Let's Encrypt sur CentOS pour obtenir des certificats SSL pour vos domaines. Vous avez également montré comment configurer Apache pour utiliser les certificats et configurer un cronjob pour le renouvellement automatique des certificats.
Pour en savoir plus sur le script Certbot, consultez la documentation Certbot.
apache centos chiffrons certbot sslUn concurrent cool et à petit prix est prévu pour le lancement d'AT & T à l'automne. Palm augmente son jeu avec un nouveau téléphone à bas prix annoncé pour lancer cet automne sur AT & T. Le Palm Eos (ou Pixie / Castle) est considéré comme un autre rival de l'iPhone avec un prix plus petit, avec une silhouette de taille 0 dans un format candy-bar avec un clavier QWERTY sans glissement.
Spécifications préliminaires fuites par le point Engadget que Eos coûtera 99 $ (après une remise de 250 $) et viendra avec 4 Go de stockage à bord (Pre viendra avec 8 Go), un appareil photo de 2 mégapixels avec flash et capture vidéo (3 mégapixels sur le pré), A- GPS et WebOS de Palm (qui fera ses débuts sur le Palm Pre longtemps attendu).
Nginx sécurisé avec Let's Encrypt sur Debian 9
Dans ce tutoriel, nous expliquerons comment utiliser l'outil Certbot pour obtenir un certificat SSL gratuit pour Nginx sur Debian 9. Nous montrerons également comment configurer Nginx pour utiliser le certificat SSL et activer HTTP / 2.
Nginx sécurisé avec Let's Encrypt sur Ubuntu 18.04
Let's Encrypt est une autorité de certification ouverte et gratuite développée par Internet Security Research Group. Dans ce tutoriel, nous fournirons des instructions étape par étape sur la façon de sécuriser votre Nginx avec Let's Encrypt à l'aide de l'outil certbot sur Ubuntu 18.04







