View
2
Download
0
Category
Preview:
Citation preview
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Premier retour sur Let’s Encrypt
Pierre-Yves Bonnetainpy.bonnetain@ba-consultants.fr
B&A Consultants – BP 70024 – 31330 Grenade-sur-Garonne
15 decembre 2015
1 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
B&A Consultants
Cabinet de conseil en securite informatique cree en 1996.
Conseils, suivi et assistance en securite informatique.
Audits de securite, de configurations, de code. . .
Tests d’intrusion, tests d’applications.
Reponse a incidents, analyses post-mortem.
Analyses de risques, gestion des risques sur l’information.
Ingenierie de la securite informatique, recherche de solutions.
Formations a la securite informatique.
Expertise judiciaire (civile ou penale) et expertises privees.
Animateur de ReSIST, groupe de travail regional de l’OSSIR(www.ossir.org/resist)
2 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Plan
1 Introduction
2 Utilisation de Let’s Encrypt
3 Conclusions
4 Des questions ?
3 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Principe
https://letsencrypt.org/
Favoriser l’adoption massive de TLS, notamment pour lesserveurs Web
en automatisant toutes les phases de gestion des certificats
y compris le deploiement sur le serveur Web et saconfiguration
et le renouvellement des certificats
En resume
TLS pour le serveur Fan de Twilight de mes nieces.
4 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Une breve histoire du temps
18 novembre 2014 : lancement
14 septembre 2015 : signature du premier certificat
15 octobre 2015 : version beta privee (sur invitation)
19 octobre 2015 : certificat racine Let’s Encrypt signe parIden Trust
3 decembre 2015 : version beta publique
en 2016 : mise en production ?
Les versions beta
Limitation du nombre de requetes par domaine (5/semaine), par IP(10/3 h), par compte (300/semaine)
5 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Fonctionnement classique
Note
Le fonctionnement decrit peut changer, notamment lors de la miseen production reelle.
AC comme les autres (gratuite)
Apporter une « preuve de propriete » du nom concerneTout le reste est (pratiquement) automatique :
Demande du certificatConfiguration du serveur Web (Apache, ngnix)Renouvellement
Revocation possible
Attention
Nous n’avons pas teste la configuration automatique du serveurWeb.
6 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Plan
1 Introduction
2 Utilisation de Let’s Encrypt
3 Conclusions
4 Des questions ?
7 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Automatic Certificate Management Environment
Protocole ACME :https://github.com/letsencrypt/acme-spec ethttps://github.com/ietf-wg-acme/acme/
Lors du premier echange avec serveurs ACME
envoi cle publique clientinformation d’identite (adresse electronique)
Deux principales etapes
Preuve de propriete du nom (Domain Validation)Gestion du certificat (soumission, renouvellement, revocation)
Message envoye par serveurs ACME un amois avant expirationcertificat
8 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
La preuve de propriete
Via un enregistrement specifique dans le DNS (theoriquement)
ou via une URL specifique
le « specifique » etant defini par le serveur ACME al’enrolement
le serveur LE va recuperer ce challenge signe par la cle priveedu client
et le valide (ou pas) avec la cle publique recue au prealable
9 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
La preuve de propriete
Via un enregistrement specifique dans le DNS (theoriquement)ou via une URL specifiquele « specifique » etant defini par le serveur ACME al’enrolementle serveur LE va recuperer ce challenge signe par la cle priveedu clientet le valide (ou pas) avec la cle publique recue au prealable
10 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Premier inconvenient
Validation par URL ⇒ acces a l’URL
Donc serveur doit etre accessible depuis Internet
Ennuyant pour systemes purement internes
Et pour serveurs non-HTTP
Peut demander quelques « adaptations » pour la phase depreuve de propriete
Validation via DNS
Posera le meme type de difficulte : exposition temporaire nom prive
Certificats publies
Certificats produits par LE sont publies(certificate-transparency.org et crt.sh). Quid des serveursprives ?
11 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Certificats produits
https://crt.sh/?Identity=<regExp SQL>&iCAID=7395
12 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Clients ACME
Client officiel en pythonhttps://github.com/letsencrypt/letsencrypt
Avec nombreuses dependances (au moins sous Gentoo)
Necessite d’etre root si installation automatique descertificats
Clients alternatifs (shell, C, etc.) en cours de developpement
Il y a (un peu) de choix de clients
Reste a valider les composants – surtout si execution root
Qualite de codage variable
13 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Client officiel
Tres peu de documentation. Option --help all, sinon lire lecode
Cle privee generee de 2048 bits (par defaut)
Verifie si existe deja certificat LE pour domaines demandes
Teste sans installation automatique du certificat (--manualcertonly)
Par defaut, repose sur serveur ACME de tests : Happy HackerFake CA
Serveur de productionhttps://acme-v01.api.letsencrypt.org
14 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Obtention d’un certificat
1 letsencrypt --config-dir ~/etc/letsencrypt/
2 --work-dir ~/lib/letsencrypt/
3 --logs-dir ~/tmp/letsencrypt/
4 --domains <liste>
5 --server https://acme-v01.api.letsencrypt.org
6 --manual certonly
config-dir : repertoire ou se trouvent les fichier importants
work-dir : repertoire de travail. Contient quoi ?
logs-dir : journalisation
domains : noms DNS, separes par virgules, sans espaces
server : utiliser le serveur de production
certonly : pas d’installation automatique
15 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Certificats multi-noms
Extension Subject Alt Name reconnue
Il suffit de donner plusieurs noms sur la ligne de commande
Chacun de ces noms doit etre valide
16 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Ca donne quoi ?
17 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Ca donne quoi ?
18 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Ca donne quoi ?
19 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Ca donne quoi ?
20 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Revocation d’un certificat
1 letsencrypt --config-dir ~/etc/letsencrypt/
2 --work-dir ~/lib/letsencrypt/
3 --logs-dir ~/tmp/letsencrypt/
4 --domains <nom>
5 --manual
6 --server https://acme-v01.api.letsencrypt.org
7 --cert-path <chemin>/letsencrypt/live/<nom>/cert.pem
8 revoke
--cert-path : chemin complet vers le certificat a revoquer
Attention
Fonctionnalite cliente qui semble avoir ete peu testee.
21 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Plan
1 Introduction
2 Utilisation de Let’s Encrypt
3 Conclusions
4 Des questions ?
22 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Client officiel
Lourd, pas sympathique, pas convivial
Manque cruel de documentation
Quand ca marche, rien a redire
Quand ca ne marche pas, comprendre l’erreur est difficilememe en utilisant les journaux (--log-dir)
D’un autre cote
C’est une version beta. On peut esperer des ameliorations dansl’avenir.
Donc
Pas encore pret pour un deploiement pour les masses.
23 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Encore du travail
Validation via DNS
OCSP (passage a l’echelle ?)
Clients ACME plus simples, plus cibles
Serveurs ACME internes, pour systemes prives
24 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
LetsEncrypt va-t-il tuer les AC classiques ?
Avenir sombre pour AC qui n’apporte pas de plus-value a laproduction de certificats
Pour les autres besoins. . .
Pas de certificats joker (*.mondomaine.amoi)Pas de certificats « Organization Validated » ou « ExtendedValidation »
A savoir
Pas d’obligation d’utiliser les serveurs de LE. Il suffit d’acceder aun serveur respectant le protocole ACME.
25 / 26
logo-BA
IntroductionUtilisation de Let’s Encrypt
ConclusionsDes questions ?
Plan
1 Introduction
2 Utilisation de Let’s Encrypt
3 Conclusions
4 Des questions ?
26 / 26
Recommended