Pour ce tuto : http://mondedie.fr/d/7414/1
[Discussion] Certificat SSL signé et gratuit avec Let's Encrypt
Merci pour la rapidité 

On ne peut pas mettre n'importe quoi il me semble. Il est indiquer dans le mail les domaines possibles.Jedediah wrote:• Les domaines pour lesquels vous souhaitez générer le certificat (en général www.votresite.fr et votresite.fr
Sinon merci

- Modifié
Merci pour le tuto,
J'ai pas du tous suivis l'affaire, mais y'a t'il une date de sortie de prévu ?
J'ai pas du tous suivis l'affaire, mais y'a t'il une date de sortie de prévu ?
Je cite le tuto :Arthur_ wrote:On ne peut pas mettre n'importe quoi il me semble. Il est indiquer dans le mail les domaines possibles.Jedediah wrote:• Les domaines pour lesquels vous souhaitez générer le certificat (en général www.votresite.fr et votresite.fr
Sinon merci
Attention : Let's Encrypt est pour le moment en phase de beta fermée. Il faut au préalable s'inscrire à cette beta avant de voir son nom de domaine white-listé pour la génération de certificat.
Si m'es souvenir sont bon lors de "l'inscription" a la beta tu rentre juste ton nom de domaine. ex : domaine.fr
Dans le mail qu'il t'envoie il est écrit : "your whitelisted domaines are: www.domaine.fr / domaine.fr"
Donc pour moi tu n'a pas le choix. Tu ne peut donc pas faire webmail.domaine.fr
Dans le mail qu'il t'envoie il est écrit : "your whitelisted domaines are: www.domaine.fr / domaine.fr"
Donc pour moi tu n'a pas le choix. Tu ne peut donc pas faire webmail.domaine.fr
Oui c'est exactement ce que je veux dire par la phrase extraite du tuto.
Hello a la sortie de la version stable/finale de Let's Encrypt on aura le droit de demander un certificat wildcard genre : *.domaine.tld
Ou il faudra un certificat différent pour chaque sous domaine ?
Ou il faudra un certificat différent pour chaque sous domaine ?
- Modifié
En tout cas vivement ça sortie officielle qu'on puisse tous en profiter 

Il n'y a pas de wilcard de prévu pour l'instant et je crois que c'est pas au programme donc génération de certif pour chaque sous domaine.Oxynux wrote:Hello a la sortie de la version stable/finale de Let's Encrypt on aura le droit de demander un certificat wildcard genre : *.domaine.tld
Ou il faudra un certificat différent pour chaque sous domaine ?
Ex.
Pas forcément, il est prévu que les certificats soient valables pour du multi-domaines, ce qui reste intéressant.
Hello,
Je me suis inscris sur vos bons conseils il y a de ca quelques jours, et j'ai recu mon invit' tout à l'heure.
Je m'atèle à ca dès que mon Exchange du taff arrête de faire des siennes
Je me suis inscris sur vos bons conseils il y a de ca quelques jours, et j'ai recu mon invit' tout à l'heure.
Je m'atèle à ca dès que mon Exchange du taff arrête de faire des siennes

Heps
petite erreur à au debut lors de l'install, comment puis-je fix ca ? (Je suis toujours sous Wheezy)

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libtinfo5 : Breaks: dialog (< 1.2-20130523) but 1.1-20120215-2 is to be installed
php5-cli : Depends: libedit2 (>= 2.11-20080614-4) but it is not going to be installed
php5-common : Depends: psmisc (>= 22.15-1~) but it is not going to be installed
procps : Depends: libncurses5 (>= 5.5-5~) but it is not going to be installed
python-dev : Depends: python (= 2.7.3-4+deb7u1) but 2.7.9-1 is to be installed
Depends: python2.7-dev (>= 2.7.3-1~) but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
Failed to install a working "virtualenv" command, exiting
- Modifié
Je me suis fais avoir comme un bleu ! 
J'avais bien une entrée DNS du type www.mon-domaine.tld, mais pas d'entrée mon-domaine.tld, résultat :

Je l'ai dans le baba ! Plus qu'a attendre que leur DNS se "mettent à jour" ..
winz > un

