Skip to main navigation Skip to main content Skip to page footer

Come bloccare il traffico internet in ingresso e autorizzare quello interno

Quello che vuoi fare è un classico caso di firewall + differenziazione tra traffico interno ed esterno. La soluzione dipende un po’ da dove gira il server (Linux immagino), ma il concetto è questo:

  • Da Internet (esterno) → apri solo alcune porte
  • Dalla LAN (192.168.1.0/24) → consenti tutto

Ti faccio un esempio concreto con iptables (ancora molto usato) e poi ti accenno anche a ufw se vuoi qualcosa di più semplice.


🔧 Soluzione con iptables

1. Imposta policy di default restrittiva

Blocchi tutto in ingresso:

 

iptables -P INPUT DROP

 


2. Permetti traffico locale e già stabilito

 

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

 


3. Consenti TUTTO dalla rete interna

 

iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT

 

👉 Questo è il punto chiave: la LAN bypassa le restrizioni


4. Apri solo alcune porte verso l’esterno

Esempio: SSH, HTTP, HTTPS

 

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

 


5. (Opzionale) Log dei pacchetti bloccati

 

iptables -A INPUT -j LOG --log-prefix "DROP: "

 


🧠 Risultato finale

OriginePorte accessibili
InternetSolo 22, 80, 443
LAN 192.168.1.xTutte

🔥 Alternativa più semplice: UFW

Se usi Ubuntu/Debian:

Default deny

 

ufw default deny incoming

 

Permetti LAN

 

ufw allow from 192.168.1.0/24

 

Apri porte pubbliche

 

ufw allow 22
ufw allow 80
ufw allow 443

 

Attiva

 

ufw enable

 


⚠️ Nota importante

  • Se il server è dietro router/NAT, devi anche configurare il port forwarding
  • Se hai Docker, Kubernetes o servizi che aprono porte → potrebbero bypassare iptables
  • Verifica con:

     

    ss -tulnp

     


👍 Consiglio pratico

Se vuoi, dimmi:

  • che OS usi (Ubuntu, Debian, CentOS, ecc.)
  • se hai Docker o servizi particolari

e ti preparo una configurazione perfetta e persistente (con nftables o systemd) 👍