Newsgroup: it.comp.os.linux.software
Titolo: Firewall e ragionamento in e out

Ho una versione red-hat 7.2 che mi funge da server dhcp e www (rete interna
eth1) e da firewall verso la rete esterna (eth0) tramite un router adsl.
Seguendo il seguente ragionamento e utilizzando iptables sono riuscito a
sviluppare quanto segue :
Rete interna 194.123.1.0 eth1
Rete esterna 194.123.0.0 eth0
# Pulisco tutte le catene precedenti
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
# Tutto cio che non e`consentito e`proibito
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#Telnet,pop3,smtp,www,news secure in uscita verso gateway da rete locale
tipo forwarding
iptables -A FORWARD -s 
194.123.1.0/24
 -d 
0.0.0.0/0
 -p tcp --dport 25 -j
ACCEPT
iptables -A FORWARD -s 
194.123.1.0/24
 -d 
0.0.0.0/0
 -p tcp --dport 110 -j
ACCEPT
iptables -A FORWARD -s 
194.123.1.0/24
 -d 
0.0.0.0/0
 -p tcp --dport 80 -j
ACCEPT
iptables -A FORWARD -s 
194.123.1.0/24
 -d 
0.0.0.0/0
 -p tcp --dport 23 -j
ACCEPT
iptables -A FORWARD -s 
194.123.1.0/24
 -d 
0.0.0.0/0
 -p tcp --dport 443 -j
ACCEPT
iptables -A FORWARD -s 
194.123.1.0/24
 -d 
0.0.0.0/0
 -p tcp --dport 119 -j
ACCEPT
#Telnet,pop3,smtp,www,news in risposta a quanto sopra
iptables -A FORWARD -s 
0.0.0.0/0
 -d 
194.123.1.0/24
 -p tcp --sport 25 -j
ACCEPT
iptables -A FORWARD -s 
0.0.0.0/0
 -d 
194.123.1.0/24
 -p tcp --sport 110 -j
ACCEPT
iptables -A FORWARD -s 
0.0.0.0/0
 -d 
194.123.1.0/24
 -p tcp --sport 80 -j
ACCEPT
iptables -A FORWARD -s 
0.0.0.0/0
 -d 
194.123.1.0/24
 -p tcp --sport 23 -j
ACCEPT
iptables -A FORWARD -s 
0.0.0.0/0
 -d 
194.123.1.0/24
 -p tcp --sport 443 -j
ACCEPT
iptables -A FORWARD -s 
0.0.0.0/0
 -d 
194.123.1.0/24
 -p tcp --sport 119 -j
ACCEPT
#DNS
iptables -A FORWARD -s 
194.123.1.0/24
 -d 
0.0.0.0/0
 -p udp --dport 53 -j
ACCEPT
iptables -A FORWARD -s 
0.0.0.0/0
 -d 
194.123.1.0/24
 -p udp --sport 53 -j
ACCEPT
#Telnet e www in ingresso da rete locale su eth1 del gateway
iptables -A INPUT -s 
194.123.1.0/24
 -d 194.123.1.200 -i eth1 -p tcp --dport
23 -j ACCEPT
iptables -A OUTPUT -s 
194.123.1.0/24
 -d 194.123.1.200 -o eth1 -p tcp --dport
 23 -j ACCEPT
iptables -A INPUT -s 
194.123.1.0/24
 -d 194.123.1.200 -i eth1 -p tcp --dport
80 -j ACCEPT
iptables -A OUTPUT -s 
194.123.1.0/24
 -d 194.123.1.200 -o eth1 -p tcp --dport
80 -j ACCEPT
#Telnet e www in risposta a quanto sopra
iptables -A INPUT -s 194.123.1.200 -d 
194.123.1.0/24
 -i eth1 -p tcp --sport
23 -j ACCEPT
iptables -A OUTPUT -s 194.123.1.200 -d 
194.123.1.0/24
 -o eth1 -p tcp --sport
23 -j ACCEPT
iptables -A INPUT -s 194.123.1.200 -d 
194.123.1.0/24
 -i eth1 -p tcp --sport
80 -j ACCEPT
iptables -A OUTPUT -s 194.123.1.200 -d 
194.123.1.0/24
 -o eth1 -p tcp --sport
80 -j ACCEPT
#Dhcpd solo su rete privata
iptables -A INPUT -s 
194.123.1.0/24
 -d 194.123.1.200 -i eth1 -p tcp --dport
