Archives par étiquette : dns validation

Certificat let’s encrypt sur synology avec validation dns

J’utilise en reseau local la fonctionnalité de reverse proxy de mon synology. Mais avoir un certificat pour chaque site n’est pas tres pratique. Nativement, le synology gere les certificats let’s encrypt mais cela necessite que le serveur soit accessible sur internet.

En mixant ,les deux articles suivants, j’ai pu reussir a faire un role ansible pour generer un certificat wildcard qui sera utilisable par tous les services.
https://buzut.net/certbot-challenge-dns-ovh-wildcard/
https://falkus.co/2019/01/a-story-about-lets-encrypt-and-my-synology-nas/

Le code source est disponible ici: https://github.com/BenoitCharret/certbot

Il est possible d’utiliser ce role avec un fichier requirements.yml:

- name: benoitcharret.certbot

On peut ensuite recuperer le role avec la commande suivante:

ansible-galaxy install -p roles -r requirements.yml -f

Le role va genérer le certificat lors de l’installation et installer une tache planifiée pour le renouvellement.

Le certificat sera installé en tant que certificat par defaut pour tous les services.

Ce qui permet d’avoir ceci.

Génération d’un certificat par validation dns avec pfsense

Pfsense propose un package pour generer des certificats let’s encrypt. Il permet aussi de valider le certificat par DNS. Différents providers dns sont disponibles. Dans mon cas, ce sera ovh.

La première étape est d’installer le module acme qui va nous installer tout ce qui est nécessaire.

Ensuite il faut se rendre dans le service « Acme Certificate »

Il faut d’abord créer un compte sur le serveur ACME dans la partie « Account keys ». Pour faire des tests, on peut utiliser le serveur de staging d’ACME. Une fois que c’est bon, on pourra passer sur le serveur de production. Le choix de l’un ou l’autre serveur ACME aura une influence sur la chaine de certification.

Dès que le compte est créé, on peut passer à la création du certificat.

Sur l’ecran de création, il faut choisir le compte acme que l’on a crée juste avant.

Dans la partie SAN, on va paramétrer en 1, le nom de domaine ciblé par le certificat en 2, la méthode de validation. Dans mon cas, ce sera une validation par DNS ovh.

Une fois le certificat enregistré, bien vérifié qu’il y a une coche sur on, sinon, il faut cliquer sur issue/renew

Et voila le certificat est disponible dans la partie certManager de pfsense. On peut s’en servir comme certificat pour l’UI de pfsense ou pour un autre service comme openvpn.

PS:

Ne pas oublier dans la partie settings d’activer le cron pour renouveler le certificat: