iptables 1.4 e FTP passivo na porta personalizada

3

após a atualização do debian squeeze para wheezy Eu tenho um problema com a conexão FTP passiva. Eu poderia limitá-lo para ser iptables relacionados, como eu poderia conectar via FTP w / o problemas depois de adicionar o meu IP para a regra de ACEITAR iptables. Antes da atualização eu pude apenas fazer

modprobe nf_conntract_ftp ports=21332

e adicionando

iptables -A THRU -p tcp --dport 21332 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

agora..não ajuda mais. A regra INPUT está sendo acionada como posso ver no contador, mas a listagem de diretórios é a última coisa que ela faz. Configurar um intervalo de porta passiva é a última coisa que quero fazer, não gosto de portas abertas.

Eu também tentei o truque com o mod auxiliar adicionando a seguinte regra antes da regra real para 21332

iptables -A THRU -p tcp -i eth0 --dport 21332 -m state --state NEW -m helper --helper ftp-21332 -j ACCEPT

mas isso não ajuda e nem está sendo acionado de acordo com o contador. A regra na próxima linha (sem ajudante) está sendo acionada

edit1: Aqui está o log-in depois de tentar conectar:

Jun 30 15:35:16 loki pure-ftpd: ([email protected]) [INFO] New connection from 84.187.121.71
Jun 30 15:35:16 loki pure-ftpd: ([email protected]) [INFO] crackyftp1 is now logged in
Jun 30 15:35:17 loki kernel: [168039.126400] drop_packet_IN=eth0 OUT= MAC=40:61:86:97:dd:15:00:26:88:75:ec:1d:08:00 SRC=84.187.121.71 DST=88.198.xx.19 LEN=52 TOS=0x00 PREC=0x00 TTL=121 ID=3663 DF PROTO=TCP SPT=42148 DPT=31437 WINDOW=8192 RES=0x00 SYN URGP=0

então está sendo descartado ... (FTP passivo, huh ^^)

aqui algumas informações:

# iptables --version
iptables v1.4.14

# lsmod |grep nf_
nf_nat_ftp             12460  0
nf_nat                 18242  1 nf_nat_ftp
nf_conntrack_ftp       12605  1 nf_nat_ftp
nf_conntrack_ipv4      14078  32 nf_nat
nf_defrag_ipv4         12483  1 nf_conntrack_ipv4
nf_conntrack           52720  7     xt_state,nf_conntrack_ipv4,xt_conntrack,nf_conntrack_ftp,nf_nat,nf_nat_ftp,xt_helper

# uname -a
Linux loki 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1 x86_64 GNU/Linux

