HTTPS > Lest's Encrypt via "certbot --test-cert"

On y discute de tout, ou presque...
Répondre
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Bonjour, :006:

J'ai besoin d'un petit coup de pousse pour la finition de HTTPS pour : dezix.fr


J'ai mis en place : certbot + systemd + stunnel + micro-httpd

Si vous avez testé le lien dezix.fr qui précède,
je suppose que votre navigateur vous aura informé que le certificat du site n'est pas (re)connu ou un truc dans le genre.

Comme c'est ma 1ère expérience de configuration TLS et de Let's Encrypt,

j'ai d'abord utilisé : certbot certonly --dry-run --manual
histoire de voir ce qui allait se passer.

j'ai poursuivi avec : certbot certonly --test-cert --manual

apparemment tout a bien fonctionné et j'ai obtenu :

Code : Tout sélectionner

ls -l /etc/letsencrypt/live/dezix.fr/

-rw-r----- 1 root root 692 Oct 17 21:09 README
lrwxrwxrwx 1 root root  32 Oct 17 21:09 cert.pem -> ../../archive/dezix.fr/cert1.pem
lrwxrwxrwx 1 root root  33 Oct 17 21:09 chain.pem -> ../../archive/dezix.fr/chain1.pem
lrwxrwxrwx 1 root root  37 Oct 17 21:09 fullchain.pem -> ../../archive/dezix.fr/fullchain1.pem
lrwxrwxrwx 1 root root  35 Oct 17 21:09 privkey.pem -> ../../archive/dezix.fr/privkey1.pem


ls -l /etc/letsencrypt/archive/dezix.fr

-rw-r----- 1 root root 1529 Oct 17 21:09 cert1.pem
-rw-r----- 1 root root 2770 Oct 17 21:09 chain1.pem
-rw-r----- 1 root root 4299 Oct 17 21:09 fullchain1.pem
-rw------- 1 root root  306 Oct 17 21:09 privkey1.pem

J'ai un peu galéré pour faire fonctionner systemd + stunnel + micro-httpd
mais j'ai fini par avoir :

Code : Tout sélectionner

	# systemctl status stunnel@micro-httpd
	● stunnel@micro-httpd.service - TLS tunnel for network daemons - per-config-file service
	     Loaded: loaded (/lib/systemd/system/stunnel@.service; enabled; vendor preset: enabled)
	     Active: inactive (dead) since Thu 2022-10-20 08:55:06 UTC; 5s ago
	       Docs: man:stunnel4(8)
	    Process: 96921 ExecStart=/usr/bin/stunnel4 /etc/stunnel/micro-httpd.conf (code=exited, status=0/SUCCESS)
	   Main PID: 96921 (code=exited, status=0/SUCCESS)
	        CPU: 34ms
	
	Oct 20 08:55:06 server1.dezix.fr stunnel[96921]: LOG5[ui]: stunnel 5.56 on x86_64-pc-linux-gnu platform
	Oct 20 08:55:06 server1.dezix.fr stunnel[96921]: LOG5[ui]: Compiled with OpenSSL 1.1.1k  25 Mar 2021
	Oct 20 08:55:06 server1.dezix.fr stunnel[96921]: LOG5[ui]: Running  with OpenSSL 1.1.1n  15 Mar 2022
	Oct 20 08:55:06 server1.dezix.fr stunnel[96921]: LOG5[ui]: Threading:PTHREAD Sockets:POLL,IPv6,SYSTEMD TLS:ENGINE,FIPS,>
	Oct 20 08:55:06 server1.dezix.fr stunnel[96921]: LOG5[ui]: Reading configuration from file /etc/stunnel/micro-httpd.conf
	Oct 20 08:55:06 server1.dezix.fr stunnel[96921]: LOG5[ui]: UTF-8 byte order mark detected
	Oct 20 08:55:06 server1.dezix.fr stunnel[96921]: LOG5[ui]: FIPS mode disabled
	Oct 20 08:55:06 server1.dezix.fr stunnel[96921]: LOG5[ui]: Configuration successful
	Oct 20 08:55:06 server1.dezix.fr stunnel[96921]: LOG5[ui]: Binding service [micro-httpd] to :::443: Address already in >
	Oct 20 08:55:06 server1.dezix.fr systemd[1]: stunnel@micro-httpd.service: Succeeded.

Il me reste donc à régler cette histoire de certificat qui n'est pas reconnu comme valide... :017:

je me suis d'abord posé la question : "Est-ce que certbot --test-cert produit un certificat valide ou juste un fake histoire de tester la config ?"

J'ai donc testé :

Code : Tout sélectionner

# certbot renew
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/dezix.fr.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert not yet due for renewal

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
The following certificates are not due for renewal yet:
  /etc/letsencrypt/live/dezix.fr/fullchain.pem expires on 2023-01-15 (skipped)
No renewals were attempted.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
qui dit que le certif est valable jusqu'à la mi-janvier 23

sauf que...


Alors que dois-je faire pour que le certificat fonctionne sans message affiché par le navigateur ?


Pour info firefox affiche :

