58 lines
2.8 KiB
Markdown
58 lines
2.8 KiB
Markdown
# vuln-debian – Gitea Security Tracker Mirror
|
||
|
||
Spiegelt den **offiziellen Debian Security Tracker JSON-Export** als Rohdatei nach Gitea.
|
||
|
||
Quelle: https://security-tracker.debian.org/tracker/data/json
|
||
|
||
## Funktionsumfang
|
||
|
||
- Vollständiger JSON-Export, unverändert unter `data/tracker.json`.
|
||
- Paketnamen, CVEs, Releases, Status, `fixed_version`, `urgency` bleiben erhalten.
|
||
- `ETag` / `Last-Modified` werden verwendet, falls der Debian-Server sie liefert.
|
||
- SHA256-Vergleich verhindert unnötige Commits.
|
||
- Dauerhaftes Git-Arbeitsverzeichnis auf demselben Host wie Gitea.
|
||
- Alle sechs Stunden zur Minute 43 UTC, plus manueller Workflow-Start.
|
||
- Gitea-Job-Token: `${{ secrets.GITEA_TOKEN }}`; kein eigener PAT nötig, sofern Push-Berechtigung vorhanden.
|
||
|
||
## Installation
|
||
|
||
1. Leeres Repository `VULN/vuln-debian` erstellen.
|
||
2. Dateien dieses Verzeichnisses hochladen:
|
||
```bash
|
||
git init
|
||
git branch -M main
|
||
git add .
|
||
git commit -m 'Initial Debian mirror'
|
||
git remote add origin https://git.apex-project.de/VULN/vuln-debian.git
|
||
git push -u origin main
|
||
```
|
||
3. Auf der Gitea-VM:
|
||
```bash
|
||
sudo apt update && sudo apt install -y git python3 util-linux ca-certificates
|
||
sudo install -d -o act_runner -g act_runner -m 700 /var/lib/act_runner/cache/vuln-debian
|
||
```
|
||
4. In Gitea die Actions für das Repository aktivieren und den Schreibzugriff des Job-Tokens erlauben.
|
||
5. Unter `VULN/vuln-debian/actions` den Workflow manuell starten.
|
||
|
||
## Cache
|
||
|
||
`/var/lib/act_runner/cache/vuln-debian/repo` enthält einen persistenten Checkout, `/var/lib/act_runner/cache/vuln-debian/.sync.lock` verhindert gleichzeitige Synchronisationen. Das Repository wird nur beim ersten Mal vollständig geklont, danach mit `git fetch --depth 1` aktualisiert.
|
||
|
||
## Quelle und Grenzen
|
||
|
||
Das Debian-JSON ist **kein Archiv nur ab 2017**. Es enthält auch ältere CVEs. Das ist beabsichtigt, da ein Filter die Rohdaten verändern würde; die spätere SQLite-Buildstufe filtert nach Jahr und gewünschter Release-Unterstützung.
|
||
|
||
Der Feed wird als eine große JSON-Datei versioniert. Das ist vollständig und verlustfrei, kann die Git-Historie aber bei häufigen Änderungen vergrößern. Die Inhalte werden nicht zu separaten CVE-Dateien aufgeteilt.
|
||
|
||
Der Feed ist eine abgeleitete Ansicht der Debian-Sicherheitsdaten. Das Schema ist nicht garantiert stabil; bei strukturellen Änderungen bricht die Validierung ab statt stillschweigend Daten zu verlieren. Hinweise zu Redistributon/Nutzungsbedingungen vor öffentlicher Veröffentlichung prüfen.
|
||
|
||
## Diagnose
|
||
|
||
```bash
|
||
sudo journalctl -u act_runner -f
|
||
sudo -u act_runner git -C /var/lib/act_runner/cache/vuln-debian/repo status --short
|
||
sudo du -sh /var/lib/act_runner/cache/vuln-debian/repo
|
||
```
|
||
|
||
Getestet: Python-Syntax, Shell-Syntax, lokale Testdaten. Live-Gitea-Push und großer Debian-Download sind nicht durchgetestet.
|