View Full Version : iptables ... chi era costui? [Per esperti di sicurezza]
Salve a tutti ho la kubuntu 6.06.1 e per filtrare i messaggi di posta ho installato p3scan e ho creato le seguenti regole iptables per rigirare in modo traspsrente il traffico sulla porta 110 vero la 8110 (dove sta in ascolto p3scan).
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport pop3 -j REDIRECT --to 8110
iptables -t nat -I OUTPUT -p tcp --dport 110 -j REDIRECT --to 8110
iptables -t nat -I OUTPUT -p tcp --dport 110 -m owner --uid-owner clamav -j ACCEPT
il risultato del comando iptables -L è
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
e quello di iptables -t nat -L è
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- anywhere anywhere tcp dpt:pop3 redir ports 8110
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:pop3 OWNER UID match clamav
REDIRECT tcp -- anywhere anywhere tcp dpt:pop3 redir ports 8110
Adesso però facendo una scansione con nmap appare che la porta 8110 è aperta e, peggio ancora, facendo una scansione online con il sito ShieldsUP (http://www.grc.com/default.htm) la porta in questione appare come closed (invece che stealth).
Come faccio a farla apparire stealth?
Per dirla in altri termini, devo creare una regola che blocchi le connessioni dall'esterno che non siano state richieste dalla macchina?
Come si fa?
Grazie,
Xwang
aggiungo che seguendo questa guida (http://doc.gwos.org/index.php/IptablesFirewall)
ho creato i file in modo che venissero impostate le regole che riportato sopra in fase di avvio della macchina.
Nel particolare il file /etc/firewall.bash è:
#!/bin/bash
# Start message
echo " [Start iptables rules setting]"
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport pop3 -j REDIRECT --to 8110
iptables -t nat -I OUTPUT -p tcp --dport 110 -j REDIRECT --to 8110
iptables -t nat -I OUTPUT -p tcp --dport 110 -m owner --uid-owner clamav -j ACCEPT
# End message
echo " [End iptables rules setting]"
mentre /etc/flush_iptables.bash contiene:
#!/bin/sh
# Start message
echo " [Start of iptables flush]"
iptables -t nat -F
# End message
echo " [End of iptables flush]"
Che devo aggiungere per rendere tutte le porte invisibili per i pacchetti non sollecitati?
Xwang
Mah guarda e` normale che le porte non ti appaiano "stealth" nel test di Gibson, dato che non hai impostato nessuna regola di filtering...
Come e` normale che nmap te la dia open, se non fosse cosi` come farebbe a funzionare?
Il metodo "corretto" per fare un firewall sarebbe di bloccare tutto (settando le policy su drop) e mettere rules specifiche per le cose da aprire, pero` cosi` sebbene molto piu` sicuro e` anche molto piu` difficile da fare (ma ci sono cose gia` pronte ed esempi in giro).
Per bloccare solo la 8110 da internet e` sufficente un iptables -A INPUT -i ppp0 -p tcp --dport 8110 -j DROP.
(Il "da internet" si traduce nel "-i ppp0", che e` in pratica se hai una adsl... in altri casi si fa in altri modi)
Mah guarda e` normale che le porte non ti appaiano "stealth" nel test di Gibson, dato che non hai impostato nessuna regola di filtering...
Come e` normale che nmap te la dia open, se non fosse cosi` come farebbe a funzionare?
Il metodo "corretto" per fare un firewall sarebbe di bloccare tutto (settando le policy su drop) e mettere rules specifiche per le cose da aprire, pero` cosi` sebbene molto piu` sicuro e` anche molto piu` difficile da fare (ma ci sono cose gia` pronte ed esempi in giro).
Per bloccare solo la 8110 da internet e` sufficente un iptables -A INPUT -i ppp0 -p tcp --dport 8110 -j DROP.
(Il "da internet" si traduce nel "-i ppp0", che e` in pratica se hai una adsl... in altri casi si fa in altri modi)
Io ho l'adsl, ma mi collego al router tramite la porta ethernet.
La tua regola non andrebbe in contrasto con quello che fa il redirecting della 110 sulla 8110?
Quello che penso che mi servirebbe è di aggiungere a queste regole:
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport pop3 -j REDIRECT --to 8110
iptables -t nat -I OUTPUT -p tcp --dport 110 -j REDIRECT --to 8110
il fatto di funzionare solo per i pacchetti che provengono dall'interno dal localhost o che provenendo dall'esterno siano stati sollecitati dall'interno.
Si può fare?
Xwang
Se hai router e` su quello che e` piu` logico agire per bloccare da internet...
Poi se dici che il coso va usato solo da localhost non capisco perche` hai messo quella regola di prerouting su eth0 ? (Avevo capito che avevi un server pop3 su sta macchina con delle mailbox di altri..)
Cmq resta il fatto che se vuoi bloccare l'accesso a quel daemon, un DROP da qualche parte lo devi pur mettere. Supponendo (sperando di aver capito stavolta) che e` un coso che utilizzi soltanto te per filtrare quando scarichi la tua posta, potrebbe essere cosi`:
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp --dport 8110 -j DROP
-t nat -A OUTPUT -p tcp --dport 110 -j REDIRECT --to 8110
Se hai router e` su quello che e` piu` logico agire per bloccare da internet...
Poi se dici che il coso va usato solo da localhost non capisco perche` hai messo quella regola di prerouting su eth0 ? (Avevo capito che avevi un server pop3 su sta macchina con delle mailbox di altri..)
Cmq resta il fatto che se vuoi bloccare l'accesso a quel daemon, un DROP da qualche parte lo devi pur mettere. Supponendo (sperando di aver capito stavolta) che e` un coso che utilizzi soltanto te per filtrare quando scarichi la tua posta, potrebbe essere cosi`:
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp --dport 8110 -j DROP
-t nat -A OUTPUT -p tcp --dport 110 -j REDIRECT --to 8110
Grazie per la risposta.
Ho provato a mettere le regole che hai detto, ma la porta continua ad apparire chiusa invece che stealth (nmap invece la vede come filtered) e, soprattutto, non riesco a scaricare la posta.
Boh!
Xwang
Grazie per la risposta.
Ho provato a mettere le regole che hai detto, ma la porta continua ad apparire chiusa invece che stealth (nmap invece la vede come filtered) e, soprattutto, non riesco a scaricare la posta.
Boh!
Xwang
Secondo me che appaia chiusa o stealth su quel sito dipende dal router, non dal pc. Non e` detto che la si possa stealthare, dipende da cosa fa il firewall del router! Se invece di ignorare e basta, butta fuori degli RST... rimane cosi` (sui routerini semplici non si possono cambiare ste cose.)
Nmap dovrebbe restituire filtered (che sarebbe a dire stealth) se lo fai da un altro pc nella LAN.
E dovrebbe dare open se lo fai su localhost, in virtu` della prima rule...
Non riesci a scaricare la posta perche`?
Infilaci un :
-A INPUT -p tcp --dport 8110 -m limit --limit 30/minute -j LOG --log-prefix "==DROP== "
...alla seconda riga (prima della riga di drop).
Con questa quando provi a scaricare dovrebbero apparire nel log del kernel i pakketti bloccati. Cosi` si capisce cosa va aperto per farlo funzionare, io faccio sempre cosi` x risolvere i casini coi firewall.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.