Aller au contenu

Télécharger Auspex

Les fichiers de chaque version sont publiés sur la page de la dernière version, avec leurs empreintes et leurs signatures. Nouveautés : notes de version.

Central (NetBox + Auspex)

Le central s'installe depuis le code source, sur une machine Linux avec Docker et Docker Compose v2 (2 vCPU, 4 Go de RAM). Remplacer vX.Y.Z par le numéro de la dernière version :

git clone --branch vX.Y.Z https://github.com/Jezu-CI/AUSPEX.git auspex
cd auspex/deploy
./install.sh

Suite : Déployer le central · Exploitation.

Appliance du capteur

Fichier Usage
auspex-capteur-<version>.iso appliance du capteur (clé USB, CD, machine virtuelle)
auspex-capteur-<version>.squashfs image de mise à jour de l'analyse, à publier par le central
auspex-sbom.cdx.json inventaire logiciel (CycloneDX)
SHA256SUMS empreintes des fichiers
SHA256SUMS.sigstore.json signature des empreintes (Sigstore)
auspex-provenance.sigstore.json provenance de chaque fichier (SLSA)

Suite : Appliance capteur · Capteurs, en détail.

Le capteur existe aussi en image Docker, à construire depuis le code (docker build -t auspex-sensor sensor) : voir Capteur.

Vérifier un fichier téléchargé

Chaque version est signée avec Sigstore par le workflow de publication du dépôt, sans clé à gérer ni à récupérer : le certificat de signature est émis pour l'identité de ce workflow et inscrit au journal public de transparence Rekor. Une attestation de provenance (SLSA) indique en plus le commit et le workflow qui ont produit chaque fichier.

Télécharger, dans un même dossier, le fichier voulu, SHA256SUMS et SHA256SUMS.sigstore.json, puis, avec cosign :

cosign verify-blob --bundle SHA256SUMS.sigstore.json \
  --certificate-identity-regexp '^https://github\.com/Jezu-CI/AUSPEX/\.github/workflows/version\.yml@refs/(heads/main|tags/v[0-9]+\.[0-9]+\.[0-9]+)$' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing

La première commande prouve que la liste d'empreintes vient du projet ; la seconde, que le fichier téléchargé correspond à son empreinte. Depuis le code source, tools/verifier-version.sh fait les deux.

Recouper hors GitHub. À la publication de chaque version, SHA256SUMS et sa signature sont copiés automatiquement dans un miroir hébergé ailleurs que sur GitHub : codeberg.org/Jezu_CI/AUSPEX-empreintes, un dossier par version, jamais modifié ensuite. Si le compte GitHub du projet était compromis, la page de version et ses empreintes pourraient être modifiées ensemble ; une différence avec le miroir le révélerait. En donnant la version au script, la comparaison est faite en plus :

tools/verifier-version.sh DOSSIER v0.2.0

Ou à la main (aucune sortie : identique) :

curl -fsSL https://codeberg.org/Jezu_CI/AUSPEX-empreintes/raw/branch/main/v0.2.0/SHA256SUMS | diff - SHA256SUMS

Provenance d'un fichier, avec GitHub CLI :

gh attestation verify auspex-capteur-<version>.iso --repo Jezu-CI/AUSPEX \
  --signer-workflow Jezu-CI/AUSPEX/.github/workflows/version.yml

Chaque publication vérifie ces commandes sur les vrais fichiers, et vérifie qu'un fichier, une liste d'empreintes ou une provenance altérés sont refusés.

Prérequis

Composant Minimum
Central Linux, Docker et Docker Compose v2, 2 vCPU, 4 Go de RAM
Capteur (appliance) x86-64, 2 Go de RAM, deux cartes réseau (administration, écoute), un disque de données
Capteur (Docker) Linux, Docker, une interface reliée à un port miroir ou un TAP