Un'installazione predefinita ascolta su più porte di quante immagini. Un firewall che nega per impostazione predefinita trasforma «cosa potrebbe essere esposto» in «cosa ho aperto di proposito», che è un elenco molto più corto su cui ragionare.

Guarda prima cosa sta in ascolto

ss -tulpn | grep LISTEN

Tutto ciò che è legato a 0.0.0.0 è raggiungibile da internet. Un database che dovrebbe essere raggiungibile solo in locale va legato a 127.0.0.1, e quella è una correzione nel servizio, non nel firewall.

Consenti SSH prima di attivarlo

Attivare un firewall che nega per impostazione predefinita senza aver prima consentito SSH ti disconnette, e non esiste via di ritorno se non la console del fornitore. È di gran lunga il modo più comune in cui ci si chiude fuori dal proprio server.
ufw allow OpenSSH
ufw allow 80,443/tcp
ufw default deny incoming
ufw default allow outgoing
ufw enable

Verificalo

ufw status verbose

Cosa non fa un firewall

  • Non ferma un attacco sulla porta 443: quella porta è aperta per scelta, e tutto ciò che raggiunge la tua applicazione passa di lì.
  • Non corregge nulla. A un plugin non aggiornato si arriva proprio attraverso la porta che intendevi aprire.
  • Non protegge da una password rubata su un servizio che hai consentito.

Limita la frequenza su SSH

ufw limit OpenSSH

Questo rifiuta un indirizzo dopo sei tentativi in trenta secondi. Dove le chiavi sono già obbligatorie è cintura e bretelle — e tiene leggibile il registro.

Annota in un commento perché ogni regola esiste. Fra un anno la domanda «posso chiudere questa?» non avrà risposta senza quella nota, e così nessuno chiude più nulla.