Audit
Audit iniziale 2026-06-17
Primo audit operativo del droplet e fix applicati
Scope
Giro operativo del server /opt/obelica con creazione documentazione e miglioramento script. Non sono stati salvati valori secret.
Comandi principali
docker ps;docker network ls;docker compose ls;docker version;ss -tulpen;systemctl is-active docker ssh fail2ban ufw;- script
status,health,doctor,security,backup; - lettura compose e documentazione sotto
/opt/obelica.
Stato positivo
- Docker attivo.
- Stack Compose rilevati e running.
test.obelica.comrisolve al droplet.- HTTPS pubblico su
test.obelica.com. - Traefik pubblica
80/443. - Traefik dashboard solo
127.0.0.1:8080. - Forgejo solo
127.0.0.1:3333. - Obelica Docs solo
127.0.0.1:3334. forgejo-dbhealthy.- Postgres Forgejo risponde a
select 1. - Permessi principali secret e
acme.jsoncorretti secondo audit precedente.
Fix applicati agli script
Riscritti:
backup-configs.sh;check-dns.sh;check-security.sh;doctor.sh;health.sh;status.sh.
Aggiunto:
/opt/obelica/infra/scripts/lib/common.shCambiamenti:
sudo -nper controlli privilegiati;- stato
UNKNOWNper permessi mancanti; - exit code coerenti;
- caricamento config dai file reali;
- separazione config/secret;
- manifest secret redatti;
- backup Forgejo DB parametrizzato;
- backup app-data Forgejo anti-archivi parziali.
Backup privilege study
Findings:
bonae' nel gruppodocker;- Docker access e' root-equivalent;
sudo -n truerichiede password;/opt/obelica/data/forgejo/app/sshe' root-owned;- il container Forgejo puo' leggere
/data/ssh.
Implementato:
- backup app-data via
docker exec forgejo tar ... -C /data .; - archivio temporaneo validato con
tar -tzf; - pubblicazione solo dopo validazione;
- fallback host solo se container non disponibile.
Verifica:
/opt/obelica/backups/dumps/manual-2026-06-17_02-30-12Prodotti:
forgejo.sql.gz
forgejo-app-data.tar.gzProblemi ancora aperti
- Cloud Firewall DigitalOcean da verificare esternamente.
- Retention backup non ancora automatica.
- Backup offsite non configurato.
- Restore test non eseguito.
- Monitoring e alert non configurati.
- CI/CD da Forgejo non ancora presente.
Decisione
Non aggiungere passwordless sudo ampio ora.
Trattare Docker group come canale operativo privilegiato e rivalutare systemd timer root-owned o backup user dedicato quando si automatizzano backup schedulati.