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


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


Archivio: Agosto 2006 ml@sikurezza.org
Soggetto: Re: [ml] log iptables
Mittente: Marco Ermini
Data: Thu, 10 Aug 2006 16:31:11 +0200 (CEST)
On 8/9/06, BlueRaven <blue@xxxxxxxxxxxxxxxxxx> wrote:
jgkj lbllkj ha scritto:

[loggare dettagli traffico web in uscita]
> Vi risulta che questo possa essere fatto con iptables?

Iptables di suo non sa "leggere" il protocollo HTTP, quindi, a meno che
non esista un'estensione apposita (prova a guardare se c'è qualcosa su
patch-o-matic), dubito che si possa fare.

Il problema sta nel fatto che iptables non lavora a livello applicativo. Se si filtrano soltanto gli accessi per porta 80, si mancherà tutto il traffico web che va su porte diverse.

Io ho realizzato una soluzione simile patchando netfilter con
l'Application Layer Packet Classifier for Linux:

http://l7-filter.sourceforge.net/

da qui, basta andare sul WiKi di protocolinfo.org e scaricare le
"tracce" per i protocolli che ci interessano - in questo caso l'HTTP -
http://protocolinfo.org/wiki/HTTP . Quindi, tramite questa versione
patchata di iptables, ho rediretto in modo trasparente il traffico su
Squid. In questo modo ho potuto filtrare tutti gli accessi al web, su
qualsiasi porta.

Il passo successivo è stato semplicemente quello di impostare il
default gw della rete all'IP dell'interfaccia CARP delle due box,
configurate come ridondanti, con entrambe lo stesso software Squid e
netfilter patchato. Salvo avere CARP su Linux che faceva i capricci,
funzionava egregiamente per quella rete che era molto piccola :-)

Su una rete più grande, puoi provare - ma ricorda che in ogni caso,
iptables non è nato per fare questo. Quello che ti servirebbe è un
"full-featured stateful packet filtering, circuit filtering, and
application-layer filtering firewall", tipo CheckPoint o MS ISA server
- ipfilter non lo è.


> Non voglio utilizzare un proxy in quanto il cliente
> non lo ha richiesto, qualche soluzione?

Se il problema è che non vuole riconfigurare tutti i client inserendo il
proxy, puoi farlo trasparente: per te è la soluzione più semplice ed
efficace e accontenti anche lui. :-)

È appunto quello che ho suggerito io inizialmente. Mi sembra la soluzione più affidabile. Solo che, per non perdersi le connessioni ai web server su porte non standard, *deve* patchare netfilter - di per sé non è in grado di riconoscere un protocollo applicativo.


Altrimenti, potresti provare ad usare uno sniffer (es. Ethereal o
Wireshark, come si chiama adesso) e ricostruire il traffico web con
quello, ma la vedo _molto_ più complicata.

E sicuramente meno affidabile.


On 8/5/06, Lash <lash@xxxxxxxx> wrote:
la soluzione piu semplice mi sembra guardare i log del server web in
quanto logga tutto quello che ti serve.

Credo che la richiesta fosse the other way around - lui deve filtrare gli utenti di una LAN che vogliono navigare su Internet, non gli utenti di un web server.


se non puoi farlo loggi tutto il traffico con iptalbes e il modulo pcap
di ulog che salva tutto il pachetto e non solo gli header in formato
pcap, puoi leggerlo con wireshark (ex ethereal)

Non è molto pratico...


Cordiali saluti -- Marco Ermini Dubium sapientiae initium. (Descartes) root@human # mount -t life -o ro /dev/dna /genetic/research http://www.markoer.org/ - https://www.linkedin.com/in/marcoermini




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

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