inofix.acme-tiny-sign

Acme-Tiny Sign

Ceci est un rôle Ansible pour obtenir des certificats numériques avec "Let's Encrypt". Il est fortement inspiré de ce rôle : ganto.acme_tiny. Un grand merci à ganto !

Ce rôle est conçu pour être exécuté sur un système accessible depuis le web. Il effectuera la demande auprès de "Let's Encrypt" à partir d'un CSR existant (voir inofix.acme-request), résoudra le défi dans le répertoire web bien connu du serveur et mettra ensuite les certificats résultants dans le répertoire de configuration OpenSSL.

Les deux autres rôles, inofix.acme-tiny-install et inofix.acme-tiny-request, sont requis. Ce dernier peut être exécuté sur un autre hôte distant pour générer la clé privée et la demande de certificat.

Pourquoi ne pas utiliser un des rôles existants ?

  • Pour la première raison, lisez la section "Promesse" ci-dessous. Nous avons besoin de quelque chose de fiable.
  • Ce rôle ne se connecte pas au web en tant que root, mais comme un utilisateur non privilégié.
  • Ce rôle n'expose pas le fichier de clé privée à l'utilisateur acme non privilégié.
  • Cette demande de certificat peut être faite sur une machine distante via inofix.acme-tiny-setup, de sorte que la clé privée ne soit même pas sur l'hôte demandant le certificat.
  • Ce rôle sera utilisé par maestro et doit suivre la logique utilisée là-bas. (Bien sûr, le rôle peut être utilisé sans maestro..)

Statut

préSTABLE (Gel des fonctionnalités/RC)

Promesse

Bien sûr, ce rôle pourra changer à l'avenir, mais nous n'ajouterons que des fonctionnalités sans casser la compatibilité rétroactive.

Si des changements radicaux deviennent nécessaires, un nouveau rôle sera créé, probablement avec un suffixe 'ng' ou de version...

Installation

ansible-galaxy install inofix.acme-tiny-sign

Exigences

  • Ansible >2.0
  • Sur l'hôte cible
  • UNIX générique avec FHS
  • Python2/3
  • OpenSSL
  • Sudo
  • Serveur web en cours d'exécution avec un répertoire ^/.well-known/acme-challenge/ accessible (codé en dur dans le script acme-tiny..)
  • Le serveur web doit servir HTTP, même pour les certificats suivants (pas seulement HTTPS ; exigence d'acme-tiny/let's-encrypt)
  • Résoudre tous les noms dans le certificat vers localhost ou l'IP locale

Variables de rôle

  • app__acme__user - optionnel, par défaut='acme'
  • app__acme__group - optionnel, par défaut='acme'
  • app__acme__os__cert_group - optionnel, par défaut='{{ default__acme__group }}'
  • app__acme__config_dir - optionnel, par défaut='/etc/ssl/acme'
  • app__acme__account_key - optionnel, automatique
  • app__acme__challenge_dir - optionnel, par défaut='/var/www/acme-challenge'
  • app__acme__domain - optionnel, par défaut=[ {domain='example.com'} ]
  • fqdn - optionnel, par défaut={{ ansible_fqdn | d(inventory_hostname) }}

Dépendances

  • inofix.acme-tiny-install
  • (inofix.acme-setup)
  • inofix.acme-request
  • (inofix.acme-setup)

Exemple de Playbook

- hosts: servers
  roles:
     - inofix.acme-tiny-sign

(Voir inofix.acme-setup)

Licence

GPLv3

Informations sur l'auteur

Installer
ansible-galaxy install inofix.acme-tiny-sign
Licence
gpl-3.0
Téléchargements
102
Propriétaire
INOFIX is a Luzern based software company focused on the development of free software and system solutions.