J'avais bien une entrée DNS du type www.mon-domaine.tld, mais pas d'entrée mon-domaine.tld, résultat :
Failed authorization procedure. domain.tld (tls-sni-01): unknownHost :: The server could not resolve a domain name :: No IPv4
addresses found for domain.tld
IMPORTANT NOTES:
- The following 'unknownHost' errors were reported by the server:
Domains: domain.tld
Error: The server could not resolve a domain name
To fix these errors, please make sure that your domain name was
entered correctly and the DNS A record(s) for that domain
contain(s) the right IP address.
J'ai ajouté l'entrée qu'il me manquait, sauf que voila, à cause du cache DNS :
Je l'ai dans le baba ! Plus qu'a attendre que leur DNS se "mettent à jour" ..

winz > un
apt-get update && apt-get upgrade
donne quoi ?J'ai tenté ca ainsi qu'un apt-get dist-upgrade, mais sans résultatwinz > un
apt-get update && apt-get upgrade
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Tu peu tenter un :
apt-get clean && apt-get autoclean
apt-get -f install
dpkg --configure -a
Tu n'aurais pas modifié ton fichier sources (/etc/apt/sources.list) ? Ta distrib c'est une wheezy ou jessie ?- Modifié
Les commandes n'ont eu aucun effet :'(
Si je l'ai modifié récemment pour installer youtube-dl ou un truc du genre
Fallait pas ^^ ? (Wheezy)
?
Si je l'ai modifié récemment pour installer youtube-dl ou un truc du genre

deb http://debian.mirrors.ovh.net/debian/ wheezy main
deb-src http://debian.mirrors.ovh.net/debian/ wheezy main
deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main
Je devrais peut etre faire un post dédié a mon probleme 
Merci à toi de ce tutoriel même si je connaissais déjà 

Je m'en sors pas avec mon erreur
Ca m'ennuie de pas pouvoir tenter la beta... Personne qui aurait une idée
?


8 jours plus tard
Salut,
Peut-etre mettre le lien pour ceux voulant s'inscrire à la bêta ?
https://docs.google.com/forms/d/15Ucm4A20y2rf9gySCTXD6yoLG6Tba7AwYgglV7CKHmM/viewform?edit_requested=true
Peut-etre mettre le lien pour ceux voulant s'inscrire à la bêta ?
https://docs.google.com/forms/d/15Ucm4A20y2rf9gySCTXD6yoLG6Tba7AwYgglV7CKHmM/viewform?edit_requested=true
La beta fermée est quasiment terminée, le beta ouverte est prévue début décembre.
5 jours plus tard
Question peut-être bête mais je ne suis pas super calé niveau certificats.
Les certificats Let's Encrypt, qui sont reconnus par tout les navigateurs, le sont aussi implicitement par les autres applications ? Je pense au tutoriel mail (postfix + dovecot etc..), on peu utiliser le certificat let's encrypt ?
Les certificats Let's Encrypt, qui sont reconnus par tout les navigateurs, le sont aussi implicitement par les autres applications ? Je pense au tutoriel mail (postfix + dovecot etc..), on peu utiliser le certificat let's encrypt ?
J'en utilise un et je n'ai pas de probleme de mail particulier.
Ils sont toujours accepté partout en boite de reception (yahoo, gmail, ect..) sauf comme d'hab pour moi ils sont en spam chez hotmail.
Rien de bien différent par rapport à avant donc.
Ca se trouve j'ai plein de probleme et j'en sais rien
Ils sont toujours accepté partout en boite de reception (yahoo, gmail, ect..) sauf comme d'hab pour moi ils sont en spam chez hotmail.
Rien de bien différent par rapport à avant donc.
Ca se trouve j'ai plein de probleme et j'en sais rien

@coom & @spider1163: il n'y a aucune différence entre un certificat utilisé pour un serveur de mail et un serveur web (en tout cas, dans le cas de LE, les flags sont bons pour les deux usages), donc let's encrypt peut être utilisé pour sécuriser des échanges mails sans soucis.
Le client ACME de Let's encrypt ne support pas officiellement d'autres usages que du web (et encore, le support est très limité niveau serveur web).
@coom: Donc techniquement, aucun soucis d'utiliser LE avec dovecot et postfix, tu n'auras juste pas les gestion automatique des certificats à partir de leur client ACME, c'est la seule différence.
Source : https://community.letsencrypt.org/t/use-on-non-web-servers/425
Donc implicitement ils disent que leurs certificats fonctionnent pour d'autres usages que du web, par exemple du mail, messagerie xmpp...etcFAQ wrote:Will Let’s Encrypt issue certificates for anything other than SSL/TLS for websites?
Let’s Encrypt certificates will be standard Domain Validation certificates, so you can use them for any server that uses a domain name, like web servers.
La FAQ dit autre chose, leurs certificats ne peuvent pas être utilisés pour signer du code (avec une infrastructure PKI par exemple), et pour chiffrer du mail (pas la communication/transfert des données mais l'email en lui même).Can I use certificates from Let’s Encrypt for code signing or email encryption?
No. Email encryption and code signing require a different type of certificate than Let’s Encrypt will be issuing.
Le client ACME de Let's encrypt ne support pas officiellement d'autres usages que du web (et encore, le support est très limité niveau serveur web).
@coom: Donc techniquement, aucun soucis d'utiliser LE avec dovecot et postfix, tu n'auras juste pas les gestion automatique des certificats à partir de leur client ACME, c'est la seule différence.
Source : https://community.letsencrypt.org/t/use-on-non-web-servers/425
Salut Hardware,
Merci pour ce retour d'information, je vais tenter d'utiliser les certificats Let's Encrypt pour mes serveurs mails, afin d'eviter d'utiliser des certificats auto-signés. Seulement, je ne comprends pas très bien cette partie de ton post :
Si je comprends bien, tu m'expliques que je devrais manuellement inclure les certificats dans les fichiers de conf des differents services qui l'utilisent (IMAP, POP, etc ..) ? Si c'est ça, je me doutais que ce serait le cas. Utilisant nginx, je dois déja plus ou moins me débrouiller a la main.
Question bête, en utilisant des lien symboliques, on peut automatiser tout ca, non ?
Ex, dans ma conf dovecot, j'explique que le certificat est dans /etc/ssl/moncertif.cer, qui est en fait un lien symbolique pointant vers /etc/letsencrypt/mondomain.tld/certif.cer, apriori, le simple fait de mettre à jour le certificat Web suffirait ?
Désolé si mes questions peuvent sembler farfelues. Je m'y connais plutot bien en Administration, mais je suis une quiche en Certificats.
Merci pour ce retour d'information, je vais tenter d'utiliser les certificats Let's Encrypt pour mes serveurs mails, afin d'eviter d'utiliser des certificats auto-signés. Seulement, je ne comprends pas très bien cette partie de ton post :
Le client ACME sert à envoyer la requete pour le nom de domaine, a récuperer le certificat, et (eventuellement, selon le type de serveur Web) a modifier le fichier de conf du serveur web pour implémenter les certificats.Hardware wrote: @coom: Donc techniquement, aucun soucis d'utiliser LE avec dovecot et postfix, tu n'auras juste pas les gestion automatique des certificats à partir de leur client ACME, c'est la seule différence.
Si je comprends bien, tu m'expliques que je devrais manuellement inclure les certificats dans les fichiers de conf des differents services qui l'utilisent (IMAP, POP, etc ..) ? Si c'est ça, je me doutais que ce serait le cas. Utilisant nginx, je dois déja plus ou moins me débrouiller a la main.
Question bête, en utilisant des lien symboliques, on peut automatiser tout ca, non ?
Ex, dans ma conf dovecot, j'explique que le certificat est dans /etc/ssl/moncertif.cer, qui est en fait un lien symbolique pointant vers /etc/letsencrypt/mondomain.tld/certif.cer, apriori, le simple fait de mettre à jour le certificat Web suffirait ?
Désolé si mes questions peuvent sembler farfelues. Je m'y connais plutot bien en Administration, mais je suis une quiche en Certificats.
Tout à fait.coom wrote:Si je comprends bien, tu m'expliques que je devrais manuellement inclure les certificats dans les fichiers de conf des differents services qui l'utilisent (IMAP, POP, etc ..) ?
Une fois que ton service est configuré avec un certificat Let's Encrypt, lorsque le certificat arrivera à expiration, il suffira juste de relancer le client ACME pour renouveler le certificat, donc aucune modification sera à faire niveau configuration.
Ca marche. Merci beaucoup d'avoir pris le temps de m'expliquer Hardware ! 
Je vais m'ateler à ca.

Je vais m'ateler à ca.

6 jours plus tard
Pour info, la bêta publique de Let's Encrypt est ouverte ! 

- Modifié
Et plutot bonne nouvelle, depuis la beta ouverte, même si on sait que les certificats "wildards" ne sont pas acceptés (et ont apriori, pas vocation a l'être par Let's Encrypt), on peu désormais obtenir un certificat pour autre chose que domain.tld et www.domain.tld !
J'ai fait l'essai avec domain.tld, www.domain.tld, mail.domain.tld et torrent.domain.tld : ca fonctionne tip top.


J'ai fait l'essai avec domain.tld, www.domain.tld, mail.domain.tld et torrent.domain.tld : ca fonctionne tip top.


Cool ton thème rutorrent, c'est quoi ?coom wrote:Et plutot bonne nouvelle, depuis la beta ouverte, même si on sait que les certificats "wildards" ne sont pas acceptés (et ont apriori, pas vocation a l'être par Let's Encrypt), on peu désormais obtenir un certificat pour autre chose que domain.tld et www.domain.tld !
J'ai fait l'essai avec domain.tld, www.domain.tld, mail.domain.tld et torrent.domain.tld : ca fonctionne tip top.
http://img15.hostingpics.net/pics/6842952015120323h3205.png
8o)
@Jede :
Tu devrais ajouté ce lien à ton tutoriel, c'est bien expliqué pour générer un certificat :
https://letsencrypt.readthedocs.org/en/latest/using.html#installation
Tu devrais ajouté ce lien à ton tutoriel, c'est bien expliqué pour générer un certificat :
https://letsencrypt.readthedocs.org/en/latest/using.html#installation
Et du coup, si j'ai déja enregistré un domaine durant la beta fermée, je fais comment pour obtenir un certif pour chacun de mes sous domaine ? Je relance l'instal ?coom wrote:Et plutot bonne nouvelle, depuis la beta ouverte, même si on sait que les certificats "wildards" ne sont pas acceptés (et ont apriori, pas vocation a l'être par Let's Encrypt), on peu désormais obtenir un certificat pour autre chose que domain.tld et www.domain.tld !
J'ai fait l'essai avec domain.tld, www.domain.tld, mail.domain.tld et torrent.domain.tld : ca fonctionne tip top.
http://img15.hostingpics.net/pics/6842952015120323h3205.png
8o)
winz: tu relances le même process que pour la beta fermée, mais sans spécifier le serveur. Au moment ou il te demande les domaines, tu les specifie tous en les séparant par un espace.
Tu peu aussi faire ca avec un "one-liner" :

xataz: C'est le thème Agent46.
Tu peu aussi faire ca avec un "one-liner" :
/tmp/letsencrypt/letsencrypt-auto auth -d domain.tld -d www.domain.tld -d torrent.domain.tld -d mail.domain.tld -d pop.domain.tld -d imap.domain.tld
etc etc.. 
xataz: C'est le thème Agent46.

coom wrote:winz: tu relances le même process que pour la beta fermée, mais sans spécifier le serveur. Au moment ou il te demande les domaines, tu les specifie tous en les séparant par un espace.
Tu peu aussi faire ca avec un "one-liner" :
etc etc../tmp/letsencrypt/letsencrypt-auto auth -d domain.tld -d www.domain.tld -d torrent.domain.tld -d mail.domain.tld -d pop.domain.tld -d imap.domain.tld
xataz: C'est le thème Agent46.
J'arrive pas à trouver à quoi l'argument "auth" corresponds
xataz: A la base le client sert à traiter avec les serveurs de Let's Encrypt afin de recuperer le certificat, et il configure au passage ton serveur web. Comme le support de nginx est tjs en beta (visiblement pas super stable aux dernieres news), tu peux utiliser "certonly" pour obtenir le certificat mais sans modifier la conf de ton serveur web.
Le mode "certonly" est aussi connu sous le nom "auth".
Source: letsencrypt-auto --help
Le mode "certonly" est aussi connu sous le nom "auth".
Source: letsencrypt-auto --help
root@linux:/tmp/letsencrypt# ./letsencrypt-auto --help
Updating letsencrypt and virtual environment dependencies.......
Running with virtualenv: /root/.local/share/letsencrypt/bin/letsencrypt --help
letsencrypt [SUBCOMMAND] [options] [-d domain] [-d domain] ...
The Let's Encrypt agent can obtain and install HTTPS/TLS/SSL certificates. By
default, it will attempt to use a webserver both for obtaining and installing
the cert. Major SUBCOMMANDS are:
(default) run Obtain & install a cert in your current webserver
certonly Obtain cert, but do not install it (aka "auth")
Perso j'ai fait ça
./letsencrypt-auto --help
./letsencrypt-auto certonly
bon il reste à faire quelques configurations https://www.ssllabs.com/ssltest/analyze.html?d=mondedie.fr&s=92.222.170.105- Modifié
Avec ça tu devrais avoir du A+ :
Rajouter des protocoles si nécessaire.
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/nginx/ssl/dh4096.pem;
ssl_session_cache shared:SSL:10m;
ssl_ecdh_curve secp521r1;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
ssl_session_tickets off;
Bien générer un dhparam d'une taille d'au moins 2048 dans /etc/nginx/ssl (et adapter la directive).Rajouter des protocoles si nécessaire.
- Modifié
Obligé d'attendre...Rate limit on registrations per IP is currently 10 per 3 hours
Rate limit on certificates per Domain is currently 5 per 7 days

