CransWiki:

Autre chose que https ?

Si vous cherchez à migrer un service n'utilisant pas https, peut-être voulez-vous consulter la page CertificatsTLS

Le Crans utilise deux serveurs bakdaur (principal) et frontdaur (backup) qui permettent de centraliser le traffic entrant vers les services Web.

Les deux serveurs se partagent l'adresse IP liée à proxy.crans.org. En fonctionnement normal, bakdaur possède l'ip et reste en fonction. En cas de souci, frontdaur prend la main grâce à Keepalived. Ce deuxième serveur est aussi utile pour tester le déploiement d'une nouvelle configuration nginx, avant de l'appliquer pour tout le monde.

Avantages :

Inconvénients :

Legacy : avant on générait deux certificats (hostnames-a-m.crans.org et hostnames-n-z.crans.org) avec un challenge Let's Encrypt HTTP-01. Maintenant on a un certificat Wildcard avec un challenge DNS-01 qui permet de simplifier beaucoup la configuration.

Un schéma de principe résume la situation, avec deux alternatives possibles (fichiers statiques desservis par bakdaur ou le serveur initial).

Ticket phabricator: https://phabricator.crans.org/T9

Let's encrypt

La génération et le renouvellement des certificats se fait avec certbot. Voir le rôle Ansible pour plus de détails, mais en gros il parle à silice.crans.org pour ajouter temporairement une entrée DNS et effectuer un challenge DNS-01.

Pour initialiser le certificat la première fois, il faut lancer certbot avec les fichiers de conf dans /etc/letsencrypt/conf.d.

Renouvellement

C'est automatique avec un timer Systemd ! Si ça fail, prometheus relève l'alerte.

Je veux du HTTPS sur mon nouveau site !

Ci-dessous, la procédure étape par étape :

  1. Ajouter la règle de reverse proxy dans network.yml ;

  2. Lancer ce playbook Ansible avec --limit frontdaur.adm.crans.org et vérifier que ça marche ;

  3. Lancer ce playbook Ansible sur bakdaur ;
  4. Danser sur place et profiter.


CransWiki: CransTechnique/Chiffrement/CentralisationHttps (dernière édition le 2020-05-04 14:40:25 par WikiErdnaxe)