in azienda stiamo preparando il nuovo server web e vorremmo attivare anche un server ftp(lo so è molto rischioso) per permettere ai clienti di fare upload mediante autenticazione.
Gli utenti ftp sono virtuali e mappati ad un utente di sistema con bassissimi privilegi ,senza shell ed in chroot in una directory con l'unico permesso di caricare files,ma non quello di listare la directory.
Comunque sia,il server ftp funziona,l'unica cosa che vorrei implementare è una protezione con iptables per gli attacchi brute force.
Girando su Google ho travato varie guide e tutte suggeriscono più o meno il seguente approccio:
Codice: Seleziona tutto
iptables -I INPUT -p tcp --dport 21 -m state --state NEW -m recent --set --name FTP
iptables -I INPUT -p tcp --dport 21 -m state --state NEW -m recent --update --rttl --name FTP --seconds 60 --hitcount 5 -j DROP
iptables -I INPUT -p tcp --dport 20 -m state --state NEW -m recent --set --name FTP
iptables -I INPUT -p tcp --dport 20 -m state --state NEW -m recent --update --rttl --name FTP --seconds 60 --hitcount 5 -j DROP
Problema:
In modalità passiva ftp funziona,non mi funziona in modalità attiva(timeout).
Se creo due semplici regole di accept sulle porte 20 e 21 invece funziona anche la modalità attiva,quindi sono certo che il problema è in quei filtri anti brute force,ma non saprei dove metter mano.Non sono un'esperto di iptable.
La modalità attiva mi interessa perchè è facilmente utilizzabile da Esplora risorse di Windows e per i clienti meno esperti è veramente semplice da utilizzare.
Ovviamenti i moduli del kernel ip_conntrack e ip_conntrack_ftp sono caricati.
Il sistema operativo è una Centos 5.5 ,ma non credo che faccia molta differenza i questo caso.