[Scuola] un aiuto sul firewall
Damiano Verzulli
damiano@verzulli.it
Sun Jan 10 12:48:24 CET 2010
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Mauro Darida ha scritto:
> [...] Per far capire con un esempio,
> www.cessna.com viene visualizzato senza i menu a tendina in testa,
> menomandolo in maniera significativa.
Dando una rapida occhiata a quella pagina utilizzando FireBug [1], vedo che
diverse risorse utilizzate nella barra in alto vengono servite da server
web _diversi_ da www.cessna.com. La scritta/immagine "newsroom", ad
esempio, e' questa:
http://textron.vo.llnwd.net/o25/CES/images_design/btn_nav_t_newsroom.jpg
Ecco quindi che gli IP dei server web remoti sono diversi:
- --------------------------------------
verzulli@nb-damiano:~/Documents$ dig +short www.cessna.com
165.193.56.134
verzulli@nb-damiano:~/Documents$ dig +short textron.vo.llnwd.net
87.248.195.178
87.248.195.183
- --------------------------------------
e quindi potrebbero essere filtrati da shorewall/dansguardian in modo diverso.
> Ho escluso dansguardian come fonte del problema, perché esso blocca l'accesso
> ad un sito web (avvisando con apposita schermata) ma non esegue blocchi
> parziali come quello descritto.
Dansguardian (che conosco pochissimo) _NON_ potra' mai "avvisare con
apposita schermata" se (...come qualcuno ha accennato) ad essere "bannato"
e' soltanto una piccola/piccolissima immagine referenziata da una pagina
HTML o da un CSS che, invece, sono "passati". Potra' farlo solo se ad
essere "bannato" e' il primo file HTML che viene richiesto.
Comunque, la cosa migliore (essendo sia DansGuardian che Shorewall/iptables
serviti da sistemi Gnu/Linux), e' quella di guardare i LOG: li, al 100%,
c'e' scritto esattamente quello che succede.
Un "tail -f /var/log/dansguardian/access.log" [2] aperto mentre il browser
va sul sito mostra _inequivocabilmente_ quello che accade.
Idem per quanto riguarda i LOG di Shorewall. Anzi, visto che Shorewall
(come qualcuno ha accennato) non fa nient'altro che elaborare (all'avvio)
le regole di "iptables", i LOG sono quelli generati da "iptables" e che,
nel 99.9% dei casi, trovi in /var/log/messages, /var/log/syslog o simili
[3]. Ad esempio, su una mia macchina (ho volutamente offuscato gli ultimi
due ottetti dell'IP di destinazione):
- ------------------------------------------------
root@mixer:/var/log/today# tail -f shorewall
Jan 10 12:32:24 [...] Shorewall:mngmt2net:DROP:IN=eth0.50 OUT=eth1
SRC=10.0.0.53 DST=193.204.*.* LEN=28 TOS=0x00 PREC=0x00 TTL=63 ID=32666
PROTO=UDP SPT=1024 DPT=37 LEN=8
Jan 10 12:32:24 [...] Shorewall:net2addmz:DROP:IN=eth1 OUT=eth0.27
SRC=98.188.147.225 DST=192.167.*.* LEN=92 TOS=0x00 PREC=0x00 TTL=113
ID=43902 PROTO=ICMP TYPE=8 CODE=0 ID=512 SEQ=24845
Jan 10 12:32:24 [...] Shorewall:net2addmz:DROP:IN=eth1 OUT=eth0.27
SRC=98.188.147.225 DST=192.167.*.* LEN=92 TOS=0x00 PREC=0x00 TTL=113
ID=43903 PROTO=ICMP TYPE=8 CODE=0 ID=512 SEQ=25101
Jan 10 12:32:24 [...] Shorewall:net2addmz:DROP:IN=eth1 OUT=eth0.27
SRC=98.188.147.225 DST=192.167.*.* LEN=92 TOS=0x00 PREC=0x00 TTL=113
ID=43904 PROTO=ICMP TYPE=8 CODE=0 ID=512 SEQ=25357
Jan 10 12:32:24 [...] Shorewall:net2addmz:DROP:IN=eth1 OUT=eth0.27
SRC=98.188.147.225 DST=192.167.*.* LEN=92 TOS=0x00 PREC=0x00 TTL=113
ID=43905 PROTO=ICMP TYPE=8 CODE=0 ID=512 SEQ=25613
Jan 10 12:32:24 [...] Shorewall:net2addmz:DROP:IN=eth1 OUT=eth0.27
SRC=98.188.147.225 DST=192.167.*.* LEN=92 TOS=0x00 PREC=0x00 TTL=113
ID=43906 PROTO=ICMP TYPE=8 CODE=0 ID=512 SEQ=25869
Jan 10 12:32:24 [...] Shorewall:net2addmz:DROP:IN=eth1 OUT=eth0.27
SRC=98.188.147.225 DST=192.167.*.* LEN=92 TOS=0x00 PREC=0x00 TTL=113
ID=43907 PROTO=ICMP TYPE=8 CODE=0 ID=512 SEQ=26125
[...]
- ------------------------------------------------------
dal quale capisci bene cosa viene (eventualmente) tagliato. Cio',
chiaramente, a condizione che nella configurazione di shorewall
(policy/rules) tu abbia mantenuto il "LOG"ging del traffico rifiutato [5].
> Usando solo il firewall sul router e
> disabilitando shorewall/squid/dansguardian il problema sparisce e questi siti
> vengono visualizzati in maniera corretta. Ho dedotto quindi che il problema
> sta in shorewall [...]
Deduzione, a mio avviso, frettolosa e probabilmente errata (consiglio: le
"deduzioni" si possono fare seriamente solo dopo aver consultato i LOG...).
Scommetto che e' dansguardian a tagliare risorse linkate da www.cessna.com
e servite da server diversi.
Infine, visto che:
> [...]
> Usando solo il firewall sul router e
> disabilitando shorewall/squid/dansguardian il problema sparisce
> [...]
un interessante (a mio avviso) esperimento che accende i fari su questo
problema per renderlo analizzabilissimo anche da uno studente (e cogliere
l'occasione per togliere molti veli sul funzionamento del web) e':
- - catturare l'intero traffico da/verso il singolo client:
- sia con shorewall/squid/dansguardian attivo;
- sia con connessione diretta al router.
Salvando il dump su un file, ad esempio con:
# tcpdump -s 0 -w /tmp/sniff_completo_01.dump -n -i eth0 port 80
prima e dopo, e' possibile aprire tali dump con wireshark [4] e vedere
_ESATTAMENTE_:
- - quali richieste HTTP il client trasmette;
- - quali risposte HTTP gli ritornano
e... quindi capire, _ESATTAMENTE_ cosa manca nel caso del filtro.
Da li, capire chi e' il responsabile, e' banale (...perche' se e' iptables,
il traffico semplicemente non ritorna; se e' dansguardian, ottieni una
risposta diversa da quella che ti aspettavi).
Nota: tcpdump (e wireshark) esistono anche per Win32
> ma non mi viene in mente nulla su che cosa potrei far
> passare per risolvere il problema.
Beh... se avrai avuto la pazienza di leggere questo messaggio fin qui e se
avrai la pazienza di approfondire quello che ho citato... penso che avrai
un bel po' di che "divertirti". Sbaglio? Se hai bisogno di piu' dettagli...
non esitare a chiederli.
> Avete qualche idea?
Sei sicuro di volerne.... altre? :-)
Bye,
Damiano //...che se gli archivi non fossero pubblici,
//non avrebbe scritto questa risposta.
[1] http://getfirebug.com/
[2] Non usando dansguardian, ho chiesto a google e... questo e' il primo
risultato:
http://linuxdidattica.org/docs/gcdss/squid/page15.html
[3] il file preciso dipende da una serie di fattori (distribuzione,
versione, configurazione di syslog, tipo di syslog usato, etc.)
[4] http://www.wireshark.org/
[5] http://www.shorewall.net/shorewall_logging.html
- --
Damiano Verzulli
e-mail: damiano@verzulli.it
- ---
possible?ok:while(!possible){open_mindedness++}
- ---
"Technical people tend to fall into two categories: Specialists
and Generalists. The Specialist learns more and more about a
narrower and narrower field, until he eventually, in the limit,
knows everything about nothing. The Generalist learns less and
less about a wider and wider field, until eventually he knows
nothing about everything." - William Stucke - AfrISPA
http://elists.isoc.org/mailman/private/pubsoft/2007-December/001935.html
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAktJvoUACgkQcwT9fsMT4SxPcACfacHEC5hPnrEROgR8v6HUl05v
P4gAoIEebmrI5v2PRPqJ+Dyr5hHn/cbn
=ylFu
-----END PGP SIGNATURE-----
More information about the scuola
mailing list