67 -j ACCEPT
iptables -A OUTPUT -s 
194.123.1.0/24
 -d 194.123.1.200 -o eth1 -p tcp --dport
67 -j ACCEPT
iptables -A INPUT -s 
194.123.1.0/24
 -d 194.123.1.200 -i eth1 -p udp --dport
67 -j ACCEPT
iptables -A OUTPUT -s 
194.123.1.0/24
 -d 194.123.1.200 -o eth1 -p udp --dport
67 -j ACCEPT
iptables -A INPUT -s 194.123.1.200 -d 
194.123.1.0/24
 -i eth1 -p tcp --sport
67 -j ACCEPT
iptables -A OUTPUT -s 194.123.1.200 -d 
194.123.1.0/24
 -o eth1 -p tcp --sport
67 -j ACCEPT
iptables -A INPUT -s 194.123.1.200 -d 
194.123.1.0/24
 -i eth1 -p udp --sport
67 -j ACCEPT
iptables -A OUTPUT -s 194.123.1.200 -d 
194.123.1.0/24
 -o eth1 -p udp --sport
67 -j ACCEPT
#Blocca netbios di windows
iptables -A OUTPUT -s 
0.0.0.0/0
 -d 
0.0.0.0/0
 -p udp --dport 136:140 -j DROP
iptables -A INPUT -s 
0.0.0.0/0
 -d 
0.0.0.0/0
 -p udp --dport 136:140 -j DROP
iptables -A OUTPUT -s 
0.0.0.0/0
 -d 
0.0.0.0/0
 -p tcp --dport 136:140 -j DROP
iptables -A INPUT -s 
0.0.0.0/0
 -d 
0.0.0.0/0
 -p tcp --dport 136:140 -j DROP
iptables -A FORWARD -s 
0.0.0.0/0
 -d 
0.0.0.0/0
 -p tcp --dport 136:140 -j DROP
iptables -A FORWARD -s 
0.0.0.0/0
 -d 
0.0.0.0/0
 -p udp --dport 136:140 -j DROP
iptables -A OUTPUT -s 
0.0.0.0/0
 -d 
0.0.0.0/0
 -p udp --sport 136:140 -j DROP
iptables -A INPUT -s 
0.0.0.0/0
 -d 
0.0.0.0/0
 -p udp --sport 136:140 -j DROP
iptables -A OUTPUT -s 
0.0.0.0/0
 -d 
0.0.0.0/0
 -p tcp --sport 136:140 -j DROP
iptables -A INPUT -s 
0.0.0.0/0
 -d 
0.0.0.0/0
 -p tcp --sport 136:140 -j DROP
iptables -A FORWARD -s 
0.0.0.0/0
 -d 
0.0.0.0/0
 -p tcp --sport 136:140 -j DROP
iptables -A FORWARD -s 
0.0.0.0/0
 -d 
0.0.0.0/0
 -p udp --sport 136:140 -j DROP
#Blocca tutti gli udp
iptables -A FORWARD -p udp --sport 0:65535 -j DROP
#Blocca tutti i tcp
iptables -A FORWARD -p tcp --sport 0:65535 -j DROP
#Blocca tutti gli icmp
iptables -A FORWARD -p icmp -j DROP
#Anti Spoofing
iptables -A FORWARD -s 
194.123.1.0/24
 -i eth0 -j DROP
