[despammed] [PLUTO-security] ftp e iptables

Fabio Panigatti ml-panigatti a minerprint.it
Ven 10 Ott 2003 10:20:58 CEST


> iptables -A FORWARD -p tcp --dport 20 -j DROP
>
> ed in questo modo si riesce ad accedere solo nella modalità
> passiva!

In questo modo succede che alla richiesta di trasferimento da parte del
client ftp, il server inizi il trasferimento. Questo inizio avviene con
l'invio da parte del server di un SYN, con porta sorgente 20/tcp, verso
una porta alta del client, comunicata in precedenza da quest'ultimo nel
comando PORT. Il SYN passa, perche' e' da porta _sorgente_ 20 ma il SYN
+ACK del client viene droppato, perche' _destinato_ alla porta 20/tcp e
bloccato, quindi, dalla tua regola sopra. Il risultato e' che il server
rimane con un socket in SYN-SENT, mentre il client con un socket in SYN
RECEIVED, fino alla scadenza dei rispettivi timeout per questi stati...
ed il trasferimento non avviene, impedendo nei fatti l'ftp attivo, ma a
scapito dell'usabilita' e a rischio di un DoS sul lato server, nel caso
rimangano aperti decine e decine di socket in SYN-SENT (equivalente, di
fatto, ad un SYN flood ai danni server).

> inoltre quando dici di usare delle regole di packet filtering puro per
> impedire la possibilità di accedere in modalità attiva, cosa intendi ?

Che sarebbe meglio non solo filtrare il traffico con DROP ma almeno fare
cadere le sessioni con dei RST. Per il modo in cui funziona netfilter il
solo sistema per resettare entrambi i lati della connessione e' usare un
prodotto come snort con flex-resp, da abbinare ad una regola DROP o RST.
Con netfilter puoi DROPpare (o RSTtare) il traffico con sport 20 tcp che
esce dal server ftp (-i ethX -p tcp -s <ip server> --sport 20) e con una
adeguata regola di snort flexresp con la direttiva rst_all (se DROPpi) o
rst_rcv (se RSTti) resetti i socket rimanenti, senza lasciarli andare in
timeout (che e' sempre spiacevole, sul lato client).

Se, poi, puoi impedire l'ftp attivo con una adeguata configurazione lato
server o con l'interposizione di un proxy, meglio ancora.

> ...ah cmq l'ftp attivo non mi ha fatto nulla ! :-)

E perche' ce l'hai con lui, poverino!


Fabio



Maggiori informazioni sulla lista pluto-security