
[ Home | Liste | F.A.Q. |
Risorse | Cerca... ]
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.
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