#Anti smurf su broadcast
iptables -A FORWARD -p icmp -d 194.123.1.255 -j DROP
#Limita il syn a un secondo
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
Il server viente avviato nello stato 3 con soltanto i demoni che mi
occorrono (non funziona l'utilita di X). Sembra funzionare tutto a dovere ma
visto che e'stato un gran rompicapo ho paura di aver tralasciato qualcosa.
Qualche consiglio sulla sicurezza e l'efficenza?
Grazie a tutti....

>>:/OuZ\:<<<
per rispondermi in mail rimuovere TOGLIQUESTO

 Qualche consiglio sulla sicurezza e l'efficenza?
Troppe regole ridondati: rischi di fare errori: ritengo sia meglio poche 
regole ma chiare piuttosto che troppe ma confuse...

 regole ma chiare piuttosto che troppe ma confuse...
E' vero. Ma come difenderci in maniera sicura?

 HTH
Ho aggiunto :
iptables -A FORWARD -s 
127.0.0.0/8
 -i eth0 -o eth1 -j DROP
iptables -A FORWARD -s 
127.0.0.0/8
 -i eth1 -o eth0 -j DROP
Pensi che possa bastare oppure devo applicare la regola anche in IN/OUT?
Se non ho capito male "state" accetta il FORWARD in ingresso dalla rete
pubblica
soltanto se c'è una connessione aperta in uscita su tale porta che richiede
la connessione.
Grazie

 E' vero. Ma come difenderci in maniera sicura?
Lansciando spenta la macchina.... :)
Non ho la formula magica ( altrimenti sarei ricco ), ma vietando tutto il 
traffico in ingresso tranne quello consentito mi pare una politica più che 
sufficiente. Non credo che vietare il traffico in uscita ( _normalemente_ 
of course ) aumenti la sicurezza. Può essere necessario per altri motivi- 
Da noi non vogliono che si usi i server di posta esterni, ma solo quelli 
interni ( che prelevano la posta da quelli esterni e la passano in un 
antivirus ... ), per cui sono state chiuse le porte pop e smtp in uscita.
L'unico traffico UDP che lascerei passare e' solo quello DNS; per il resto 
bisgna stare attenti agli spoofing ( ma in genere bastano robuste 
configurazioni di routing nei router ), ai cambi di ip della lan interna ( 
noi li abbiamo bloccati con i mac address... ma è solo un palliativo )...
Avevo letto un interessantissimo articolo su come effettuare tunneling con 
il solo traffrico icmp.... ( che in genere non si controlla ... )

Buongiorno a tutti.
Ho due  problemi (due dei tanti :-)) che non riesco a risolvere con il 
software in oggetto.
Il mio obiettivo è di utilizzare dosemu (con freedos e non sotto X) in 
modo che il disco C sia effettivamente la partizione di avvio del 
freedos a se stante. Ho necessità di usare tale partizione per 
l'esistenza su C:\ di un file di protezione di un programma che devo 
potere utilizzare sia in emulazione che direttamente (freedos).
1) installando la partizione dal file di configurazione sono costretto a 
smontare la partizione prima di poterla fare vedere a freedos; io 
desidero invece tenerla comunque montata sotto linux. A quanto ho capito 
dalle istruzioni lette in giro c'e' la possibilità di fare ciò eseguendo 
il boot di freedos dal file immagine ed utilizzando l'apposito driver in 
config.sys ma non sono riuscito a caricare alcuna partizione e 
tantomento a installarla in c:\.
Qualcuno può cortesemente mostrare dei file di configurazione di esempio 
  o comunque dare dei buoni consigli?
2) il programma protetto che intendo utilizzare (credo che sia stato 
compilato con CLIPPER mi funziona con freedos (dopo una buona serie di 
tentativi) ma  non riesco invece a farlo digerire a  dosemu-freedos. Mi 
carica i menu' batch ma poi avviando il programma .exe inchioda il 
terminale.
Penso che sia  un problema legato alla scheda video Chips & Tecnology ed 
alla videoram. Come si usano in dosemu.conf le opzioni per esludere o 
proteggere le aree di memoria utilizzate dalla scheda video? e come 
faccio a sapere quali sono? Altri consigli?
Ringrazio di cuore chiunque abbia voglia di discuterne.
David

Dai vari consigli ho ritrattato tutto in questo modo :
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
#
# Politica iniziale
iptables -P FORWARD DROP
iptables -A FORWARD -f -j ACCEPT
iptables -A INPUT -i eth0 -j DROP
#Consente la risposta alle richieste attivate in ingresso dalla rete privata
iptables -A FORWARD -m state --state NEW -s 
194.123.1.0/24
 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j
ACCEPT
#Tutto dalla rete privata a publica
iptables -A FORWARD -s 
194.123.1.0/24
 -j ACCEPT
#Anti Spoofing
iptables -A FORWARD -s 
194.123.1.0/24
 -i eth0 -j DROP
#Anti smurf su broadcast
iptables -A FORWARD -p icmp -d 194.123.1.255 -j DROP
#Blocca pacchetti contraffatti
iptables -A FORWARD -d 
127.0.0.0/8
 -i eth0 -o eth1 -j DROP
Penso che sia il più snello e funzionale anche se ho l' impressione e che
rallenti un pochino sul www.
E' solo suggestione?
Per quanto riguarda la sicurezza è il caso che aggiunga qualcos'altro?
Grazie.

 E' vero. Ma come difenderci in maniera sicura?
http://www.boingworld.com/workshops/linux/iptables-tutorial/iptables-tutorial/index.html
-- 
GHERdO, happy GNU/linux user.
		... Boys don't Cry!

 regole ma chiare piuttosto che troppe ma confuse...
quoto
