Journal de bord 18 janvier 2021

Ce soir, on continue le role ansible nginx.

Posté le
2 minutes
245 mots

On va écrire les tests puis les appliquer.

Les tests seront de 2 types, internes et externes.

  • Les tests internes vont vérifier la configuration de nginx.
  • Les tests externes vont vérifier que nginx produit bien des pages web accessibles depuis l’extérieur.

On va formaliser ces tests avec :

inspec/inspec

Avec Inspec, les tests internes seront différenciés par le fait qu’ils seront exécutés dans l’environnement distant.

Pourquoi l’environnement distant ?

Parceque nous n’exécutons jamais Inspec au sein de l’environnement testé. Cela afin d’éviter des biais de test entre le dev, le staging et la prod.

Nos tests Inspec pour nginx sont basés sur :

dev-sec/nginx-baseline

J’ai donc créé un PR pour soft-coder l’emplacement des fichiers de configurations nginx. Cela permettra de rendre le profil compatible avec des installs qui utilisent la XDGBase Directory Specification :

softcoded nginx path by micheelengronne · Pull Request #43 · dev-sec/nginx-baseline

Pour la disposition des couples clé/certificat TLS et le certificat de la chaîne de confiance, je place tout ça dans $HOME/.ssl par analogie avec la disposition de ssh. Je nomme les fichiers selon le nom de domaine qu’ils signent. Le certificat de la chaîne est nommé root.crt en rappel de la façon de nommer chez Postgres.

La génération de Diffie-Helman est longue mais m’a donné une idée. Un service qui génère à l’avance du Diffie-Helman. Il en existe déjà un basé sur dhtools :

Public Diffie-Hellman Parameter Service/Tool

Donc un deuxième service serait pas mal (avec des fonctionnalités supplémentaires) ?