[ Home | Liste | F.A.Q. | Risorse | Cerca... ]


[ Data: precedente | successivo | indice ] [ Argomento: precedente | successivo | indice ]


Archivio: Settembre 2003 ml@sikurezza.org
Soggetto: Re: Log-Firewall
Mittente: Giuseppe Bianco
Data: 28 Sep 2003 17:21:32 -0000
Grazie per queste prime info, ed ora vediamo di fornirti le ulteriori per
completare la risposta.
Questa macchina è una RH7.2, kernel 2.4.18-10brnf0.0.7 per poter far
interoperare le funzionalità di bridge con iptables 1.2.5
La macchina linux ha tre interfacce di rete
E' un bridge firewall e non fà routing
Gli indirizzi x.x.x.x sono quelli della mia classe C
La macchina che tu presumi essere un nt4 è effettivamente un nt4 e non è
possibile (ho controllato) che possa aver originato un pacchetto verso un
indirizzo di rete 192.168.50.156.

Le regole inerenti quelle righe del log sono queste:

#---------------------------------------------------------------------------
-----------------------------------#
# USO IL CONNECTION STATE PER BY-PASSARE IL RULE CHECKING
#
# E FACCIO IL LOG DEI PACCHETTI "INVALID"
#
#---------------------------------------------------------------------------
-----------------------------------#
iptables -A INPUT  -i br0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o br0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A KEEP_STATE -m state --state INVALID -m limit --limit
$LOG_FLOOD -j LOG --log-prefix "INVALID STATE: "
iptables -A KEEP_STATE -m state --state INVALID -j DROP


#---------------------------------------------------------------------------
-----------------------------------#
# REGOLE PER LA PROTEZIONE DA STEALTH SCAN E COMBINAZIONI
#
# ILLEGALI DEI FLAGS NEGLI HEADERS DEI PACCHETTI TCP
#
#---------------------------------------------------------------------------
-----------------------------------#
iptables -A CHECK_FLAGS -p tcp --tcp-flags ALL NONE -m limit --limit
$LOG_FLOOD -j LOG --log-prefix "ALL NONE : "
iptables -A CHECK_FLAGS -p tcp --tcp-flags ALL NONE -j DROP
iptables -A CHECK_FLAGS -p tcp --tcp-flags ALL FIN,URG,PSH -m limit --limit
$LOG_FLOOD -j LOG --log-prefix "NMAP-XMAS: "
iptables -A CHECK_FLAGS -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
iptables -A CHECK_FLAGS -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit --limit
$LOG_FLOOD -j LOG --log-prefix "SYN,FIN SYN,FIN : "
iptables -A CHECK_FLAGS -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
iptables -A CHECK_FLAGS -p tcp --tcp-flags SYN,RST SYN,RST -m limit --limit
$LOG_FLOOD -j LOG --log-prefix "SYN,RST SYN,RST : "
iptables -A CHECK_FLAGS -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A CHECK_FLAGS -p tcp --tcp-flags FIN,RST FIN,RST -m limit --limit
$LOG_FLOOD -j LOG --log-prefix "FIN,RST FIN,RST : "
iptables -A CHECK_FLAGS -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
iptables -A CHECK_FLAGS -p tcp --tcp-flags ACK,FIN FIN -m limit --limit
$LOG_FLOOD -j LOG --log-prefix "ACK,FIN FIN : "
iptables -A CHECK_FLAGS -p tcp --tcp-flags ACK,FIN FIN -j DROP
iptables -A CHECK_FLAGS -p tcp --tcp-flags ACK,PSH PSH -m limit --limit
$LOG_FLOOD -j LOG --log-prefix "ACK,PSH PSH : "
iptables -A CHECK_FLAGS -p tcp --tcp-flags ACK,PSH PSH -j DROP
iptables -A CHECK_FLAGS -p tcp --tcp-flags ACK,URG URG -m limit --limit
$LOG_FLOOD -j LOG --log-prefix "ACK,URG URG : "
iptables -A CHECK_FLAGS -p tcp --tcp-flags ACK,URG URG -j DROP

Inoltre cosa significa TCP INCOMPLETE [8byte]

Grazie per la collaborazione e buona giornata
P.S.
Non capisco quando dici "hai fatto biricchinate"
non ho utilizzato nessun tipo di scan se è questo che intendevi.

----- Original Message -----
From: "Fabio Panigatti" <ml-panigatti@xxxxxxxxxxxxx>
To: <ml@xxxxxxxxxxxxx>
Sent: Friday, September 19, 2003 7:17 PM
Subject: Re: Log-Firewall


