Installation d'un certificat SSL gratuit sur la pile LEMP avec Let’s Encrypt



Essayez Notre Instrument Pour Éliminer Les Problèmes

Let’s Encrypt est un projet collaboratif Linux Foundation, une autorité de certification ouverte, fourni par Internet Security Research Group. Gratuit pour quiconque possède un nom de domaine d'utiliser Let's Encrypt pour obtenir un certificat de confiance. La possibilité d'automatiser le processus de renouvellement, ainsi que de travailler pour le rendre plus facile à installer et à configurer. Aidez à sécuriser les sites et faites progresser les pratiques de sécurité TLS. Maintenez la transparence, avec tous les certificats accessibles au public pour inspection. Permettez à d'autres d'utiliser leurs protocoles d'émission et de renouvellement comme une norme ouverte.



Essentiellement, Let’s Encrypt tente de faire en sorte que la sécurité ne repose pas sur des cerceaux ridicules créés par de grandes organisations à but lucratif. (On pourrait dire que je crois en l’open source, et c’est au mieux de l’open source).



Il y a deux options: télécharger le package et l'installer à partir de référentiels, ou installer le wrapper certbot-auto (anciennement letsencrypt-auto) à partir de letsencrypt directement.



Pour télécharger à partir des référentiels

sudo apt-get install letsencrypt -y

Une fois l'installation terminée, il est temps d'obtenir votre certificat! Nous utilisons la méthode certonly autonome, générant une instance d'un serveur juste pour acquérir votre certificat.



sudo letsencrypt certonly –standalone –d exemple.com -d sous-domaine.example.com -d autres sous-domaine.example.com

ssl1

Entrez votre e-mail et acceptez les conditions d'utilisation. Vous devriez maintenant avoir un certificat valable pour chacun des domaines et sous-domaines que vous avez entrés. Chaque domaine et sous-domaine est contesté, donc si vous ne disposez pas d'un enregistrement DNS pointant vers votre serveur, la demande échouera.

Si vous souhaitez tester le processus, avant d'obtenir votre certificat réel, vous pouvez ajouter –test-cert comme argument après certonly. Remarque: –test-cert installe un certificat non valide. Vous pouvez le faire un nombre illimité de fois, mais si vous utilisez des certificats en direct, il y a une limite de taux.

ssl2

Les domaines génériques ne sont pas pris en charge et il ne semble pas qu'ils le seront. La raison invoquée est que puisque le processus de certificat est gratuit, vous pouvez en demander autant que vous en avez besoin. En outre, vous pouvez avoir plusieurs domaines et sous-domaines sur le même certificat.

Passage à la configuration de NGINX pour utiliser notre certificat nouvellement acquis! Pour le chemin d'accès au certificat, j'utilise le chemin réel, plutôt qu'une expression régulière.

Nous avons SSL, autant rediriger tout notre trafic vers celui-ci. C'est exactement ce que fait la première section serveur. Je l'ai configuré pour rediriger tout le trafic, y compris les sous-domaines, vers le domaine principal.

2016-05-16_122009

Si vous utilisez Chrome et que vous ne désactivez pas les chiffrements SSL listés ci-dessus, vous obtiendrez err_spdy_inadéquate_transport_security. Vous devez également modifier le fichier de configuration nginx pour qu'il ressemble à ceci pour contourner une faille de sécurité dans gzip

16/05/2016_122647

ssl3

Si vous constatez que vous obtenez quelque chose comme l'accès refusé, vous devez vérifier que le nom_serveur (et la racine) est correct. J'ai juste fini de me cogner la tête contre le mur jusqu'à ce que je m'évanouisse. Heureusement, dans mes cauchemars de serveur, la réponse est venue: vous avez oublié de définir votre répertoire racine! Sanglante et matraquée, j'ai mis la racine et ça y est, mon joli index.

Si vous souhaitez configurer des sous-domaines distincts, vous pouvez utiliser

2016-05-16_122342

Vous serez invité à créer un mot de passe pour le nom d'utilisateur (deux fois).

redémarrage du service sudo nginx

Vous pourrez désormais accéder à votre site de n'importe où avec un nom d'utilisateur et un mot de passe, ou localement sans. Si vous souhaitez toujours avoir un défi de mot de passe, supprimez le allow 10.0.0.0/24; # Changez pour votre ligne de réseau local.

Faites attention à l'espacement pour auth_basic, s'il n'est pas correct, vous obtiendrez une erreur.

Si vous avez un mot de passe erroné, vous êtes frappé avec un 403

ssl4

Un dernier élément que nous devons faire, configurer le renouvellement automatique des certificats SSL.

Pour cela, un simple travail cron est le bon outil pour le travail, nous allons le mettre en tant qu'utilisateur root pour éviter les erreurs d'autorisation

(sudo crontab -l 2> / dev / null; echo «0 0 1 * * letsencrypt renouveler») | sudo crontab -

La raison d'utiliser / dev / null est de vous assurer que vous pouvez écrire dans la crontab, même s'il n'en existait pas auparavant.

3 minutes de lecture