Newsgroup: it.comp.reti.locali
Titolo: iptables che non blocca ssh

Ciao,
in azienda abbiamo un piccolo firewall Linux Suse 10.0 installato in
modalità grafica minima che ha la funzione di proteggere la lan
mediante iptables, ed è a sua volta collegato ad un router adsl che
esce in internet.
Le policy di iptables sono impostate a DROP su tutte le catene e non
sono mappate porte in ingresso, ma solo connessioni RELATED ed
ESTABLISHED, ed è attivo il nat.
Mi sono accorto che sul firewall è in esecuzione SSH, e per prova, pur
sapendo che non avrebbe funzionato, ho aperto la porta 22 del router e
dall'esterno mi sono collegato con ssh all'indirizzo del router: con
mia grande sorpresa mi ha risposto il server ssh in esecuzione sul
firewall!!! Nonostante iptables!!!
Forse vi sono servizi che esulano dal controllo di iptables? (Per es.
vnc, ssh, ...)
Com'è possibile? Come controllarli?
Qualcuno può spiegarmi come stanno le cose per favore?
Grazie infinite.

 Com'è possibile? Come controllarli?
L'unica cosa per puoi fare adesso per verificare cosa non va e' postare
qua l'output di iptables-save.
bye G.L.
-- 
Renaissance, aka Gian Luca Sole
Per rispondere, togli nospam al contrario, e cambia nazione
"E' assolutamente evidente che l'arte del cinema si ispira
alla vita, mentre la vita si ispira alla TV" - Woody Allen


ed ecco il listato di iptables:
# Generated by iptables-save v1.3.3 on Thu Sep 14 10:06:30 2006
*filter
:INPUT DROP [39308:5139322]
:FORWARD DROP [90:6840]
:OUTPUT DROP [15:828]
-A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j REJECT --reject-with
icmp-port-unreachable
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit
1/sec -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A FORWARD -p icmp -m icmp --icmp-type 8 -j REJECT --reject-with
icmp-port-unreachable
-A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit
--limit 1/sec -j ACCEPT
-A FORWARD -i eth1 -o eth2 -j LOG --log-prefix "firewall"
-A FORWARD -i eth2 -o eth1 -j LOG --log-prefix "firewall"
-A FORWARD -i eth1 -o eth2 -j DROP
-A FORWARD -i eth2 -o eth1 -j DROP
-A FORWARD -s ! 
192.168.0.0/255.255.255.0
 -i eth0 -o eth2 -j LOG
--log-prefix "firewall3"
-A FORWARD -s ! 
192.168.0.0/255.255.255.0
 -i eth0 -o eth1 -j LOG
--log-prefix "firewall2"
-A FORWARD -s ! 
192.168.0.0/255.255.255.0
 -i eth0 -o eth1 -j DROP
-A FORWARD -s ! 
192.168.0.0/255.255.255.0
 -i eth0 -o eth2 -j DROP
-A FORWARD -i eth0 -o eth1 -p udp -m udp --dport 53 -j ACCEPT
-A FORWARD -i eth0 -o eth1 -p tcp -m multiport --dports
21,25,53,80,110,119 -j ACCEPT
-A FORWARD -i eth0 -o eth2 -p tcp -m multiport --dports
449,8470,9470,8476,9476,23,992 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p tcp -j REJECT --reject-with tcp-reset
-A OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Thu Sep 14 10:06:30 2006
# Generated by iptables-save v1.3.3 on Thu Sep 14 10:06:30 2006
*nat
:PREROUTING ACCEPT [60774:6165819]
:POSTROUTING ACCEPT [7268:297833]
:OUTPUT ACCEPT [204:15405]
-A POSTROUTING -s 
192.168.0.0/255.255.255.0
 -d 
10.0.0.0/255.0.0.0
 -o
eth2 -j SNAT --to-source 10.13.0.254
-A POSTROUTING -s 
192.168.0.0/255.255.255.0
 -o eth1 -j SNAT --to-source
192.168.1.254
COMMIT
# Completed on Thu Sep 14 10:06:30 2006
eth0 è collegato sulla lan, ed eth1 e eth2 su due router (uno va verso
inet e l'altro verso una rete geografica)
Grazie infinite.

 1/sec -j ACCEPT
Questa, IMHO: equivale ad avere l'input per tutte le porte tcp aperto al
mondo.



Certo, hai ragione. Tu sai che spesso le migliori intenzioni vengono
scambiate per le peggiori azioni!
L'intenzione era quella di impedire i famosi syn-flood, ma mi sa che ho
sbagliato metodo. Mi aiuteresti ad aggiustare l'istruzione?
Ti ringrazio.

 Ti ringrazio.
De nada.


 sbaglio in passato te ne postai uno mio, ho collaudato da anni)
Saresti così gentile da rimandarmelo, così lo guardo con più
attenzione?
Grazie per i consigli. Farò delle prove togiendo ciò che non serve
come dici tu.
Grazie infinite.
Ciao

 come dici tu.
Comunque quella regola e' si' valida per impedire i flood, ma se
la limiti sul/i servizio/i che comunque vuoi aprire all'esterno.
Se non hai servizi da aprire all'esterno che non vuoi che vengano
"floodati", ed e' il caso di un firewall come dio comanda, non hai
di questi problemi: quindi, e' una regola in questo caso inutile.
Si deve comunque cercare di non mettere mai troppa carne al fuoco,
quando non si conoscono bene tutti i meccanismi... vuoi mai che,
invece di rafforzare la sicurezza, si apra un gigantesco security hole.
:-)


 :-)
come, per esempio, ho fatto io!.
Cmq è grazie alle persone disponibili come te che ho modo di capire
gli errori e di imparare a gestire meglio le cose.
Ti ringrazio.
Ciao