Image



J'ai déjà eu assez de mal à en arriver là, je ne voudrais pas me faire blacklister par ???????
le but ultime du certificat étant TLS pour le serveur mail qui va avec ce domaine.

Merci d'avance !
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4959
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,

Jamais utilisé stunnel + micro-httpd

Mais si je ne me trompe pas il faut à minima configurer le certificat SSL dans la conf de Stunnel:
Un truc comme ça/

Code : Tout sélectionner

/etc/stunnel/stunnel.conf
...
cert = /etc/letsencrypt/live/dezix.fr/fullchain.pem
key  = /etc/letsencrypt/live/dezix.fr/privkey.pem

Et redémarrer Stunnel!
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4959
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Hello,

Je crois comprendre...
C'est le --test-cert qui te donne le staging.
Enlève cette option à Let's Encrypt et recommence!

https://letsencrypt.org/docs/staging-environment/
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Salut,

L'histoire si j'ai bien compris,

c'est que comme Let's Encrypt a émis ce certif de dev/test je ne sais pas comment forcer le renouvellement avant la date du 15 janvier.
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

D'aillleurs j'ai déjà testé cela :

Code : Tout sélectionner

certbot  certonly --manual --preferred-challenges dns \            
-d dezix.fr -d www.dezix.fr -d mail.dezix.fr -d smtp.dezix.fr -d imap.dezix.fr -d pop3.dezix.fr

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N

Account registered.
Cert not yet due for renewal

You have an existing certificate that has exactly the same domains or certificate name you requested and isn't close to expiry.
(ref: /etc/letsencrypt/renewal/dezix.fr.conf)

What would you like to do?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: Keep the existing certificate for now
2: Renew & replace the certificate (may be subject to CA rate limits)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 1
Keeping the existing certificate

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Certificate not yet due for renewal; no action taken.

où j'ai choisi la réponse 1, ne sachant pas trop ce que serait les conséquences de la 2
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Finalement question est : est-ce que la réponse 2 remplace simplement le certif de dev par certif "normal" ?
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4959
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Hello,
dezix a écrit : 20 oct. 2022, 18:27c'est que comme Let's Encrypt a émis ce certif de dev/test je ne sais pas comment forcer le renouvellement avant la date du 15 janvier.

Essaye

Code : Tout sélectionner

--force-renewal
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

La doc de Let's Encrypt/certbot n'est pas claire => Re-creating and Updating Existing Certificates

Voici une citation de la communauté Let's Encrypt à propos du sujet :
Image

Let's Encrypt Community Support > Caution: certbot certonly doesn't use renewal configuration information


Un des intervenant qui semble un Big Chief écrit :
If you want to only renew a single certificate, the proper syntax is:

certbot renew --cert-name NAMEOFCERTTORENEW

Avoid using --force-renewal like a flesh-eating plague. It almost never results in anything good.


Je n'ai qu'un certif et je ne vois pas (encore) comment on affiche clairement le "NAMEOFCERTTORENEW"

Je crois que j'ai encore de la lecture pour ce soir :spiteful:
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

La commande : certbot certificates
affiche la liste des certificats présents sur le système.

Ce qui donne :

Code : Tout sélectionner

certbot certificates
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
  Certificate Name: dezix.fr
......
Donc ici le nom = dezix.fr
:040:
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Code : Tout sélectionner

certbot renew --cert-name dezix.fr
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/dezix.fr.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert not yet due for renewal

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
The following certificates are not due for renewal yet:
  /etc/letsencrypt/live/dezix.fr/fullchain.pem expires on 2023-01-15 (skipped)
No renewals were attempted.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
:076: :088:
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4959
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,

Faut pas tout prendre au pied de la lettre.
Ils n'aiment pas le --force-renewal parceque c'et bourin et "la plupart du temps" ça n'avance à rien.

Bref si ça ne te plaît pas non plus:

- Supprime le certificat -test-cert

Code : Tout sélectionner

certbot delete --cert-name dezix.fr
- Recrée-le

Code : Tout sélectionner

certbot  certonly --manual --preferred-challenges dns -d dezix.fr -d www.dezix.fr -d mail.dezix.fr -d smtp.dezix.fr -d imap.dezix.fr -d pop3.dezix.fr
Ne t'inquiète pas, tu peux recommencer si ça foire. Ce n'est pas "si grave" de se foirer, tu auras d'autres chances! :lol:
Le seul risque est d'être bloqué pendant quelques minutes en cas de tentatives trop fréquentes. Ça m'est arrivé souvent. La punition est acceptable... :wink:

Par contre fait attention que le chemin soit toujours le même pour ta conf Stunnel (/etc/letsencrypt/live/dezix.fr/fullchain.pem...)
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Hier soir j'ai refait :certcot certonly --manual ......
et à la question :

Code : Tout sélectionner

What would you like to do?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: Keep the existing certificate for now
2: Renew & replace the certificate (may be subject to CA rate limits)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
cette fois-ci j'ai choisi la 2

Image ( pillule rouge )

Bon, j'ai du remodifier les enregistrements pour le challenge DNS :spiteful:

