Aller au contenu

[TUTO OBSOLÈTE] Certificat TLS/SSL - Let's Encrypt "Wildcard"


Messages recommandés

Posté(e)

Sauf qu'il n'y avait pas de lien pour moi... J'ai encore la fenêtre ssh en cours si tu veux un screen.

 

je vais retenter en faisant avec la partie du tuto que tu me dis ;)

Posté(e)
il y a 28 minutes, InfoYANN a dit :

Sauf qu'il n'y avait pas de lien pour moi...

C'est étonnant car c'est dans le script acme.sh. Il n'accepte peut-être pas le wildcard. Et pourtant il est sensé pouvoir le prendre en compte.

Posté(e) (modifié)

Voici la preuve Mic ;)

Comme tu peux le voir, aucun lien donné. Et je précise que ça m'a créé un seul certificat et il est bien Wildcard.

cxZ0I6f.jpg

 

Ensuite, j'ai juste enregistré les deux entrées TXT dans ma zone DNS sur OVH puis refait la ligne de commande avec en plus --renew et c'est passé.

Cnxz3If.jpg

Modifié par InfoYANN
Posté(e)

Oui mais ça Balloo, ça ne m'intéresse pas trop en faite de faire ça. Car dans ce cas, je dois le faire manuellement et si c'est le cas, autant que je reste surle site SSL For Free...

Sans compter que via l'interface Syno, ils n'y a pas la possibilité d'importer un certificat se trouvant sur le NAS. La fenêtre qui s'ouvre veut directement chercher le fichier dans l'ordinateur.

Si au moins avec acme.sh je pouvais changer la longueur de chiffrement mais ça n'a pas l'air d'être possible... Pour rappel, pas défaut, c'est 2048.

Posté(e) (modifié)

Pas faux, apres tu peux je pense automatiser avec ACME et il te reste juste l import manuel à faire une fois tout les 3 mois :)

Modifié par Mic13710
inutile de répéter le message précédent si ça n'apporte rien de plus à la compréhension
Posté(e)

Mouais, comme je l'ai dit précédemment, passer par SSL For Free, taper mes deux ndd (*.ndd.fr ndd.fr) puis attendre la génération du certificat, ça prend max 20 secondes... C'est même plus rapide que de le faire depuis le Syno qui lui en plus ne propose pas le certificat Wildcard. Donc au final, pas intéressant du tout.

C'est pour ça que je cherche à tout automatiser ;)

Posté(e)

Bon alors je reviens encore aux nouvelles...:rolleyes:

J'ai réussi à créer un certificat avec un chiffrement de 4096 au lieu de 2048 par défaut, je peux faire plus mais je ne sais pas si c'est recommandé.

La commande est :

./acme.sh --issue -d   ******.fr -d *.*****.fr   --dns   dns_ovh --keylength 4096 --force

Voilà ce que ça donne comme résultat ensuite :

TIek8Y4.jpg

 

Apparemment, pas besoin de changer quoi que ce soit du côté DNS OVH.

Je pense maintenant attendre le renouvellement voir si il se fera automatiquement mais j'ai du mal à comprendre comment il pourrait se faire tout seul alors wait and see. Ensuite, si il se renouvelle tout seul alors je chercherai un moyen d'automatiser la copie dans le bon dossier/fichier du NAS.

Posté(e) (modifié)

La nuit porte conseille...:lol:

Alors voilà l'idée qu'il m'est venue. Maintenant que je sais que ma ligne de code renouvelle le certificat sans rien toucher du côté OVH, me suffirait-il pas de créer un script auto de MAJ de ce dernier via le planificateur de tâches ?!

En gros je pense à un truc dans ce genre :

./acme.sh --issue -d   ******.fr -d *.*****.fr   --dns   dns_ovh --keylength 4096 --force
Copie automatique des trois fichiers en remplaçant les précédents
redémarrage service http

 

Est-ce que ça pourrait fonctionner ?! Si oui, dans ce cas, on a trouvé la possibilité d'automatiser tout ça et de ne plus s'en préoccuper...

Modifié par InfoYANN
Posté(e)

Il est inutile de forcer le renouvellement si le cert est toujours valide. Inspire toi de ce qui a été fait dans le tuto que j'ai utilisé.

En gros, tu as une tâche cron qui se déclenche tous les 2 de chaque mois pour vérifier si le certificat est à jour, et s'il ne l'est pas, acme.sh lance le renouvellement.

La copie auto des 3 fichiers n'est pas suffisante. Il faut aussi la faire dans tous les dossiers du reverse proxy.

Là aussi regarde la tâche planifiée du même tuto. En gros, tu balayes tous les dossiers contenus dans /usr/syno/etc/certificate et tu mets à jour tous les .pem. Puis tu redémarres tous les packages pour que le nouveau cert soit pris en compte.

