PDA

View Full Version : netfilter/programmazione: un modulo per URL filtering


gurutech
08-11-2007, 21:42
Ciao,
sto vagliando vari modi di fare URL filtering.
mi interesserebbe una vostra opinione:
secondo voi è possibile, creando un apposito modulo, fare url filtering direttamente da iptables? idee in merito?

mi sa che a partire da qui
http://l7-filter.sourceforge.net/
si possa sviluppare qualcosa, però sono ancora a livello di idea che mi ronza in testa...

edit
anche questa non è una cattiva idea ...
http://linux.die.net/man/3/libipq

W.S.
09-11-2007, 08:21
Ciao,
le libipq dovrebbero essere quasi obsolete, sostituite da libnetfilter_queue (nfqueue).

Penso che il metodo migliore da seguire non sia il scrivere un modulo ma (come dai 2 link) scrivere un tool userspace che comunica con netfilter tramite il target NFQUEUE (via netlink).
Pure io sto progettando una specie di personal firewall usando nfqueue. Purtroppo non c'è molta documentazione in giro, più che altro mi sto basando sui sorgenti contenuti nell'esempio del pacchetto (in particolare nfqnl_test.c) e da pochi riferimenti sparsi come:
http://archives.free.net.ph/message/20060208.171235.186dce08.en.html

Comunque la soluzione rende possibile fare url filtering e praticamente qualsiasi altra cosa ;)

Se trovi documentazione o qualsiasi altra cosa potresti linkarmela? Io farò lo stesso. :)

gurutech
09-11-2007, 08:25
Ciao,
le libipq dovrebbero essere quasi obsolete, sostituite da libnetfilter_queue (nfqueue).

Grazie per la dritta!

Penso che il metodo migliore da seguire non sia il scrivere un modulo ma (come dai 2 link) scrivere un tool userspace che comunica con netfilter tramite il target NFQUEUE (via netlink). Comunque la soluzione rende possibile fare url filtering e praticamente qualsiasi altra cosa ;)

lo immaginavo. viva la versatilità open source

Se trovi documentazione o qualsiasi altra cosa potresti linkarmela? Io farò lo stesso. :)

senz'altro. usero questo post anche per postare spezzoni di codice e quant'altro, così non me li perdo :)

io sto cercando di fare un firewall trasparente (anzi fantasma :D ) con due schede di rete in bridging.

jventure
09-11-2007, 08:27
si è possibile fare netfilter da iptables appoggiandosi a netfilter-ip o netfilter-nfq

un'applicazione che fa netfilter è moblock ... l'unica cosa è che le blacklist devono essere intervalli di indirizzi IP e non url

W.S.
09-11-2007, 08:42
Ecco altri link che mi ero segnato (prima mi son dimenticato di guardare nei bookmarks :doh: )

http://securepoint.com/lists/html/NetFilter/2007-01/msg00155.html
http://www.wallinfire.net/files/netfilter-packets-alter.html
http://swik.net/queue+netfilter

gurutech
09-11-2007, 16:03
fantastico!
riesco a infilare tutto il traffico nel bridge.
per il momento ho scritto i pacchetti ricevuti in un file.
per quello che dovrei fare invece mi servirebbe una libreria già pronta per l'analisi del traffico http/https: suggerimenti?

gurutech
09-11-2007, 16:18
mezzo OT:
volete farvi due risate?
guardate cosa ho incontrato cercando sul web ...
http://www.tech-faq.com/lang/it/packet-sniffer.shtml

gurutech
09-11-2007, 21:36
fantastico!
riesco a infilare tutto il traffico nel bridge.
per il momento ho scritto i pacchetti ricevuti in un file.
per quello che dovrei fare invece mi servirebbe una libreria già pronta per l'analisi del traffico http/https: suggerimenti?

.... non ho trovato nulla in merito ...
comunque, RFC alla mano, sto decodificando i pacchetti catturati. devo ancora arrivare alla decodifica dell'url. per il momento ho decodificato il datagramma IP e stampo il risultato a video. ottengo una cosa del genere:

IPv4
Header Length: 5
TOS: 0
LEN: 60
ID: -13861
TTL: 64
Proto: tcp
source IP: 191.168.4.10
dest IP: 130.175.120.33
cc 47 00 50 34 01 4e 69
00 00 00 00 a0 02 16 d0
9c 7f 00 00 02 04 05 b4
04 02 08 0a 00 7e 84 b2
00 00 00 00 01 03 03 02