# iptables-save
# Generated by iptables-save v1.4.14 on Sun Jun 30 03:54:28 2013
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:BLACKLIST - [0:0]
:LOGDROP - [0:0]
:SPAM - [0:0]
:THRU - [0:0]
:WEB - [0:0]
:fail2ban-dovecot-pop3imap - [0:0]
:fail2ban-pureftpd - [0:0]
:fail2ban-ssh - [0:0]
-A INPUT -p tcp -m multiport --dports 110,995,143,993 -j fail2ban-dovecot-pop3imap
-A INPUT -p tcp -m multiport --dports 21,21332 -j fail2ban-pureftpd
-A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh
-A INPUT -p tcp -m multiport --dports 110,995,143,993 -j fail2ban-dovecot-pop3imap
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -j DROP
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,ACK FIN -j DROP
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags ACK,URG URG -j DROP
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j BLACKLIST
-A INPUT -j THRU
-A INPUT -j LOGDROP
-A OUTPUT -j ACCEPT
-A OUTPUT -s 93.223.38.223/32 -j ACCEPT
-A BLACKLIST -s 38.113.165.0/24 -j LOGDROP
-A BLACKLIST -s 202.177.216.0/24 -j LOGDROP
-A BLACKLIST -s 130.117.190.0/24 -j LOGDROP
-A BLACKLIST -s 117.79.92.0/24 -j LOGDROP
-A BLACKLIST -s 72.47.228.0/24 -j LOGDROP
-A BLACKLIST -s 195.200.70.0/24 -j LOGDROP
-A BLACKLIST -s 195.200.71.0/24 -j LOGDROP
-A LOGDROP -m limit --limit 5/sec -j LOG --log-prefix drop_packet_ --log-level 7
-A LOGDROP -p tcp -m tcp --dport 25 -m limit --limit 2/sec -j LOG --log-prefix spam_blacklist --log-level 7
-A LOGDROP -p tcp -m tcp --dport 80 -m limit --limit 2/sec -j LOG --log-prefix web_blacklist --log-level 7
-A LOGDROP -p tcp -m tcp --dport 22 -m limit --limit 2/sec -j LOG --log-prefix ssh_blacklist --log-level 7
-A LOGDROP -j REJECT --reject-with icmp-host-prohibited
-A THRU -p icmp -m limit --limit 1/sec -m icmp --icmp-type 8 -j ACCEPT
-A THRU -i eth0 -p tcp -m tcp --dport 25 -j ACCEPT
-A THRU -i eth0 -p udp -m udp --dport 53 -j ACCEPT
-A THRU -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A THRU -i eth0 -p tcp -m tcp --dport 110 -j ACCEPT
-A THRU -i eth0 -p tcp -m tcp --dport 143 -j ACCEPT
-A THRU -i eth0 -p tcp -m tcp --dport 465 -j ACCEPT
-A THRU -i eth0 -p tcp -m tcp --dport 585 -j ACCEPT
-A THRU -i eth0 -p tcp -m tcp --dport 993 -j ACCEPT
-A THRU -i eth0 -p tcp -m tcp --dport 995 -j ACCEPT
-A THRU -i eth0 -p tcp -m tcp --dport 2008 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A THRU -i eth0 -p tcp -m tcp --dport 10011 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A THRU -i eth0 -p tcp -m tcp --dport 21332 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A THRU -i eth0 -p tcp -m tcp --dport 30033 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

-A fail2ban-dovecot-pop3imap -j RETURN
-A fail2ban-dovecot-pop3imap -j RETURN
-A fail2ban-pureftpd -j RETURN
-A fail2ban-pureftpd -j RETURN
-A fail2ban-ssh -j RETURN
-A fail2ban-ssh -j RETURN
COMMIT
# Completed on Sun Jun 30 03:54:28 2013

Então, como eu disse, não tenho problemas em conectar quando adiciono meu IP para passar ... mas isso não é uma solução, pois ninguém, exceto eu, pode se conectar mais ~ Se alguém tiver uma ideia do problema, por favor me ajude! Obrigado

Cracky

editar:

ok, acabei usando / adicionando um intervalo de portas passivas

-A THRU -i eth0 -p tcp -m tcp --dport 21333:21343 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

e definindo este intervalo em configurações de pure-ftpd.

echo "21333 21343" > /etc/pure-ftpd/conf/PassivePortRange

É triste que o módulo nf_conntrack_ftp ou o iptables tivesse uma alteração ou tivesse um bug que a conexão não está sendo mais rastreada como se estivesse trabalhando antes no squeeze.

    
por Cracky 30.06.2013 / 04:01

2 respostas

1

ok, acabei usando / adicionando um intervalo de portas passivas como uma solução alternativa

-A THRU -i eth0 -p tcp -m tcp --dport 21333:21343 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

e definindo este intervalo em configurações de pure-ftpd.

echo "21333 21343" > /etc/pure-ftpd/conf/PassivePortRange

É triste que o módulo nf_conntrack_ftp ou o iptables tivesse uma alteração ou tivesse um bug que a conexão não está mais sendo rastreada como se estivesse trabalhando antes no squeeze.

    
por 30.06.2013 / 16:37
0

Lendo o acima, não consigo ver o que há de tão mágico na porta 21332. Tudo que você escreveu deve funcionar bem, desde que a porta passiva escolhida pelo servidor FTP seja 21332. Entretanto, você não mostra nada que garanta isso. É possível que, na atualização recente, seu antigo arquivo de configuração do ftpd - com alguma entrada garantindo essa opção de porta - tenha sido removido?

Note que, no log do iptables que você postou acima, o dport é 31437. Eu não estou convencido de que o ftpd esteja escolhendo a porta 21332 que parece ser necessária.

    
por 30.06.2013 / 15:45