Porte TCP: le porte d'ingresso del tuo server
Ogni servizio di rete ascolta su una o più porte TCP (o UDP): il web server sulla porta 80 (HTTP) e 443 (HTTPS), SSH sulla 22, SMTP sulla 25, il database sulla 3306 (MySQL) o 5432 (PostgreSQL). Ogni porta aperta è un potenziale punto di ingresso per un attaccante: se il servizio ha una vulnerabilità, la porta aperta ne consente lo sfruttamento. La regola d'oro della sicurezza di rete è il principio del minimo privilegio: esponi solo le porte strettamente necessarie.
Il Port Scanner esegue una scansione sistematica delle porte TCP di un host, identificando quali sono aperte (un servizio risponde), chiuse (nessun servizio, l'host risponde con RST) o filtrate (nessuna risposta, un firewall blocca il traffico). Per ogni porta aperta, identifica il servizio associato e, dove possibile, la versione del software. Questa informazione è il punto di partenza per qualsiasi audit di sicurezza o hardening del server.
Quali porte controllare
Per un web server, le porte necessarie sono tipicamente solo 80 e 443. SSH (22) dovrebbe essere accessibile solo da IP autorizzati tramite firewall o VPN. Le porte dei database (3306, 5432, 27017) non dovrebbero mai essere esposte su Internet. Porte come 8080, 8443, 3000, 9090 indicano spesso servizi di sviluppo o pannelli di amministrazione che non dovrebbero essere pubblici. Verifica anche le porte email (25, 587, 993, 995) solo sui server che gestiscono posta.
Hardening e riduzione della superficie di attacco
Dopo la scansione, agisci su ogni porta aperta non necessaria: disabilita i servizi inutili e configura il firewall per bloccare il traffico. Su Linux, usa ufw o iptables per creare regole whitelist (nega tutto, poi permetti esplicitamente solo le porte necessarie). Verifica la configurazione con una nuova scansione. Per SSH, considera il cambio di porta (da 22 a un'altra), l'autenticazione solo con chiave pubblica, e il fail2ban per bloccare i brute-force.
Completa l'audit di sicurezza verificando il certificato SSL sulle porte HTTPS con SSL Check e gli header di sicurezza HTTP con Security Headers. Per i server email, verifica anche che non siano open relay con Open Relay Test. Un server con solo le porte necessarie aperte, servizi aggiornati, e configurazione hardened è significativamente più resistente agli attacchi rispetto a uno con la configurazione di default.
La scansione delle porte dovrebbe essere una pratica regolare, non un evento una tantum. Ogni aggiornamento software, ogni nuova installazione, ogni modifica alla configurazione può aprire nuove porte. Automatizza scansioni periodiche e confronta i risultati con la baseline per identificare cambiamenti non autorizzati. Un servizio che appare dove non dovrebbe essere è un segnale d'allarme che merita investigazione immediata.