Ein Release prüfen
Prüfen, ob ein Binary, Container-Image oder Helm-Chart des InfraFence-Agenten das offizielle signierte Release ist: SHA-256-Prüfsummen, Cosign-Signaturen, GitHub-Build-Provenienz und die GPG-Signatur des Charts.
Zuletzt aktualisiert:
Jedes Release wird von GitHub Actions aus dem öffentlichen Repository gebaut. Jedes Binary wird mit einer SHA-256-Prüfsumme und einer Cosign-Signatur veröffentlicht, das Container-Image ist per Digest signiert, und das Helm-Chart ist mit einem separaten GPG-Schlüssel signiert. Der Agent selbst lehnt jedes Update ab, dessen Prüfsumme oder Signatur die Prüfung nicht besteht.
Release-Dateien
| Datei | Was |
|---|---|
infrafence-agent-linux-amd64, infrafence-agent-linux-arm64 |
Die statischen Binaries. |
infrafence-agent-linux-amd64-k8s, infrafence-agent-linux-arm64-k8s |
Dieselben, mit Kubernetes-Unterstützung. |
<binary>.sha256, <binary>.sig |
Prüfsumme und Cosign-Signatur jedes Binarys. |
checksums.txt, checksums.txt.sig |
Alle Prüfsummen, signiert. |
install.sh |
Der Installer. |
waf-catalog.json |
Die eingebauten Muster der Web-Firewall. |
Prüfsumme
curl -sL https://github.com/infrafence/infrafence-agent/releases/latest/download/checksums.txt
sha256sum /usr/local/bin/infrafence-agentNimm das Release, das zur installierten Version passt (infrafence-agent version gibt sie ab 1.0.34 aus, infrafence-agent check in jeder Version): Ersetze latest/download durch download/v<version>.
Cosign-Signatur
cosign verify-blob \
--key https://raw.githubusercontent.com/infrafence/infrafence-agent/main/cosign.pub \
--signature https://github.com/infrafence/infrafence-agent/releases/latest/download/infrafence-agent-linux-amd64.sig \
/usr/local/bin/infrafence-agentOhne Cosign geht dieselbe Prüfung mit OpenSSL (die Signatur ist eine ECDSA-P-256-Signatur, Base64-kodiert):
curl -sLO https://raw.githubusercontent.com/infrafence/infrafence-agent/main/cosign.pub
curl -sL https://github.com/infrafence/infrafence-agent/releases/latest/download/infrafence-agent-linux-amd64.sig | base64 -d > agent.sig.der
openssl dgst -sha256 -verify cosign.pub -signature agent.sig.der /usr/local/bin/infrafence-agentBuild-Provenienz
gh attestation verify infrafence-agent-linux-amd64 --repo infrafence/infrafence-agentContainer-Image
Das Image ghcr.io/infrafence/infrafence-agent ist mit demselben Schlüssel signiert, per Digest:
cosign verify --key https://raw.githubusercontent.com/infrafence/infrafence-agent/main/cosign.pub ghcr.io/infrafence/infrafence-agent:latestHelm-Chart
Das Chart ist mit einem eigenen GPG-Schlüssel signiert, getrennt vom Cosign-Schlüssel:
curl -sL https://raw.githubusercontent.com/infrafence/infrafence-agent/main/infrafence-helm-signing-key.asc | gpg --import
helm verify infrafence-agent-<version>.tgz