Obelica Docs
Sicurezza

Modello sicurezza

Perimetro, accessi, privilegi e regole di sicurezza

Confine pubblico

Porte pubbliche intenzionali:

  • 80/tcp: HTTP pubblico per redirect e ACME HTTP challenge;
  • 443/tcp: HTTPS pubblico;
  • 22/tcp: SSH, limitato dal DigitalOcean Cloud Firewall agli IP fidati.

Porte locali intenzionali:

  • 127.0.0.1:8080: dashboard Traefik;
  • 127.0.0.1:3333: Forgejo HTTP;
  • 127.0.0.1:3334: Obelica Docs.

Principio guida

Pubblico solo cio' che deve servire utenti finali. Tutto cio' che e' admin, Git, dashboard, docs interne o database resta privato.

Stato positivo

  • Docker attivo.
  • Fail2ban attivo.
  • UFW attivo.
  • Traefik dashboard su loopback.
  • Forgejo su loopback.
  • Docs su loopback.
  • Postgres Forgejo non pubblica porte host.
  • Config e secret sono separati.
  • Gli script operativi non stampano valori secret.
  • I backup sono cifrati prima del salvataggio.
  • DNS/TLS staging *.vps.obelica.com allineato al droplet.

Rischi consapevoli

RischioStato
bona nel gruppo dockeraccettato per modello single-operator, trattato come root-equivalent
Traefik monta Docker socket read-onlyaccettato ora, valutare socket proxy in futuro
SSH porta host apertamitigata da DigitalOcean Cloud Firewall
Backup locali sullo stesso dropletutile ma non sufficiente per disaster recovery
Forgejo privato senza offsite backupda hardenizzare prima di pubblicarlo
Produzione app ancora su Vercelaccettato finche' le app non sono validate e migrate una per una

Controlli da non saltare

obelica security
obelica doctor
ss -tulpen
docker ps
docker compose ls

Con root:

sudo ufw status numbered
sudo sshd -T | grep -E 'permitrootlogin|passwordauthentication|pubkeyauthentication|kbdinteractiveauthentication'
sudo fail2ban-client status
sudo fail2ban-client status sshd

On this page