View previous topic :: View next topic |
Author |
Message |
3,4-Ciccio-N-Palizzo Tux's lil' helper
Joined: 20 Feb 2005 Posts: 90
|
Posted: Mon May 16, 2005 12:57 pm Post subject: Proxy + Firewall |
|
|
Scopo:
-Creare una Linux-Box che faccia sia da Firewall che da Proxy
-Il Firewall deve nattare gli indirizzi interni
-Deve fare da DNS caching
-Deve permettere tutto il tipo di traffico originato dalla LAN destinato a Internet
-Deve negare tutto il traffico proveniente da Internet destinato alla LAN
Interfacce di rete:
-eth0 collegata alla LAN (IP 192.168.0.1/24)
-eth1 collegata a Internet (Fastweb, indirizzo acquisito via DHCP)
Policy di INPUT,OUTPUT e FORWARD impostate su DENY
#iptables P INPUT DENY
#iptables P OUTPUT DENY
#iptables P FORWARD DENY
Chain personalizzate per riuscire ad amministare meglio le regole.
1) chain per il traffico che va dalla LAN su Internet (lanint)
2) chain per il traffico che va da Internet sulla LAN (intlan)
3) chain per il traffico che va dalla LAN al Proxy (lanpro)
4) chain per il traffico che va dal Proxy alla LAN (prolan)
5) chain per il traffico che va da Internet al Proxy (intpro)
6) chain per il traffico che va dal Proxy a Internet (proint)
iptables -N lanint #dalla scheda di rete eth0 alla scheda di rete eth1
iptables -N intlan #dalla scheda di rete eth1 alla scheda di rete eth0
iptables N lanpro #traffico in arrivo sulla eth0 dalla LAN
iptables N prolan #traffico in uscita sulla eth0 per la LAN
iptables N intpro #traffico in arrivo sulla eth1 da Internet
iptables N proint #traffico in uscita dalla eth1 per Internet
Applicazione delle chain personalizzate nelle chain primarie
iptables -A FORWARD -i eth0 -o eth1 -j lanint
iptables -A FORWARD -i eth1 -o eth0 -j intlan
iptables A INPUT i eth0 j lanpro
iptables A OUTPUT o eth0 j prolan
iptables A INPUT i eth1 j intpro
iptables A OUTPUT o eth1 j proint
Configurazione chian personalizzate
1) Chain lanint (deve permettere TUTTO il traffico proveniente DALLA LAN destinato ad Internet)
iptables A lanint s 192.168.0.0/24 j ACCEPT
# Permette tutte le connessioni da IP provenienti dalla subnet 192.168.0.0/24
2) Chain intlan (deve permettere SOLO la risposta al traffico generato dalla LAN proveniente da Internet)
iptables A intlan d ! 192.168.0.0/24 J DROP
# Permette solo risposte agli indirizzi IP della subnet 192.168.0.0/24
iptables A intlan m ESTABILISHED,RELATED j ACCEPT
# Permette solo il transito di pacchetti relativi a connessioni gia stabilite
3) Chain lanpro (deve permettere SOLO le connessioni AL proxy e le richieste DNS provenienti DALLA LAN)
iptables A lanpro s ! 192.168.0.0/24 j DROP
# Nega tutte le sorgenti diverse dalla subnet 192.168.0.0/24
iptables A lanpro p tcp d 192.168.0.1 -dport 8080 j ACCEPT
# Permette le connessioni alla porta TCP 8080 del Proxy
iptables A lanpro p udp d 192.168.0.1 -dport 53 j ACCEPT
# Permette le connessioni alla porta UDP 53 del servizio di DNS caching
iptables A lanpro p tcp d 192.168.0.1 -dport 53 j ACCEPT
# Permette le connessioni alla porta TCP 53 del servizio di DNS caching
iptables A lanpro m ESTABILISHED,RELATED j ACCEPT
# Permette il transito di pacchetti relativi a connessioni già stabilite
4) Chain prolan (deve permettere SOLO la risposta ALLA LAN di richieste effettuate al Proxy e al servizio di DNS caching)
iptables A prolan d ! 192.168.0.0/24 j DROP
# Permette solo risposte agli indirizzi IP della subnet 192.168.0.0/24
iptables A prolan m ESTABILISHED,RELATED j ACCEPT
# Permette il transito di pacchetti relativi a connessioni già stabilite
5) Chain intpro (deve permettere SOLO la risposta a richieste effettuate dal Proxy e a richieste DNS provenienti da Internet)
iptables A intpro d ! eth1 j DROP
# Permette solo risposte allindirizzo IP della eth1
iptables A intpro m ESTABILISHED,RELATED j ACCEPT
# Permette il transito di pacchetti relativi a connessioni già stabilite
6) Chain proint (deve permettere solo il traffico Web e DNS generato DAL proxy destinato ad Internet)
iptables A proint s ! eth1 j DROP
# Permette solo le richieste provenienti dallindirizzo IP della eth1
iptables -A proint p tcp -dport 80 j ACCEPT
# Permette le richieste alla porta TCP 80
iptables A proint p udp -dport 53 j ACCEPT
# Permette le richieste alla porta UDP 53
iptables A proint p tcp -dport 53 j ACCEPT
# Permette le richieste alla porta TCP 53
iptables A proint m ESTABILISHED,RELATED j ACCEPT
# Permette il transito di pacchetti relativi a connessioni già stabilite
Abilitare il NAT
Iptables t nat A POSTROUTING o eth1 s 192.168.0.0/24 MASQUERADE
E ora le domande
1) Sono le prime regole che butto giù in iptables, quindi saranno sicuramente una sagra delle castronerie. Mi indichereste dove e perché ho sbagliato?
2) Come abilito il DNS caching? Cosa devo emergere?
3) Varie ed eventuali. Ogni consiglio è ben accetto!
Grazie in anticipo! |
|
Back to top |
|
|
FonderiaDigitale Veteran
Joined: 06 Nov 2003 Posts: 1710 Location: Rome, Italy
|
Posted: Tue May 17, 2005 2:41 am Post subject: Re: Proxy + Firewall |
|
|
3,4-Ciccio-N-Palizzo wrote: |
2) Come abilito il DNS caching? Cosa devo emergere?
|
Code: | emerge tinydns
dnscache-setup
rc-update add svscan default |
ricordati di configurare i client a usare l'ip dell'interfaccia interna alla lan. _________________ Come disse un amico, i sistemisti sono un po' come gli artigiani per l'informatica
|
|
Back to top |
|
|
3,4-Ciccio-N-Palizzo Tux's lil' helper
Joined: 20 Feb 2005 Posts: 90
|
Posted: Tue May 17, 2005 7:11 am Post subject: |
|
|
Grazie per il suggerimento!
E per le regole di iptables?
Nessuno mi saprebbe dire qualcosina?
Tnz! |
|
Back to top |
|
|
3,4-Ciccio-N-Palizzo Tux's lil' helper
Joined: 20 Feb 2005 Posts: 90
|
Posted: Thu May 19, 2005 1:38 pm Post subject: [iptables-regole] Mi auto-correggo, ma vorrei delle conferme |
|
|
Ho scritto qualche giorno fa, riguardo a delle regole che avrei voluto inserire in iptables.
Dopo alcune prove ho scoperto alcuni errori (di sintassi).
Ora il firewall SEMBRA funzionare, ma mi piacerebbe avere il parere di un esperto.
Scopo:
-Creare una Linux-Box che faccia sia da Firewall che da Proxy
-Il Firewall deve nattare gli indirizzi interni
-Deve fare da DNS caching
-Deve permettere tutto il tipo di traffico originato dalla LAN destinato a Internet
-Deve negare tutto il traffico proveniente da Internet destinato alla LAN
Interfacce di rete:
-eth0 collegata alla LAN (IP 192.168.0.1/24)
-eth1 collegata a Internet (Fastweb, indirizzo acquisito via DHCP)
Policy di INPUT,OUTPUT e FORWARD impostate su DROP
#iptables P INPUT DROP
#iptables P OUTPUT DROP
#iptables P FORWARD DROP
Chain personalizzate per riuscire ad amministare meglio le regole.
1) chain per il traffico che va dalla LAN su Internet (lanint)
2) chain per il traffico che va da Internet sulla LAN (intlan)
3) chain per il traffico che va dalla LAN al Proxy (lanpro)
4) chain per il traffico che va dal Proxy alla LAN (prolan)
5) chain per il traffico che va da Internet al Proxy (intpro)
6) chain per il traffico che va dal Proxy a Internet (proint)
iptables -N lanint #dalla scheda di rete eth0 alla scheda di rete eth1
iptables -N intlan #dalla scheda di rete eth1 alla scheda di rete eth0
iptables N lanpro #traffico in arrivo sulla eth0 dalla LAN
iptables N prolan #traffico in uscita sulla eth0 per la LAN
iptables N intpro #traffico in arrivo sulla eth1 da Internet
iptables N proint #traffico in uscita dalla eth1 per Internet
Applicazione delle chain personalizzate nelle chain primarie
iptables -A FORWARD -i eth0 -o eth1 -j lanint
iptables -A FORWARD -i eth1 -o eth0 -j intlan
iptables A INPUT i eth0 j lanpro
iptables A OUTPUT o eth0 j prolan
iptables A INPUT i eth1 j intpro
iptables A OUTPUT o eth1 j proint
Configurazione chian personalizzate
1) Chain lanint (deve permettere TUTTO il traffico proveniente DALLA LAN destinato ad Internet)
iptables A lanint s 192.168.0.0/24 j ACCEPT
# Permette tutte le connessioni da IP provenienti dalla subnet 192.168.0.0/24
2) Chain intlan (deve permettere SOLO la risposta al traffico generato dalla LAN proveniente da Internet)
iptables A intlan d ! 192.168.0.0/24 J DROP
# Permette solo risposte agli indirizzi IP della subnet 192.168.0.0/24
iptables A intlan m state --state ESTABLISHED,RELATED j ACCEPT
# Permette solo il transito di pacchetti relativi a connessioni gia stabilite
3) Chain lanpro (deve permettere SOLO le connessioni AL proxy e le richieste DNS provenienti DALLA LAN)
iptables A lanpro s ! 192.168.0.0/24 j DROP
# Nega tutte le sorgenti diverse dalla subnet 192.168.0.0/24
iptables A lanpro p tcp d 192.168.0.1 -dport 3128 j ACCEPT
# Permette le connessioni alla porta TCP 8080 del Proxy
iptables A lanpro p udp d 192.168.0.1 -dport 53 j ACCEPT
# Permette le connessioni alla porta UDP 53 del servizio di DNS caching
iptables A lanpro p tcp d 192.168.0.1 -dport 53 j ACCEPT
# Permette le connessioni alla porta TCP 53 del servizio di DNS caching
iptables A lanpro m state --state ESTABLISHED,RELATED j ACCEPT
# Permette il transito di pacchetti relativi a connessioni già stabilite
4) Chain prolan (deve permettere SOLO la risposta ALLA LAN di richieste effettuate al Proxy e al servizio di DNS caching)
iptables A prolan d ! 192.168.0.0/24 j DROP
# Permette solo risposte agli indirizzi IP della subnet 192.168.0.0/24
iptables A prolan m ESTABLISHED,RELATED j ACCEPT
# Permette il transito di pacchetti relativi a connessioni già stabilite
5) Chain intpro (deve permettere SOLO la risposta a richieste effettuate dal Proxy e a richieste DNS provenienti da Internet)
iptables A intpro d ! eth1 j DROP
# Permette solo risposte allindirizzo IP della eth1
iptables A intpro m ESTABLISHED,RELATED j ACCEPT
# Permette il transito di pacchetti relativi a connessioni già stabilite
6) Chain proint (deve permettere solo il traffico Web e DNS generato DAL proxy destinato ad Internet)
iptables A proint s ! eth1 j DROP
# Permette solo le richieste provenienti dallindirizzo IP della eth1
iptables -A proint p tcp -dport 80 j ACCEPT
# Permette le richieste alla porta TCP 80
iptables A proint p udp -dport 53 j ACCEPT
# Permette le richieste alla porta UDP 53
iptables A proint p tcp -dport 53 j ACCEPT
# Permette le richieste alla porta TCP 53
iptables A proint m state --state ESTABLISHED,RELATED j ACCEPT
# Permette il transito di pacchetti relativi a connessioni già stabilite
Abilitare il NAT
Iptables t nat A POSTROUTING o eth1 s 192.168.0.0/24 j MASQUERADE |
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Thu May 19, 2005 7:03 pm Post subject: |
|
|
Ho fatto il merge dei tuoi due thread.
Mi spieghi perchè non hai continuato qui invece di aprirne un altro? _________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
3,4-Ciccio-N-Palizzo Tux's lil' helper
Joined: 20 Feb 2005 Posts: 90
|
Posted: Sun May 22, 2005 6:55 pm Post subject: |
|
|
Terrò a mente per la prossima volta. |
|
Back to top |
|
|
|