Petit tuto pour avoir un A+
Il faut se connecter en root, pour les opérations suivantes.
Il faut stopper nginx avant tout
Ensuite il faut inclure le fichier ciphers.conf dans http {}
Pour finir il faudra ajouter 2 lignes dans chacun de vos vhosts.
Il faut se connecter en root, pour les opérations suivantes.
Il faut stopper nginx avant tout
service nginx stop
Toujours mettre à jour le serveur avant :
aptitude update && aptitude upgrade
mkdir /etc/nginx/ssl
openssl openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
# vim /etc/nginx/ssl/ciphers.conf
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA";
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
ssl_session_cache shared:SSL:10m;
ssl_ecdh_curve secp384r1;
ssl_session_tickets off;
add_header Strict-Transport-Security "max-age=31536000";
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
note : le max age de Strict-Transport-Security correspond à 1an.Ensuite il faut inclure le fichier ciphers.conf dans http {}
# vim /etc/nginx/nginx.conf
http {
include /etc/nginx/ssl/ciphers.conf
}
Installation de letsencrypt
cd /tmp
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
Après cette étape il faut générer le certificat via let's encrypt, avec une clée RSA de 4096bits
./letsencrypt-auto --help all
./letsencrypt-auto certonly --rsa-key-size 4096
Il faudra ajouter une adresse mail, accepter la licence, et ajouter les sous domaines espacer d'un espace.Pour finir il faudra ajouter 2 lignes dans chacun de vos vhosts.
# vim /etc/nginx/sites-enbled/monsite.fr.conf
server {
ssl_certificate /etc/letsencrypt/live/monsite.fr/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/monsite.fr/privkey.pem;
}
Pour finaliser il ne faut pas oublier de redémarrer nginx
service nginx start
Quitte à avoir une configuration homogène, et pour éviter un léger surcoût CPU, mettre ssl_ecdh_curve à secp384r1 est plus que suffisant. Il est aussi bon de de savoir que par défaut, letsencrypt génère des clés RSA 2048 bits, il est donc possible d'utiliser une taille de 4096 par exemple, il suffira de préciser (c'est le petit plus pour les paranoïaques et ceux qui veulent gonfler leur note sur ssllabs).