Some checks are pending
verifier / verifier (push) Waiting to run
Chezlepro rangeait ses instantanes sur une VM DE SA PROPRE FLOTTE. Raser l ecosysteme pour le reconstruire, c etait raser le filet avec. Le site a son depot ; les neuf detenteurs d etat y deposent ; une restitution est sortie (annuaire LDAP lisible, hors flotte). Isolation par compte Unix, pas par convention : home 0700, cle exclusive, racine partagee a root en 0711 (traversable, non listable). Les deux refus constates. Le site heberge du chiffre : il ne peut ni lire ni ouvrir, d ou la verification deplacee chez le locataire qui detient la cle. Quatre defauts reveles par ce deuxieme usage : - la racine des depots ne peut etre le home de personne (StrictModes rendait Permission denied publickey pour un refus de CHEMIN) - la racine nie le TLD internal, et harden-below-nxdomain etendait ce non a toute la zone sans jamais interroger l autoritatif : aucun locataire ne pouvait nommer un service du site - le gabarit transporte des fichiers de durcissement perimes, et les machines du site ne recoivent jamais ssh_hardening - MaxStartups compte les connexions non authentifiees : un depot de site en voit la somme de ses locataires Constat non corrige : les machines du site ne sont pas durcies. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019f91zs9SDdwSzL2CVei6on
44 lines
1.7 KiB
YAML
44 lines
1.7 KiB
YAML
---
|
|
- name: Exiger la clé publique de sauvegarde
|
|
ansible.builtin.assert:
|
|
that:
|
|
- serveur_backup_pubkey | length > 0
|
|
fail_msg: "serveur_backup_pubkey requis (clé publique de la paire de sauvegarde)."
|
|
|
|
- name: Créer l'utilisateur de sauvegarde
|
|
ansible.builtin.user:
|
|
name: "{{ serveur_backup_utilisateur }}"
|
|
home: "{{ serveur_backup_racine }}"
|
|
shell: /bin/bash
|
|
create_home: true
|
|
system: true
|
|
|
|
- name: Sécuriser la racine des dépôts
|
|
ansible.builtin.file:
|
|
path: "{{ serveur_backup_racine }}"
|
|
state: directory
|
|
owner: "{{ serveur_backup_utilisateur }}"
|
|
group: "{{ serveur_backup_utilisateur }}"
|
|
mode: "0700"
|
|
|
|
- name: Autoriser la clé SSH de sauvegarde
|
|
ansible.posix.authorized_key:
|
|
user: "{{ serveur_backup_utilisateur }}"
|
|
key: "{{ serveur_backup_pubkey }}"
|
|
state: present
|
|
|
|
|
|
# LA VÉRIFICATION SUPPOSE DE POUVOIR OUVRIR LES DÉPÔTS — CE QUI N'EST PAS TOUJOURS VRAI.
|
|
#
|
|
# Ce qui suit interroge restic, donc déchiffre. Un dépôt ne peut le faire que s'il
|
|
# détient le mot de passe des dépôts qu'il garde — vrai chez un écosystème, qui garde
|
|
# les siens ; FAUX chez le dépôt d'un site, qui garde ceux de ses locataires et ne
|
|
# détient aucun de leurs mots de passe. Il héberge du chiffré : c'est la propriété qui
|
|
# rend l'hébergement acceptable, pas une lacune à combler.
|
|
#
|
|
# Là où le site ne peut pas vérifier, c'est le LOCATAIRE qui vérifie — il détient la
|
|
# clé, et il est seul à savoir ce qu'il a envoyé. La surveillance ne disparaît donc
|
|
# pas : elle reste chez celui qui peut réellement l'exercer.
|
|
- name: Vérification locale des dépôts (là où ce dépôt peut les ouvrir)
|
|
ansible.builtin.include_tasks: verification.yml
|
|
when: serveur_backup_verification_locale | bool
|