Newsgroup: it.comp.os.linux.sys
Titolo: Iptables e 2 schede di rete: le politiche non funzionano

Ho una macchina con una Red Hat 7.1 e kenel 2.4.10, collegata ad una lan locale
e ad internet tramite un router adsl.
Il problema nasce nella configurazione del firewall: per quanto imposti le
politiche su DROP, i servizi disponibili per la LAN sono ugualmente disponibili
da internet, e questo non mi piace affatto.
Ad esempio per la rete interna l'ftp e' abilitato, mentre in teoria per
l'esterno no, invece se provo a connettermi da casa questo e' perfettamente
funzionante
Premetto che per ora ho risolto bloccando esplicitamente le porte
sull'interfaccia collegata al router adsl, ma quello che non capisco e' perche'
le policy non vadano.
Vi posto la configurazione del firewall che mi da' problemi, sperando che
qualcuno trovi l'errore.
Un grazie a tutti.
Fabio C.
#!/bin/bash
iptables -F
iptables -t nat -F
iptables -P  INPUT DROP
iptables -P  FORWARD DROP
#-----------Ottimizzazione----------------
iptables -A PREROUTING -t mangle -p tcp --sport telnet \
  -j TOS --set-tos Minimize-Delay
iptables -A PREROUTING -t mangle -p tcp --sport ftp \
  -j TOS --set-tos Minimize-Delay
iptables -A PREROUTING -t mangle -p tcp --sport ftp-data \
  -j TOS --set-tos Maximize-Throughput
 iptables -A OUTPUT -t mangle -p tcp --dport telnet \
  -j TOS --set-tos Minimize-Delay
iptables -A OUTPUT -t mangle -p tcp --dport ftp \
  -j TOS --set-tos Minimize-Delay
iptables -A OUTPUT -t mangle -p tcp --dport ftp-data \
  -j TOS --set-tos Maximize-Throughput
#-------------------accetta il ping----------
iptables -A INPUT -i eth0 -p tcp --syn -m limit --limit 1/s -j ACCEPT 
iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request -m limit \
--limit 1/s -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type echo-reply \
 -m limit --limit 1/s  -j ACCEPT
#----------------------------------------------------------
#---------- Maschero i pacchetti in uscita da eth0  per ADSL -------
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#---------------------------------------------------------
#----------------Abilito il loopback----------------------
iptables -A INPUT  -i lo -p all -j ACCEPT
#---------------------------------------------------------
#------- Protezione per Ip-Spoofed-----
iptables -A INPUT -i eth0 -f -s 
192.168.0.0/24
 -d 192.168.0/24 -j DROP
#-----------------------------------------------------------------------
#------Permette le connessione stabilite dall-utente----------
iptables -A INPUT  -m state --state ESTABLISHED,RELATED -j ACCEPT
#-----------------------------------------------------------------
#---------Accetta tutte le connessioni dalla rete interna e
#---------respinge quelle nuove dall'esterno 
iptables -A INPUT -m state --state NEW -i ! eth0  -j ACCEPT 
#---------------------------------------------------------
-------- ---Mirror su eth0-----------------------
#iptables -A INPUT -m state --state NEW -i eth0  -j MIRROR 
#-------------------------------------------------------------
 
#------------ Forward per rete interna------------------
ptables -A FORWARD  -i eth1 -d 
192.168.0.0/24
  -j ACCEPT
iptables -A FORWARD  -o eth1 -s 
192.168.0.0/24
 -j ACCEPT
#----------------------------------------------------
#  Abilita il forward
echo 1 > /proc/sys/net/ipv4/ip_forward
#  Protezione da DoS
echo 1 > /proc/sys/net/ipv4/tcp_syncookies 
Ciao
Fabio
Per rispondere scambiare lino con maggio


iQA/AwUBO7W4B2X27Jtq3aIzEQJK5QCgp0m1AILu/7jyqzPs8eoC3fKcT+YAn3GD
l+X357gTHdS0hLS1BnrocdBs
=k6C6
-----END PGP SIGNATURE-----

il masquerade, effettua solo una operazione di SNAT.
Non ho capito cosa intendi, so cos'e' il  NAT e gli howto li ho letti
praticamente tutti prima postare.
Quello che mi lascia perplesso  e' che lo stesso scriptino,  sostituendo eth0
con ppp0, e utilizzando un accesso dial-up per internet,  va a meraviglia.
Dall'esterno non puoi accedere assolutamente a nulla. (provato stamattina sulla
macchina incriminata)
Quando invece ricollego il router ADSL sorgono i problemi, il firewall lascia
passare praticamente qualunque cosa.
Riprendendo il discorso del FORWARD , ho provato ad aggiungere esplicitamente
iptables --A FORWARD -i eth0 -j DROP
ma non cambia nulla, i pacchetti vanno e vengono a loro piacimento.
Cos'e' che devo mettere per bloccare tutto? 



iQA/AwUBO7X3HmX27Jtq3aIzEQIndQCffffmkemTqkN5rCESQUjifbCfJWUAn2Zr
vZVHv81JAa08AWuUo0Y3X9Hq
=TZoK
-----END PGP SIGNATURE-----

E' ugualmente strano che con ppp0 non te lo faccia.
Si', ho rifatto alcune prove e in effetti rimane aperto anche su ppp0.
Ricontrollando lo scriptino modificato per ppp0 mi sono accorto che non avevo
cambiato eth0 in pp0 per quella regola.
Pensavo erroneamente che quella regola servisse, insieme alle altre due seguenti
ad abilitare il ping limitando il rate (l'ho copiata dalla guida di Rusty).
Ho aggiunto quelle tre regole perche' una sera, sull'altro server, un idiota mi
ha floddato per quattro ore di seguito bloccandomi completamente la macchina.
Da qui la decisione (visto che dovevo metterne in piedi un altro) di cercare un
sistema per limitare quel tipo di problemi.
A dire il vero per garantirmi il controllo da remoto in situazioni critiche ho
recuperato un modem e lo uso come RAS, se ho problemi chiamo direttamente il
serverino evitando di passare attraverso internet.
Approfitto della tua competenza per chiederti un consiglio,
volendo aprire un servizio ftp (ad uso personale) verso l'esterno  utilizzando
una porta diversa dalla 21,e' meglio che usare un REDIRECT nella catena
PREROUTING verso la 21, o impostare direttamente il server ftp a lavorare sulla
porta da me scelta?
Ti chiedo questo perche' mi sembra di aver letto da qualche parte che il modulo
ftp_conntrack potesse dare problemi su una porta diversa dalla 21.
Grazie ancora per l'aiuto.



iQA/AwUBO7cl0GX27Jtq3aIzEQLdrACcDWkQLZ0qNcwtefsAFFObuBIdqIgAoMmk
1nP3T12vkS+iL7mpZ0yNGNoi
=5Gdp
-----END PGP SIGNATURE-----

 ma eviti la porta 21 per evitare i buontemponi?
Beh, non e' per essere paranoico, ma sui log dell'altra macchina ho una media di
una ventina log falliti al hiorno sull'ftp, e gli indirizzi non corrispondono
assolutamente agli utenti abilitati ( che tra l'altro sono davvero pochi).
Penso che la 21 sia la prima cosa che i portscanning vadano a cercare, se posso
complicargli un po' la vita perche' no? :-)



iQA/AwUBO7ilT2X27Jtq3aIzEQIB6wCgxfZpqrQD+rB37MCAmrYmYbLJ0LMAn3JQ
JoQR0rPAJ+j0XE9i6ykOBZQc
=qHB3
-----END PGP SIGNATURE-----