iptables 1.4和自定义端口上的被动FTP

从debian挤压到wheezy升级后,我有一个被动的FTP连接的问题。 我可以缩小它与iptables相关,因为我可以通过FTP连接到iptables ACCEPT规则后添加我的IP后无w / o问题。 在升级之前,我能够做到

modprobe nf_conntract_ftp ports=21332 

并添加

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

现在..它不再帮助。 正如我在计数器中看到的,正在触发INPUT规则,但目录列表是最后一件事情。 设置被动端口范围是我想要做的最后一件事,我不喜欢开放的端口。

我也尝试过使用辅助mod的技巧, 21332的实际规则之前添加以下规则

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

但没有帮助,甚至没有根据柜台触发。 下一行(w / o助手)的规则正在被触发

编辑1:这是尝试连接后的logentry:

 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 

所以这是被丢弃..(被动FTP呵呵^^)

这里有一些信息:

 # 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 

所以,正如我所说,join我的IP通过时,我没有问题连接..但这不是一个解决scheme,因为除了我可以连接了任何人〜如果有人知道什么问题,请帮助我! 谢谢

疯狂的

编辑:

好吧,我已经结束了使用/添加被动端口范围

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

并在pure-ftpd configs中设置这个范围。

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

可悲的是,nf_conntrack_ftp模块或iptables发生了变化,或者有一个错误,就是连接没有被跟踪,就像在挤压前一样。

好吧,我已经结束了使用/添加被动端口范围作为解决方法

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

并在pure-ftpd configs中设置这个范围。

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

可悲的是,nf_conntrack_ftp模块或iptables发生了变化,或者有一个错误,就是连接没有被跟踪, 就像在挤压前一样。

阅读以上内容,我看不出有什么关于端口21332的神奇。如果FTP服务器select的被动端口恰好是21332,那么你写的所有东西都应该能够正常工作。但是,没有任何证据表明这一点。 是否有可能在最近升级你的旧的ftpdconfiguration文件 – 保证这个端口的select的一些入口 – 被移到一旁了?

请注意,在上面发布的iptables日志中,dport是31437.我仍然不确定ftpd正在挑选似乎有必要的端口21332。