> Senza informazioni sulla tua rete, sulla configurazione delle macchine
> e con gli ip offuscati si possono fare solo vaghe congetture.
>
> > Sep 19 11:07:36 Br-Fwll kernel: INVALID STATE: IN=br0 PHYSIN=eth0
OUT=br0
> > PHYSOUT=eth1 SRC=213.45.10.146 DST=x.x.x.x LEN=40 TOS=0x00 PREC=0x00
TTL=118
> > ID=40234 DF PROTO=TCP SPT=1451 DPT=80 WINDOW=8192 RES=0x00 SYN URGP=0
> >
> > Da cosa capisco che è un INVALID STATE?
>
> Dalla label :-)
>
> A parte le spiritosaggini, che non sono poi tanto tali, la label come
> saprai viene assegnata da chi scrive la regola: cerca nello script,
> guarda la regola e scoprirai su cosa fa match. E' probabile che si stia
> riferendo allo stato... INVALID, ma potrebbe anche essere altro. In
> assoluto non c'e' nulla negli header di quel pacchetto che puo' farlo
> definire INVALID a prescindere dalle regole.
>
> E' probabilmente una SYN scan fatto da 213.45.10.146 e tu registri (e,
> verosimilmente, droppi) i pacchetti INVALID in ingresso.
>
> > Sep 19 11:23:29 Br-Fwll kernel: INVALID STATE: IN=br0 PHYSIN=eth0
OUT=br0
> > PHYSOUT=eth1 SRC=212.131.63.58 DST=x.x.x.x LEN=56 TOS=0x00 PREC=0x00
TTL=246
> > ID=57206 PROTO=ICMP TYPE=3 CODE=1 [SRC=x.x.x.x DST=192.168.50.156 LEN=44
> > TOS=0x00 PREC=0x00 TTL=118 ID=61478 DF PROTO=TCP INCOMPLETE [8 bytes] ]
> >
> > Questo è particolare perchè è un ICMP: cosa significa la stringa fra
> > parentesi quadra? e perchè arriva da una rete privata (192.168.59.156)?
>
> E' un host unreachable: apparentemente, uno degli host nella tua rete
> (probabilmente un winnt 4) ha inviato un pacchetto TCP (probabilmente
> un SYN) all'ip 192.168.59.156, che non appartenendo alla tua rete e'
> stato instradato su internet. A nove hop di distanza c'era un router
> (tale 212.131.63.58) che non sapeva che farsene di quel coso e lo ha
> scartato mandandoti un'adeguata segnalazione (tipo 3 code 1, host
> unreachable) in cui ha allegato l'header ip del pacchetto che ha
> causato il problema (quello che vedi tra le parentesi quadre).
>
> Il problema e' che questo ICMP sarebbe dovuto essere traffico RELATED
> se il pacchetto TCP che l'ha originato fosse passato dal tuo netfilter.
> Qui sembra che sia stato interpretato come INVALID ma, come dicevo sopra,
> la label potrebbe non riferirsi necessariamente allo stato INVALID. Se e'
> veramente INVALID dovrebbe essere stato spoofato (il pacchetto TCP) al di
> fuori della tua rete (ma ci sarebbe una strana coincidenza sui TTL) oppure
> potrebbe essere stato generato molto tempo prima che arrivasse l'ICMP
> (ma molto, molto tempo prima) cosi' che nel frattempo lo stato era
scaduto.
> Troppe poche info. Se hai snort o un altro IDS con attivato il log delle
> sessioni TCP puoi vedere cosa e' successo in quel periodo di tempo.
>
> > Sep 19 11:47:32 Br-Fwll kernel: INVALID STATE: IN=br0 PHYSIN=eth0
OUT=br0
> > PHYSOUT=eth1 SRC=217.59.239.82 DST=x.x.x.x LEN=56 TOS=0x00 PREC=0x00
TTL=247
> > ID=45281 PROTO=ICMP TYPE=3 CODE=13 [SRC=x.x.x.x DST=217.58.188.109
LEN=40
> > TOS=0x00 PREC=0x00 TTL=119 ID=10296 PROTO=TCP INCOMPLETE [8 bytes] ]
> >
> > Uguale al precedente ma nella stringa fra parentesi quadra figura un
> > indirizzo di rete pubblica.
>
> Qui ci si ripete, a parte che il pacchetto TCP originale sembra quasi
> generato da uno scanner (hai fatto biricchinate?).
>
> Il tipo 3 code 13 e' un communication administratively prohibited, non
> molto dissimile da quello precedente tranne che per il fatto che e' stato
> inviato perche' chi ha configurato il router saprebbe anche dove inviare
> il tuo pacchetto, ma per qualche motivo non vuole farlo e te lo filtra.
>
> Non capisco bene il tuo commento: vuoi dire che nel primo caso l'ip e'
> privato? Forse sarebbe meglio se tu chiarissi se questa macchina fa da
> bridge o da router, se fa nat e dove e' stata inserita nella tua rete.
>
>
> Fabio che magari s'e' perso qualcosa per strada
>
>
> ________________________________________________________
> http://www.sikurezza.org - Italian Security Mailing List
>


________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List




[ Home | Liste | F.A.Q. | Risorse | Cerca... ]

www.sikurezza.org - Italian Security Mailing List
(c) 1999-2005