我有一个在 Centos 6.6 上运行的 Web 服务器。最近,Config Server Security Firewall 向我发送了超过 150 封电子邮件,称一些恶意机器人试图猜测我的客户端 ftp 用户和密码。我讨厌暴力攻击,我尝试将我的 ftp 端口从 21 更改为 ****。我配置了我的 purefptd.conf
# IP address/port to listen to (default=all IP and port 21).
Bind *** # My New Port Here Without 127.0.0.1
然后我在我的 csf 配置文件中允许新端口所有 TCP_IN、TCP_OUT、UDP_IN、UDP_OUT(适用于 IPv4 和 IPv6),并根据资源添加 iptables 规则
iptables -A INPUT -p tcp --dport newport -j ACCEPT
iptables -A OUTPUT -p tcp --dport newport -j ACCEPT
iptables -A INPUT -p udp --dport newport -j ACCEPT
iptables -A OUTPUT -p udp --dport newport -j ACCEPT
service iptables save
service iptables restart
更改后,我重新启动了 pureftpd 和 csf。现在,当我尝试通过 Filezilla 3.9.0.6 连接到我的 ftp 服务器时,它会给我这个答案。
Response: 227 Entering Passive Mode (*,*,*,*)
Command: MLSD
Error: Connection timed out
Error: Failed to retrieve directory listing
答案1
我自己找到了答案。我将 pureftp conf 文件的被动连接行更改为:
# Port range for passive connections replies. - for firewalling.
PassivePortRange 50000 51000
并在 csf 配置文件中允许它,50000:51000
例如
TCP_IN IPv4 和 IPv6。
现在它运行正常。