Debianizzati.Org | Forum | Blog | Guide | IRC
 
 
Forum Italiano Debian - Debianizzati.Org
Dicembre 02, 2008, 11:37:05 am *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Aiuto Ricerca Agenda Accedi Registrati  
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: regole per un firewall/gateway  (Letto 670 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
- FrA -
Full Member
***

Karma: +0/-0
Scollegato Scollegato

Messaggi: 146


Mostra profilo
« inserita:: Giugno 04, 2005, 03:54:38 pm »

Salve a tutti!
Risolte le prime problematiche rivolte alla condivisione della line sarebbe giunto il momento per iniziare a proteggere la mia piccola lan...
 :rtfm:  :rtfm:  :rtfm:
ecco cosa mi è uscito fuori:
Codice:

###########################
#GATEWAY
###########################
#-------------------------------------------
#interfaccia internet,path iptables e sottoreti
#-------------------------------------------
INT="eth0"
IPT="/sbin/iptables"
NET1="192.168.1.0/24"
NET2="192.168.2.0/24"
#-------------------------------------------
#Moduli del kernel
#-------------------------------------------
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#-------------------------------------------
#Regole di masquerade
#-------------------------------------------
$IPT -t nat -A POSTROUTING -s $NET1 -o $INT -j MASQUERADE
$IPT -t nat -A POSTROUTING -s $NET2 -o $INT -j MASQUERADE
###########################
#FIREWALL
###########################
#-------------------------------------------
#ComportamentO di default per i pacchetti in entrata, uscita e transito
#-------------------------------------------
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT
#-------------------------------------------
#Transito dei pacchetti richiesti o provenienti dalla rete interna
#-------------------------------------------
$IPT -A FORWARD -s $NET1 -j ACCEPT
$IPT -A FORWARD -s $NET2 -j ACCEPT
$IPT -A FORWARD -m state --state ESTALISHED,RELATED -j ACCEPT
#-------------------------------------------
#Ping
#-------------------------------------------
$IPT -A INPUT -p icmp -j ACCEPT
#-------------------------------------------
#ssh
#-------------------------------------------
$IPT -A INPUT -i eth0 -p tcp -m tcp --dport 22 -s 5.8.xxx.xx -j ACCEPT
$IPT -A INPUT -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT
$IPT -A INPUT -i eth2 -p tcp -m tcp --dport 22 -j ACCEPT


Il fatto è che aggiunte le regole Firewall la lan smette di ricevere la rete e lo stesso firewall non riesce più ad andare in internet. ne ping ne niente! completamente isolato
ho provato a sottoporre la questione in varie ml, ma senza successo...siete la mia ultima speranza :ave:
Registrato

hanska
Full Member
***

Karma: +1/-0
Scollegato Scollegato

Messaggi: 203


Mostra profilo E-mail
« Risposta #1 inserita:: Giugno 04, 2005, 04:12:49 pm »

/me da tempo vorrebbe imparare ad usare iptables... magari è la volta buona Smiley
Registrato

- FrA -
Full Member
***

Karma: +0/-0
Scollegato Scollegato

Messaggi: 146


Mostra profilo
« Risposta #2 inserita:: Giugno 04, 2005, 04:38:48 pm »

Citazione

hanska ha scritto:
/me da tempo vorrebbe imparare ad usare iptables... magari è la volta buona Smiley

non sei l'unico, ma a me sta risultando tutt'altro che facile...
cmq. sto cercando di capire la "semplicissima" guida ufficiale che si trova su netfilter.org

credo di aver gia trovato qualcosa senza senso nel mio script ed ho fatto qualche modifica:

Codice:

#ComportamentO di default per i pacchetti in entrata, uscita e transito
#-------------------------------------------
$IPT -P INPUT -i $INT -j DROP
$IPT -P FORWARD -i $INT -j DROP
$IPT -P OUTPUT -o $INT -j ACCEPT
#-------------------------------------------
#Transito dei pacchetti richiesti o provenienti dalla rete interna
#-------------------------------------------
$IPT -A FORWARD -s $NET1 -j ACCEPT
$IPT -A FORWARD -s $NET2 -j ACCEPT
$IPT -A FORWARD -m state --state ESTBALISHED,RELATED -j ACCEPT
#-------------------------------------------
#Ping
#-------------------------------------------
$IPT -A INPUT -p icmp -j ACCEPT
#-------------------------------------------
#ssh
#-------------------------------------------
$IPT -A INPUT -i $INT -p tcp -m tcp --dport 22 -s 5.8.xxx.xx -j ACCEPT

così facendo credo di aver limitato il filtragio su eth0
e quindi dovrei avere tutto "aperto" sulle interfacce di rete interne... :conf:
Registrato

keltik
Hero Member
*****

Karma: +14/-0
Scollegato Scollegato

Messaggi: 1447



Mostra profilo WWW E-mail
« Risposta #3 inserita:: Giugno 04, 2005, 06:44:08 pm »

non mi sono soffermato molto a leggere le regole specifiche, ma direi che le policies di default vanno scritte per ultime, in quanto il kernel applica le regole man mano che le incontra (se non erro, non sono un grande conoscitore di iptables): se metti un DROP a metà dello script, tagli fuori le regole sottostanti.

prova a inserire le regole per i pacchetti che ti interessano prima dei DROP: in questo modo il kernel "vede" i pacchetti che vuoi tu e applica le polcies, mentre per pacchetti per cui non hai scritto policies arriverà a fine script senza intraprendere azioni e ricadrà nei DROP (i default)

ps.: da prendere con beneficio di inventario ;-)