Posté(e)
il y a une heure, Mic13710 a dit :

La copie auto des 3 fichiers n'est pas suffisante. Il faut aussi la faire dans tous les dossiers du reverse proxy.

Là aussi regarde la tâche planifiée du même tuto. En gros, tu balayes tous les dossiers contenus dans /usr/syno/etc/certificate et tu mets à jour tous les .pem.

Ça pourrait être simplifié en créant des liens symboliques dans les sous-dossiers. Ainsi la mise à jour du fichier (à un seul emplacement) se propagera automatiquement.

Posté(e)

Ca pourrait sans doute fonctionner pour les dossiers existants. Par contre, toute création d'un nouveau proxy reprendra les fichiers du cert actif qui ne seront pas mis à jour lors du prochain renouvellement, sauf a rajouter manuellement les liens symboliques. Amha, autant laisser le script faire tout seul son boulot de maj.

Posté(e)

@Mic13710 :

Ok merci pour les précisions.

Voici alors ce qui serait possible si je comprend bien. Tu valides les manips stp ?

1. On tape

vim /etc/crontab

2. On ajoute la ligne

0    10    2    *    *    root    root/.acme.sh/ndd.tld --cron --home root/.acme.sh/

3. On enregistre et on quitte avec la commande :

:wq

4. Dans le planificateur de tâches, on ajoute une tâche en tant que root qui se lancera tous les 2 de chaque mois avec comme code :

En changeant bien entendu le nom du dossier comme précisé dans le code.

# Note: The $CERT_FOLDER must be hardcoded here since the running environment is unknown. Don't blindly copy&paste
# change this sample directory name "AsDFgH" to the name of your Let's Encrypt cert directory

CERTDIR="AsDFgH"

# do not change anything beyond this line!

CERTROOTDIR="/usr/syno/etc/certificate"
PACKAGECERTROOTDIR="/usr/local/etc/certificate"
FULLCERTDIR="$CERTROOTDIR/_archive/$CERTDIR"

# find all subdirectories containing cert.pem files
PEMFILES=$(find $CERTROOTDIR -name cert.pem)
if [ ! -z "$PEMFILES" ]; then
        for DIR in $PEMFILES; do
                # replace all certificates, but not the ones in the _archive folder
                if [[ $DIR != *"/_archive/"* ]]; then
                        rsync -avh "$FULLCERTDIR/" "$(dirname $DIR)/"
                fi
        done
fi

# reload
/usr/syno/sbin/synoservicectl --reload nginx

# update and restart all installed packages
PEMFILES=$(find $PACKAGECERTROOTDIR -name cert.pem)
if [ ! -z "$PEMFILES" ]; then
	for DIR in $PEMFILES; do
		rsync -avh "$FULLCERTDIR/" "$(dirname $DIR)/"
		/usr/syno/bin/synopkg restart $(echo $DIR | awk -F/ '{print $6}')
	done
fi

 

En faite, j'ai surtout un doute sur la ligne "0    10    2    *    *    root    /usr/local/share/acme.sh/acme.sh --cron --home /usr/local/share/acme.sh/" car chez moi elle ne correspond pas. Quand acme.sh me créer un certificat SSL, il le met dans "root/.acme.sh/****.fr".

Donc je suppose que ma ligne devrait être :

