herozgx 发表于 2014-07-14 14:27

vsftp如何设置防火墙iptables

FTP服务器采用被动模式,iptables设置成
-A INPUT -p tcp -s 192.168.1.101 -m tcp --dport=21 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -s 192.168.1.101 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

从192.168.1.101去连接服务器的21端口,可以登录,但总是建立不了数据连接。

目前我知道有两种方式可以实现:
   1. 限制指定的数据端口号(相当于一直开放了若干个端口用于接收数据连接,感觉不太符合安全需求)
   2. 在iptables中设置NEW状态(安全性如何保证?)

请问如何实现iptables 的relate模块放开由21端口触发的相关端口

希望大家给予帮助。

cryboy2001 发表于 2014-07-14 15:24

一般ftp用20与联21端口,只要开了这两个就行了
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT


herozgx 发表于 2014-07-14 15:31

可我采用的是被动传输模式,服务器端会随机打开一个数据端口的,而不是20回复 2# cryboy2001


   

cryboy2001 发表于 2014-07-14 15:39

ftp pasv模式也要指定端口如下参数:

pasv_min_port=30000
pasv_max_port=30999

再在iptable要中加入
-A INPUT -m state --state NEW -m tcp -ptcp --dport 30000:30999 -j ACCEPT

q1208c 发表于 2014-07-14 15:48

http://blog.chinaunix.net/uid-26963748-id-3267168.html

2012年的 blog, 不知道 iptables里的 ftp mod 是不是 还在.

yestreenstars 发表于 2014-07-14 23:51

回复 2# cryboy2001

即使客户端采用主动连接,服务端也无需在INPUT链开放20端口,只需21端口即可~
   

yestreenstars 发表于 2014-07-15 00:36

楼主可以参考一下:http://yestreenstars.blog.51cto.com/1836303/1438177

herozgx 发表于 2014-07-15 10:31

本帖最后由 herozgx 于 2014-07-15 10:35 编辑

这个我也实现了

目前我知道有两种方式可以实现:
   1. 限制指定的数据端口号(相当于一直开放了若干个端口用于接收数据连接,感觉不太符合安全需求)
   2. 在iptables中设置NEW状态(安全性如何保证?)

但是现在的问题是开放那么多端口岂不是不安全?所以想让它动态的打开相关数据端口回复 4# cryboy2001


   

herozgx 发表于 2014-07-15 10:33

感谢你的回复,我忘了说明我用了TLS的安全传输,好像加上这个后就无法用related状态了,是这样吗?去掉TLS采用明文传输就可以回复 7# yestreenstars


   

herozgx 发表于 2014-07-15 10:34

采用TLS协议加密后是否就无法用这个Iptables的RELATED了?回复 5# q1208c


   
页: [1] 2
查看完整版本: vsftp如何设置防火墙iptables