pps.: questa considerazione prescinde dalla corretteza delle regole che hai scritto ;-)

happy filtering!
Registrato

- FrA -
Full Member
***

Karma: +0/-0
Scollegato Scollegato

Messaggi: 146


Mostra profilo
« Risposta #4 inserita:: Giugno 04, 2005, 06:57:59 pm »

Ma secondo la tua teoria quindi perdo anche il masquerade?
Sai che potresti proprio avere ragione (cosi a senso...e sbirciando qua e là Smiley)
cmq. dopo un pomeriggio passato con rusty ( :s5: ) e a sbirciare qua e là ecco quello che ho tirato fuori:

Codice:

#Sperem!
#-------------------------------------------
#interfaccia internet,path iptables e sottoreti
#-------------------------------------------
INT="eth0"
IPT="/sbin/iptables"
NET1="192.168.1.0/24"
NET2="192.168.2.0/24"
#-------------------------------------------
#Moduli del kernel
#-------------------------------------------
modprobe iptable_nat
###########################
#FIREWALL
###########################
#-------------------------------------------
#ComportamentO di default per i pacchetti in entrata, uscita e transito
#-------------------------------------------
$IPT -P INPUT -i $INT -j DROP
$IPT -P FORWARD -i $INT -j DROP
$IPT -P OUTPUT -o $INT -j ACCEPT
#-------------------------------------------
#Protezione
#-------------------------------------------
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
#-------------------------------------------
#Transito dei pacchetti richiesti o provenienti dalla rete interna
#-------------------------------------------
$IPT -A FORWARD -s $NET1 -j ACCEPT
$IPT -A FORWARD -s $NET2 -j ACCEPT
$IPT -A FORWARD -m state --state ESTBALISHED,RELATED -j ACCEPT
#-------------------------------------------
#Ping
#-------------------------------------------
$IPT -A INPUT -p icmp -j ACCEPT
#-------------------------------------------
#ssh
#-------------------------------------------
$IPT -A INPUT -i $INT -p tcp -m tcp --dport 22 -s 5.8.xxx.xx -j ACCEPT
#---------------------------------------------------------------
#Permetti a tutti di inviare pacchetti ICMP?
#---------------------------------------------------------------
$IPT -A INPUT -p icmp --icmp-type echo-request -m limit --limit 20/second --limit-burst 100 -j ACCEPT
###########################
#GATEWAY
###########################
#-------------------------------------------
#IPforward
#-------------------------------------------
echo 1 > /proc/sys/net/ipv4/ip_forward
#-------------------------------------------
#Regole di masquerade
#-------------------------------------------
$IPT -t nat -A POSTROUTING -s $NET1 -o $INT -j MASQUERADE
$IPT -t nat -A POSTROUTING -s $NET2 -o $INT -j MASQUERADE

se vi sembra che tutto ciò abbia un senso lo provo.
vi dico questo perchè nel caso scrivessi questo script e non funzionasse a dovere (se non riuscissi più ad accedere via ssh) sarei davvero nella M@^?a  :-D
Registrato