0    10    2    *    *    root    root/.acme.sh/****.fr --cron --home root/.acme.sh/

Je me trompe ?

Posté(e)

Euh, corrige ta ligne parce que là, ça ne le fait pas. T'as fumé la moquette ? :lol:

0    10    2    *    *    root    root/.acme.sh/ndd.tld --cron --home root/.acme.sh/

Non tu ne changes rien. Le cron fait simplement appel au script qui va vérifier que ton certificat est valide.

Sauf erreur, ton script est installé dans /usr/local/share/acme.sh/acme.sh et les clés de ton certificat sont bien dans un dossier ***.fr du dossier parent /usr/local/share/acme.sh/

Vérifie que tu as bien toi aussi le dossier ***.fr dans acme.sh. Rassures-toi, j'ai moi aussi le même dossier ***.fr dans root/.acme.sh

Il faudrait éplucher en détail le script pour savoir si c'est lui qui fait le boulot dans les 2 dossiers. Je pense que oui.

Ceci étant dit, j'ai lancé la tache planifiée manuellement car il se trouve que j'avais forcé le renouvellement de mon certif hier et que tous ceux qui étaient dans les dossiers du CERTROOTDIR étaient encore sous l'ancien certificat.

Le script a bien fonctionné, tous les dossiers se sont mis à jour avec le nouveau, mais ensuite DSM m'a annoncé qu'il y avait un problème. Je me suis dit qu'à cela ne tienne, je vais redémarrer le NAS. Mais après le redémarrage, mon certif n'était plus acceptés et j'ai dû me connecter avec une exception.

Pour retrouver mes petits, j'ai été obligé de revalider tous les domaines pour les passer sur le certificat Synology que j'ai heureusement gardé, puis j'ai à nouveau remis les domaines sur leur certificat pour que ça fonctionne à nouveau.

Il y a donc un processus interne à DSM qui permet la validation des certificats du reverse proxy. Il doit y avoir autre chose à rajouter dans le script pour que les nouveaux certif soient acceptés. Quoi ? Je n'en sais rien.

Pas simple cette affaire.

 

Posté(e)

Comme on n'a pas suivi le même tuto, ça explique que nous ne soyons pas dans le même bus.

L'emplacement sur le tuto Gihub a été modifié le 28 juin 2017 par un des intervenants pour je cite : change the acme.sh install home to a persistent location

Je présume que l'ancien emplacement était sujet à modif à chaque maj de DSM.

Si ton acme.sh est installé ailleurs, il est bien évident que tu dois modifier le chemin dans le cron.

Posté(e)

Ta ligne n'est pas bonne.

Il faut que tu remplaces /usr/local/share/acme.sh/acme.sh par l'emplacement de ton acme.sh et /usr/local/share/acme.sh/  par celui de tes clés dans le dossier acme.sh.

Posté(e)

C'est simple, mon acme est dans le dossier root et là ou il envoie le certificat c'est root/.acme.sh/ndd.tld

 

Donc ma commande devrait être :

0    10    2    *    *    root    root/.acme.sh/****.fr --cron --home root/.acme.sh/
Posté(e)

Je viens de tester la tâche et voici le résultat :



Cher utilisateur,

Le planificateur de tâches à terminé une tâche planifiée.

Tâche : MAJ Certificat SSL
Heure de début : Thu, 05 Apr 2018 20:22:31 GMT
Heure d’arrêt : Thu, 05 Apr 2018 20:28:55 GMT
État actuel : 0
Sortie standard/erreur :
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
nginx reloaded.
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
package MailPlus-Server restart successfully
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
package MailPlus-Server restart successfully
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
package WebDAVServer restart successfully
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
package CloudStation restart successfully
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
package WebStation restart successfully
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
package WebStation restart successfully
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
package LogCenter restart successfully
sending incremental file list
./
.fullchain.pem.swp
cert.pem
chain.pem
fullchain.pem
privkey.pem

sent 28.27K bytes  received 110 bytes  56.75K bytes/sec
total size is 27.92K  speedup is 0.98
package CardDAVServer restart successfully


Sincères salutations,
Synology DiskStation



Soucis rencontré, j'ai un 502 sur MailPlus. Après vérification, il était arrêté dans le centre de paquets... Je l'ai donc relancé manuellement.

Après d'autres vérifications, il s'avère que phpMyAdmin, Apache 2.2 et apache 2.4 étaient aussi arrêté dans le centre de paquets...

 

Posté(e)

Avant de chercher à mettre des restart dnas le script, je vais attendre de voir dans trois mois si vraiment la renouvellement se fait automatiquement et si au cas ou tous les paquets se relancent. Ensuite, on avisera :)

Posté(e)

 

Il y a 3 heures, InfoYANN a dit :

Donc ma commande devrait être :


0    10    2    *    *    root    root/.acme.sh/****.fr --cron --home root/.acme.sh/

A mon avis la commande devrait être :

0    10    2    *    *    root    root/.acme.sh/acme.sh --cron --home root/.acme.sh/
Posté(e)

Le soucis c'est que si je lui indique pas le bon dossier, ne va-t-il pas aller au mauvais endroit pour chercher l'information car dans le dossier .acme.sh, je n'ai pas que ndd.fr

J'ai aussi *.ndd.fr qui lui est vide (mais créé quand même par acme.sh), dossier ca, fichier account.conf et fichier http.header

 

Posté(e)

Moi je n'ai qu'un seul dossier pour le ndd. Dans ce dossier, il y a un ndd.conf dans lequel on trouve :

Le_Domain='ndd'

Le_Alt='file.ndd,audio.ndd,etc.....'

Regardes dans ton ndd.conf si tu ne retrouves pas le wildcard.

Dans la suite de mon ndd.conf, il y a aussi :

Le_Webroot='dns_ovh'
Le_PreHook=''
Le_PostHook=''
Le_RenewHook=''
Le_API='https://acme-v01.api.letsencrypt.org/directory'
Le_Keylength=''


La dernière ligne est intéressante. La tienne devrait indiquer 4096.

 

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.