Un esempio di filtro P2P - II INFN Security Workshop
Leonardo Lanzi - Dipartimento di Fisica - Università di Firenze - [email protected]
1
Un esempio di filtro P2P - II INFN Security Workshop
Cosa è il Peer-to-Peer ?
Ritorno alle origini di internet:
ARPA Network: Network Control Program -> hostto-host protocol.
●
Fine del modello client/server: nel 2000, con
Napster, migliaia (e migliaia...) di pc diventano nodi
attivi di connessioni dirette, un megacomputer e un
megafilesystem virtuale mondiale.
●
Leonardo Lanzi - Dipartimento di Fisica - Università di Firenze - [email protected]
2
Un esempio di filtro P2P - II INFN Security Workshop
... Peer-to-Peer ?
3) L'ultima scocciatura, come spam, virus nelle e-mail,
bachi per Windows xyz. Un caso di uso scorretto della
rete.
Un problema soprattutto tecnico(0), oltre che legale.
(0) metà 2003, almeno 10 Mbs fissi in ingresso su unifi.it
Leonardo Lanzi - Dipartimento di Fisica - Università di Firenze - [email protected]
3
Un esempio di filtro P2P - II INFN Security Workshop
... P2P
I software per il file-sharing P2P tendono ad essere
invasivi. Prima accedono a vari superserver(1), e
funzionano aprendo una selva di connessioni parallele.
Per un download efficace, il setup invita ad aumentare il
rapporto speed/host, i files condivisi (così aumentano
gli uploads) etc... cioè l'impatto sulla rete locale.
In pratica, si tende a saturare la banda disponibile.
[opinione: come in altri casi, l'aumento del throughput
non serve, anzi..]
(1) database di elenchi dinamici di host P2P
Leonardo Lanzi - Dipartimento di Fisica - Università di Firenze - [email protected]
4
Un esempio di filtro P2P - II INFN Security Workshop
Soluzioni ?
A) Modello “unifi.it”:
tutti cattivi: si chiudono sul router tutte le porte,
escluso la 22, 25, e 80.
☹ Una noia per le applicazioni classiche (aggiornamento
del s.o./kernel, download dei driver, ...).
Leonardo Lanzi - Dipartimento di Fisica - Università di Firenze - [email protected]
5
Un esempio di filtro P2P - II INFN Security Workshop
Soluzioni
B) Blocco delle porte basse, con sorveglianza a vista del
traffico (ntop, snort/acid, ...).
Si cercano connessioni simultanee su porte alte, e si
individuano gli utenti birboni.
☹ Scomodo: gestione quasi manuale.
Si può usare anche un cutter(2), usando lo stdout di
alcuni sniffer di connessioni p2p, per es. p2pmon da
www.p2pwatchdog.com - gratis per Linux, va su RH.
C) Traffic shaping.
2) uno dei tool per tagliare una connessione tcp/ip, oppure con iptables -s ... -d ... -j
REJECT Lanzi - Dipartimento di Fisica - Università di Firenze - [email protected]
Leonardo
6
Un esempio di filtro P2P - II INFN Security Workshop
Ftwall su Linux - un notch filter
Si studia un protocollo P2P, si scrive qualcosa ad-hoc in
C, usando i tools presenti nelle distribuzioni Linux
(netfilter - target QUEUE per accedere dallo spazio
utente ai pacchetti che transitano nelle chains).
ftwall: un filtro per ora(3) di FastTrack (Kazaa 2.x /
Lite, iMesh 4.y, Grokster 1.z...). Pensato per l'uso su un
firewall, ma si può adattare su un transparent bridge,
(patches ebtables su kernel 2.4, oppure su 2.6
standard).
(3)
Leonardo Lanzi - Dipartimento di Fisica - Università di Firenze - [email protected]
7
Un esempio di filtro P2P - II INFN Security Workshop
Caratteristiche di FastTrack
non usa porte prefissate (1214)
●cache di ~200 indirizzi, che aggiorna
regolarmente
●handshaking della parte TCP/IP della connessione
criptato
●
Come si collega
un flood di pacchetti UDP;
●connessioni TCP/IP parallele, e ancora:
●connessioni singole TCP/IP classiche, ogni tanto e
con timeout lunghi.
●
Leonardo Lanzi - Dipartimento di Fisica - Università di Firenze - [email protected]
8
Un esempio di filtro P2P - II INFN Security Workshop
Funzionamento di ftwall
(1)
# iptables -A FORWARD -p udp - i eth1 -j QUEUE
Leonardo Lanzi - Dipartimento di Fisica - Università di Firenze - [email protected]
9
Un esempio di filtro P2P - II INFN Security Workshop
Funzionamento di ftwall
(2)
# iptables -A FORWARD -p tcp - i eth1 --syn -j QUEUE
Leonardo Lanzi - Dipartimento di Fisica - Università di Firenze - [email protected]
10
Un esempio di filtro P2P - II INFN Security Workshop
Funzionamento di ftwall
(3)
# iptables -A INPUT -p udp -i eth1 -j QUEUE
Leonardo Lanzi - Dipartimento di Fisica - Università di Firenze - [email protected]
11
Un esempio di filtro P2P - II INFN Security Workshop
ftwall - osservazioni
usa un timeout, azzerato da ogni SYN che proviene dal
client P2P. Come effetto collaterale, tutto il traffico
dell'host viene bloccato. Quando il client FastTrack si
spegne, dopo il timeout, torna tutto normale. Con (3), la
reazione ai pacchetti UDP inviati ogni t.o./2, blocca
definitivamente il client.
●Nel 3° modo, i files sono trasferiti via http in chiaro.
Gli header contengono l'IP del client, il protocollo e
l'address di un supernodo; da questi, ftwall aggiunge il
supernodo agli IP bloccati (e azzera il time lock).
●Se il flood UDP non inizia (per es. disabilitato), ftwall
non funziona.
●
Leonardo Lanzi - Dipartimento di Fisica - Università di Firenze - [email protected]
12
Un esempio di filtro P2P - II INFN Security Workshop
ftwall setup
non sempre è possibile aggiungere un altro firewall ...
●si prepara un transparent bridge - br0
●si scrivono le regole di iptables per il br0
ifconfig eth0 0.0.0.0 up
ifconfig eth1 0.0.0.0 up
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
(ifconfig br0 192.84.w.z netmask 255.255.255.0 up)
(route add default gw 192.84.x.y)
iptables -A FORWARD -p udp -i br0 -j QUEUE
iptables -A FORWARD -p tcp -i br0 --syn -j QUEUE
iptables -A INPUT -p udp -i eth1 -j QUEUE
/etc/init.d/ftwall start
Leonardo Lanzi - Dipartimento di Fisica - Università di Firenze - [email protected]
13
Un esempio di filtro P2P - II INFN Security Workshop
Esempi di log - ftwall
# tail -3 /var/lib/ftwall.store [con log
Feb 19 17:14:30 prova ftwall[1576]: Drop
(FORWARD) from br0:193.206.a.b:1466 to
br0:62.16.152.x:3302
Feb 19 17:14:31 prova ftwall[1576]: Drop
(FORWARD) from br0:193.206.a.b:1466 to
br0:217.210.103.y:2457
Feb 19 17:14:32 prova ftwall[1576]: Drop
(FORWARD) from br0:193.206.a.b:1466 to
br0:213.113.202.z:1807
udp dropped]
UDP packet
UDP packet
UDP packet
# tail -3 /var/lib/ftwall.store
193.136.153.x:2684
193.170.63.y:3316
81.99.1.z:3032
# ls -l /var/log/ftwall.clients/
total 0
-rw-r--r-- 1 root root 0 Feb 20 15:14 193.206.190.b
Leonardo Lanzi - Dipartimento di Fisica - Università di Firenze - [email protected]
14
Un esempio di filtro P2P - II INFN Security Workshop
Chi è?
#nmap ..... 193.206.190.a
Starting nmap 3.48 .... at 2004-02-...
Interesting ports on x.fi.infn.it (193.206.190.a):
....
PORT
STATE
SERVICE
80/tcp
open
http
135/tcp open
msrpc
139/tcp open
netbios-ssn
445/tcp open
microsoft-ds
1025/tcp open
NFS-or-IIS (??)
1214/tcp filtered fasttrack
1466/tcp filtered oceansoft-lm
3531/tcp open
peerenabler
6000/tcp open
X11
Device type: general purpose
Running: Microsoft Windows 95/98/ME|NT/2K/XP
OS details: Microsoft Windows Millennium Edition(Me)...
Leonardo Lanzi - Dipartimento di Fisica - Università di Firenze - [email protected]
15
Un esempio di filtro P2P - II INFN Security Workshop
Esempi di log - p2pmon
p2pwatchdog e xmule su RH9:
# p2pmon -a 1
Opening adapter in promiscuous mode.
Adapter: eth0 (No description available)
Monitoring P2P filesharing activity...
Fri Jan 23 10:39:55 2004: eDonkey
src=193.206.190.x:38739,
dst=80.223.232.73:4662
file=Dido - White Flag.mp3
Si può partire da:
# p2pmon -a 1 | grep src | cut -d: -f1 | cut -d= -f2
193.206.190.x
e usare iptables -A ... REJECT e iptables -D .... nel crontab
Leonardo Lanzi - Dipartimento di Fisica - Università di Firenze - [email protected]
16
Un esempio di filtro P2P - II INFN Security Workshop
Progetti per il futuro
se possibile, prova sotto carico di ftwall su fi.infn.it,
invitando al file sharing p2p estremo, soprattutto se
arriva ftwall.2.
●prove su altre reti (una a caso: rete unifi del Polo
Scientifico, se verranno riaperte le porte).
●trovare qualcuno interessato all'argomento.
●
Leonardo Lanzi - Dipartimento di Fisica - Università di Firenze - [email protected]
17
Un esempio di filtro P2P - II INFN Security Workshop
Riferimenti
ftwall:
●http://www.linuxjournal.com/article.php?sid=694
5 , le figure sono © di linuxjournal.com, credo.
●p2pwall.sourceforge.net
●alcune delle font che ho usato sono nel pacchetto
msttcorefonts per Debian, “provided by MicroSoft,
in the interest of cross-platform compatibility”.
●
Ringraziamenti
●
Servizio Calcolo e Reti sezione fi.infn.
Leonardo Lanzi - Dipartimento di Fisica - Università di Firenze - [email protected]
18
Scarica

filtro-p2p - INFN Gruppo Collegato di PARMA