Jud*_*ing 2 firewall iptables ftp tls
启用防火墙后,我的 FTP 无法正常工作。过去我一直为我设置 iptables,我昨天大致学会了如何设置,但我错过了这需要的规则。这是我的 iptables.rules
# 由 iptables-save v1.4.4 在 2010 年 11 月 16 日星期二 23:23:50 生成 *筛选 :前向接受[0:0] :输入接受[0:0] :输出接受[0:0] -A 输入 -i lo -j 接受 -A INPUT -m state -i eth0 --state RELATED,ESTABLISHED -j ACCEPT -A 输入 -p tcp -m tcp --dport 20:21 -j 接受 -A 输入 -p tcp -m tcp --dport 989:990 -j 接受 -A 输入 -p tcp -m tcp -i eth0 --dport 22 -j 接受 -A 输入 -p tcp -m tcp -i eth0 --dport 80 -j 接受 -A 输入 -p tcp -m tcp -i eth0 --dport 443 -j 接受 -A 输入 -p tcp -m tcp -i eth0 --dport 10000 -j 接受 -A 输入 -p icmp -i eth0 -j 接受 -A INPUT -j REJECT --reject-with icmp-port-unreachable 犯罪 # 于 2010 年 11 月 16 日星期二 23:23:50 完成 # 由 iptables-save v1.4.4 在 2010 年 11 月 16 日星期二 23:23:50 生成 *破坏 :PREROUTING 接受 [95811:65665815] :输入接受[92355:65212126] :前向接受[0:0] :输出接受[55795:22371752] :POSTROUTING 接受 [55795:22371752] 犯罪 # 于 2010 年 11 月 16 日星期二 23:23:50 完成 # 由 iptables-save v1.4.4 在 2010 年 11 月 16 日星期二 23:23:50 生成 *nat :路由前接受 [5132:543438] :POSTROUTING 接受 [953:67517] :输出接受[953:67517] 犯罪 # 于 2010 年 11 月 16 日星期二 23:23:50 完成
所以总结一下,我的 FTP 将连接但不显示启用防火墙的任何文件。禁用防火墙后,一切都很完美。
编辑:我让它与防火墙一起使用的唯一其他方法是禁用 ipv6,禁用 TLS 并向防火墙添加规则以允许从我的家庭网络连接(服务器在其他地方)
在被动模式下,当客户端想要从服务器获取文件或向服务器发送文件时,FTP 服务器会随机选择一个端口并将该端口发送给 FTP 客户端。
当您不使用加密时,正确配置的防火墙(使用ip_conntrack_ftp
辅助内核模块,这可能是非 TLS 连接所缺少的)会“侦听”连接并将这些连接标记为RELATED
. 通过加密,防火墙无法侦听。
对此的快速而肮脏的解决方案是将 FTP 服务器配置为为被动连接选择一小部分端口,然后允许访问所有这些端口。例如,在vsftpd
:
pasv_min_port=12000
pasv_max_port=12049
Run Code Online (Sandbox Code Playgroud)
然后在 iptables 中:
iptables -A INPUT -p tcp -m tcp -i eth0 --dport 12000:12049 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
允许任何人访问这些端口打开了一个可能的漏洞:如果有人一遍又一遍地扫描它们,他们可能会很幸运并且能够“击败”真正的用户到数据端口并获取文件。理想情况下,您的 FTP 服务器会检查并确保连接来自与原始连接相同的位置,但多亏了诸如“FXP”之类的东西(通过说服一个服务器与另一台服务器建立主动连接,将文件从一台服务器传输到另一台服务器)被动数据端口)一些服务器默认不检查连接。您应该检查您的配置文件,看看是否有禁用 FXP 的选项,然后使用它。(vsftpd 称之为“混杂”,默认情况下是禁用的。)
归档时间: |
|
查看次数: |
1304 次 |
最近记录: |