après un restart du service le HTTPS fonctionne et le nouveau certif est correctement affiché dans Firefox ; c'est le principal.


Sinon pour le détail j'ai :

Code : Tout sélectionner

/etc/letsencrypt
.
.
├── archive
│   └── dezix.fr
│       ├── cert1.pem
│       ├── cert2.pem
│       ├── chain1.pem
│       ├── chain2.pem
│       ├── fullchain1.pem
│       ├── fullchain2.pem
│       ├── privkey1.pem
│       └── privkey2.pem
.
│
├── live
│   ├── README
│   └── dezix.fr
│       ├── README
│       ├── cert.pem -> ../../archive/dezix.fr/cert2.pem
│       ├── chain.pem -> ../../archive/dezix.fr/chain2.pem
│       ├── fullchain.pem -> ../../archive/dezix.fr/fullchain2.pem
│       └── privkey.pem -> ../../archive/dezix.fr/privkey2.pem
.
.
Les liens ont été mis à jour par certbot

Le 1er certificat (staging) est conservé en archive,
je verrais en janvier ce qui se passe ou pas ; possible que je reçoive un mail de renouvellement car les certificats staging et production sont gérés séparément (pour les quotas) par Let's Encrypt.

Le certificat Racine (utilisé par les clients pour authentifier celui du site) est le R3 (rsa) ;
il existe un certificat racine ECDSA ( E1 ) => ECDSA availability in production environment

Je pensais que :

Code : Tout sélectionner

cat /etc/letsencrypt/cli.ini
...
# Use ECC for the private key
key-type = ecdsa
elliptic-curve = secp384r1
...
configurerait ECDSA globalement,
mais la page du lien précédent indique un formulaire pour inscrire le certificat (ou le compte ???) en production sur une liste spécifique > E1.

Question annexe (toujours dans : /etc/letsencrypt/cli.ini )

Est-ce que :

Code : Tout sélectionner

# Use a 4096 bit RSA key instead of 2048
rsa-key-size = 4096
interfère avec : key-type = ecdsa ?

RÉSOLU !

Merci, @lol :good:
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4959
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,
dezix a écrit : 21 oct. 2022, 10:09 Question annexe (toujours dans : /etc/letsencrypt/cli.ini )

Est-ce que :

Code : Tout sélectionner

# Use a 4096 bit RSA key instead of 2048
rsa-key-size = 4096
interfère avec : key-type = ecdsa ?

A priori non.
Si tu choisi RSA ce sera 4096
Si tu choisi ECDSA ce sera la taille par défaut
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

lol a écrit : 21 oct. 2022, 10:55 A priori non.
Si tu choisi RSA ce sera 4096
Si tu choisi ECDSA ce sera la taille par défaut
:good:

Bonne journée
@+
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4959
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

dezix a écrit : 21 oct. 2022, 11:04Bonne journée
@+

A toi aussi mon ami! :006:
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
franb
Membre
Membre
Messages : 106
Inscription : 04 nov. 2017, 09:41
Status : Hors-ligne

lol a écrit : 21 oct. 2022, 10:55 Salut,
dezix a écrit : 21 oct. 2022, 10:09

Code : Tout sélectionner

# Use a 4096 bit RSA key instead of 2048
rsa-key-size = 4096
interfère avec : key-type = ecdsa ?
A priori non.
Si tu choisi RSA ce sera 4096
Si tu choisi ECDSA ce sera la taille par défaut
ECDSA est l'utilisation des courbes elliptiques sur Fn (n premier) au lieu du groupe des inversibles de Fn avec n=p.q ou p,q premiers. La taille de la clef indique juste le nombre de bits de n (ici ce serait de l'ordre de 2^4096). Je pense que le paramètre doit jouer sur ecdsa même si cela augmente les calculs.
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4959
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,

Pour utiliser ECDSA dans certbot il faut le préciser:
key-type = ecdsa

Je pense que le paramètre rsa-key-size = 4096 n'a pas d'influence sur ECDSA.
C'est cette option (--elliptic-curve) qui va influer sur la clef ECDSA et non rsa-key-size
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Encore une petite question :

Est-ce que le fait d'avoir inclus au certificat les sous-domaines relatifs au serveur d'email,
va avoir une incidence sur les performances de HTTPS ?

En autres termes vaut-il mieux 2 certificats :
  1. dezix.fr ................... pour : dezix.fr ; www.dezix.fr
  2. mail.dezix.fr ........... pour : mail.dezix.fr ; imap.dezix.fr ; pop3.dezix.fr ; smtp.dezix.fr
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4959
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,

Aucun fondement technique dans ce que je vais dire.

Choisi la simplicité: Un seul certificat pour tous tes usages

D'expérience, avoir plusieurs certificats termine toujours, tôt ou tard, pas un oubli ou une mauvaise conf (et un service inaccessible)
Avec un certificat contenant de multiple sous domaines le seul truc que tu peux éventuellement oublier est de redémarrer les services au moment du renouvellement du certificat (Ce qui cause évidemment un problème...)
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Répondre