我发现使用 iptables 允许 FTP 流量的最佳答案是这里
接下来我使用了以下 iptables 规则:
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 20:21 --syn -m conntrack --ctstate NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 1024: --syn -m conntrack --ctstate NEW -j ACCEPT
但是它向 TCP 连接开放了所有大于或等于 1024 的端口,这对于防火墙规则来说并不是很好。
所有这些端口都开放以允许 FTP 被动入站流量。
所以我想知道如何安装vsftpd
服务器并保持更严格的防火墙规则。
答案1
您可以/应该有一个RELATED,ESTABLISHED
不限于特定端口(范围)的规则:
iptables -A INPUT -p tcp --dport 20:21 --syn -m conntrack --ctstate NEW -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
答案2
我可以vsftpd
通过在文件中添加以下几行来限制被动入站流量的端口范围使用vsftpd.conf
:
pasv_min_port=22200
pasv_max_port=22210
限制被动入站流量端口范围后,我使用了以下 iptable 规则:
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 20:21 --syn -m conntrack --ctstate NEW, -j ACCEPT
iptables -A INPUT -p tcp --dport 22200:22210 --syn -m conntrack --ctstate NEW -j ACCEPT