Indice del forum www.zeroshell.net
Distribuzione Linux ZeroShell
 
 FAQFAQ   CercaCerca  GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo  Log inLog in   Messaggi privatiMessaggi privati 

Transparent Bridge e Firewall rules

 
Nuovo argomento   Rispondi    Indice del forum -> Bridge e router
Precedente :: Successivo  
Autore Messaggio
albanese.g



Registrato: 09/10/13 11:29
Messaggi: 3

MessaggioInviato: Mer Ott 09, 2013 11:43 am    Oggetto: Transparent Bridge e Firewall rules Rispondi citando

Ciao a tutti,
scrivo perchè sto effettuando alcuni test con la distro zeroshell perchè avrei intenzione di utilizzarla come transparent bridge. Ma ho alcuni problemi con le regole di firewalling.
Lo scenario prevede appunto zeroshell come transparent bridge (cosi evito di cambiare ip e rotte nella rete); praticamente ho creato un ambiente di test virtuale con installato zeroshell (vmware) ed un client con windows xp.
Su zeroshell, dopo aver attivato un profilo e creato un bridge con due schede eth00 verso internet ed eth01 verso il client xp.
Dopo aver tirato su il bridge e poichè la default policy del firewall era settata su ACCEPT --> FORWARD, il client naviga senza problemi ma senza restrizioni.
Pertanto, cambio la default policy in DROP --> FORWARD ed inizio a implementare le seguenti due regole di test e ne verifico il funzionamento.

ACCEPT icmp opt -- in * out * 0.0.0.0/0 -> 0.0.0.0/0 no
ACCEPT udp opt -- in * out * 0.0.0.0/0 -> 8.8.8.8 udp dpt:53

dove 8.8.8.8 è il dns pubblico di google utilizzato dal client.

Be dopo aver salvato le regole il client riesce a pingare correttamente un ip qualsiasi (prima regola) ma se cerco attraverso il ping di risolvere qualsiasi hostname (ad es. ping www.google.it ) non riesco a raggiungere la destinazione (seconda regola).
Ho attivato anche il log sulle regole che vi posto di seguito:

12:28:01 [ 3650.851846] FORWARD/002IN=BRIDGE00 OUT=BRIDGE00 PHYSIN=ETH01 PHYSOUT=ETH00 MAC=00:1f:9f:f9:7a:d0:00:0c:29:ec:d7:55:08:00 SRC=103.1.1.154 DST=8.8.8.8 LEN=59 TOS=0x00 PREC=0x00 TTL=128 ID=3117 PROTO=UDP SPT=1307 DPT=53 LEN=39
12:28:05 [ 3654.847148] FORWARD/002IN=BRIDGE00 OUT=BRIDGE00 PHYSIN=ETH01 PHYSOUT=ETH00 MAC=00:1f:9f:f9:7a:d0:00:0c:29:ec:d7:55:08:00 SRC=103.1.1.154 DST=8.8.8.8 LEN=59 TOS=0x00 PREC=0x00 TTL=128 ID=3118 PROTO=UDP SPT=1307 DPT=53 LEN=39

Chiedo se qualcuno può darmi un aiuto a risolvere il problema.
Secondo la mia impressione sembrerebbe che i pacchetti di risposta del dns non tornano al client, ma non ne sono sicuro.

Grazie per qualsiasi contributo.

Gianluca
Top
Profilo Invia messaggio privato
redfive



Registrato: 26/06/09 22:21
Messaggi: 777

MessaggioInviato: Mer Ott 09, 2013 12:03 pm    Oggetto: Rispondi citando

Se non usi una regola "generale" (related, established) per permettere il ritorno dei pacchetti ai quali è stato consentito comunque di "uscire" , per tante regole che fai in un verso , altrettante devi farne per il verso opposto.
ciao
Top
Profilo Invia messaggio privato
albanese.g



Registrato: 09/10/13 11:29
Messaggi: 3

MessaggioInviato: Mer Ott 09, 2013 2:17 pm    Oggetto: Rispondi citando

Ciao,
intanto grazie per la risposta.
Ho cambiato le regole in questo modo:

ACCEPT icmp opt -- in * out * 0.0.0.0/0 -> 0.0.0.0/0 state NEW,RELATED,ESTABLISHED
ACCEPT udp opt -- in * out * 0.0.0.0/0 -> 8.8.8.8 state NEW,RELATED,ESTABLISHED udp dpt:53

ma purtroppo il risultato non cambia.
Top
Profilo Invia messaggio privato
redfive



Registrato: 26/06/09 22:21
Messaggi: 777

MessaggioInviato: Mer Ott 09, 2013 5:17 pm    Oggetto: Rispondi citando

Non preoccuparti , sarebbe stato un problema se invece il risultato fosse cambiato Wink
Codice:
ACCEPT udp opt -- in * out * 0.0.0.0/0 -> 8.8.8.8 state NEW,RELATED,ESTABLISHED udp dpt:53

Come puoi vedere , questa regola permette il forwarding di pacchetti (packet switching) tra tutte le interfacce, condizioni necessarie :
qualsiasi source ip address , pacchetti relativi a nuove connessioni o connessioni già stabilite , purchè il protocollo di trasporto sia udp, il dest.ip address sia 8.8.8.8 e la dest.port 53.
Ovviamente , i pacchetti di ritorno avranno invece come source ip address 8.8.8.8 e come source port 53....
Se la parte di rete da proteggere è associata , es. alla ETH00 e la parte "untrusted" è associata alla ETH01 , prova a fare qualcosa del genere
Codice:
ACCEPT     all  --  ETH00 *        0.0.0.0/0          0.0.0.0/0
ACCEPT     all  --  ETH01  *       0.0.0.0/0          0.0.0.0/0            state RELATED,ESTABLISHED

Se nella prima regola , al posto di permettere tutto , specifichi (volendo anche s.ip e dest.ip) protocollo e porta di dest. , con n° regole decidi cosa può "uscire" , e la seconda regola ( che poi sarà l'ultima in caso di piu' regole, ma può essere anche la prima ...) ne permette il ritorno .
Si può creare un firewall "generico" , ma volendo anche estremamente granulare..
ciao
Top
Profilo Invia messaggio privato
albanese.g



Registrato: 09/10/13 11:29
Messaggi: 3

MessaggioInviato: Gio Ott 10, 2013 9:47 am    Oggetto: Rispondi citando

Grazie ai tuoi consigli ho risolto il problema.
Ho modificato le regole nel seguente modo e tutto funziona perfettamente

ACCEPT all opt -- in * out * 0.0.0.0/0 -> 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT icmp opt -- in * out * 103.1.1.0/24 -> 0.0.0.0/0
ACCEPT udp opt -- in * out * 0.0.0.0/0 -> 8.8.8.8 udp dpt:53
ACCEPT tcp opt -- in * out * 0.0.0.0/0 -> 0.0.0.0/0 tcp dpt:80
ACCEPT tcp opt -- in * out * 0.0.0.0/0 -> 0.0.0.0/0 tcp dpt:443

Grazie mill.
Gianluca
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Bridge e router Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi


Powered by phpBB © 2001, 2005 phpBB Group
phpbb.it