keltik
Hero Member
*****

Karma: +14/-0
Scollegato Scollegato

Messaggi: 1447



Mostra profilo WWW E-mail
« Risposta #5 inserita:: Giugno 04, 2005, 07:02:10 pm »

ehm ... le policies di default le hai spostate da centro script a inizio script ... dici che va bene ?


ps.: mitico "rusty": oltre che un genio (imho) è anche un debianizzato di quelli convinti!

 :s2:  :ave:
Registrato

- FrA -
Full Member
***

Karma: +0/-0
Scollegato Scollegato

Messaggi: 146


Mostra profilo
« Risposta #6 inserita:: Giugno 04, 2005, 09:18:12 pm »

Cavolo, si! avevo capito il contrario...cioè io applico il default e poi gli dico le eccezioni, viceversa, se gli dico prima le eccezioni poi le perda quando applico i default...


 :conf:  :conf:  :conf:

insomma, visto che mi fido più ti te che di me lo giro...però prima di applicarlo aspetto ancora nu moment  :-D
Registrato

soter
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 38


Mostra profilo E-mail
« Risposta #7 inserita:: Giugno 29, 2005, 02:44:35 pm »

Citazione

keltik ha scritto:
direi che le policies di default vanno scritte per ultime, in quanto il kernel applica le regole man mano che le incontra (se non erro, non sono un grande conoscitore di iptables): se metti un DROP a metà dello script, tagli fuori le regole sottostanti.


Se può servire a delucidare la faccenda:
le policies vanno specificate all'inizio, in modo che il firewall le applichi a tutte le connessioni. Poi vanno appese le regole che costituiscono le eccezioni alle policies.
In soldoni: prima dico al firewall che, per "scrupolo" :-D, deve droppare tutto; poi, aggiungendo le regole alla chain, gli dico cosa deve accettare.

Spero di essere stato chiaro, ultimamente scrivo in modo molto "criptico" (sarà colpa degli esami  :s5: ).

PS per jango: credo ti convenga mettere la sezione del kernel prima delle regole di policy del firewall:

Codice:

#-------------------------------------------
#Protezione
#-------------------------------------------
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
#-------------------------------------------
#ComportamentO di default per i pacchetti in entrata, uscita e transito
#-------------------------------------------
$IPT -P INPUT -i $INT -j DROP
$IPT -P FORWARD -i $INT -j DROP
$IPT -P OUTPUT -o $INT -j ACCEPT
#-------------------------------------------


Il motivo preciso di quest'ordine non saprei spiegartelo, ma in giro per la rete ho trovato script che avevano sempre quest'ordine.
Anzi, per chi lo sapesse, come mai?  :conf:
Registrato

Tutto nasce dal basso...
bankomat
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 21


Mostra profilo E-mail
« Risposta #8 inserita:: Giugno 29, 2005, 05:06:32 pm »

Mi inserisco anche io nella discussione, premettendo che non sono molto esperto, ma lavorandoci sopra qualche cosa l'ho imparata.
Mi pare manchi la parte che riguarda localhost, forse è questa la ragione per cui non funziona nulla.
Io aggiungerei:
$IPT -A INPUT -p all -s 127.0.0.1 -j ACCEPT
Registrato
Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Altri Topic Correlati
Oggetto Aperta da Risposte Visite Ultimo messaggio
Regole di post Programmazione Bedo 0 536 Ultimo messaggio Gennaio 03, 2005, 03:07:19 pm
da Bedo
Regole di post Scripting Bedo 0 501 Ultimo messaggio Gennaio 03, 2005, 03:07:59 pm
da Bedo
Regole e considerazioni Installazione MaXeR 1 341 Ultimo messaggio Gennaio 04, 2005, 12:00:06 pm
da debian
gateway? Network zypepox 10 453 Ultimo messaggio Ottobre 03, 2007, 08:38:09 pm
da zypepox
[risolto] modificare regole firewall Sicurezza gmc 5 579 Ultimo messaggio Aprile 25, 2008, 10:32:19 pm
da tindal
Powered by MySQL Powered by PHP Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC XHTML 1.0 valido! CSS valido!
Pagina creata in 0.247 secondi con 20 interrogazioni al database.