34 lines
2.0 KiB
Markdown
34 lines
2.0 KiB
Markdown
# vuln-suse – SUSE/openSUSE CSAF mirror
|
||
|
||
Spiegelt die offiziellen **CSAF 2.0 Advisory-Rohdaten** (SUSE und openSUSE) ab Advisory-Jahr 2017 direkt nach Git.
|
||
|
||
Quelle (GWDG-Mirror): https://ftp2.gwdg.de/pub/linux/suse/projects/security/csaf/
|
||
|
||
- `data/index.txt`: unveränderter offizieller Index.
|
||
- `data/csaf/<jahr>/<advisory>.json`: unveränderte CSAF-Dokumente.
|
||
- `state/sync.json`: Indexstand und Rotation für die Rückprüfung alter Dateien.
|
||
|
||
**Nicht enthalten:** Die separate SUSE CSAF-VEX-Sammlung nach CVE. Diese kann als eigenes Repository `vuln-suse-vex` folgen.
|
||
|
||
## Gitea-Installation
|
||
|
||
1. Leeres Repository `VULN/vuln-suse` erstellen.
|
||
2. Dateien initial nach `main` pushen.
|
||
3. Auf dem Gitea-Runner-Host:
|
||
`sudo install -d -o act_runner -g act_runner -m 700 /var/lib/act_runner/cache/vuln-suse`
|
||
4. `git`, `python3`, `flock` (`util-linux`) installieren.
|
||
5. Workflow `SUSE CSAF Mirror` manuell starten. Automatisch alle 6 Stunden um Minute 31 (UTC).
|
||
6. Gitea-Jobtoken `secrets.GITEA_TOKEN` benötigt Schreibrecht auf das Repository.
|
||
|
||
## Ablauf
|
||
|
||
- Erstimport: alle Advisory-JSONs ab 2017 aus `index.txt`.
|
||
- Weitere Läufe: neue/fehlende Dokumente und 300 ältere Dokumente zur Änderungserkennung.
|
||
- Vollabgleich: `python3 scripts/sync.py --full` im persistenten Checkout.
|
||
- Fehlgeschlagene Downloads verhindern Statusfortschreibung und Löschungen.
|
||
- Alte Dateien werden nur entfernt, wenn sie nach erfolgreichem Indexabruf nicht mehr gelistet sind.
|
||
|
||
**Grenze:** Änderungen an alten Dokumenten werden bei der rotierenden Kontrolle verzögert erkannt. `changes.csv` wird aktuell nicht ausgewertet. Der öffentliche GWDG-Mirror kann dem SUSE-Ursprung zeitlich hinterherhinken. Große Erstimports benötigen entsprechend Speicher und Git-Commit-Zeit. Für produktive Nutzung empfiehlt sich zusätzlich ein regelmäßiger `--full`-Abgleich.
|
||
|
||
Sicherheit: Ein `:host`-Runner führt Workflows direkt auf der Gitea-VM aus. Repository-Schreibrechte beschränken und nur vertrauenswürdige Branches ausführen.
|