CentOS 6.2 - vsftpd 正在运行
95.76.44.67 背后的人每天都会扫描我的 ftp 服务器,我已经从 iptables 中阻止了他,但是检查 vsftpd.log 我发现他仍然可以连接到 vsftpd,我不知道为什么。
这是我的 iptables 输出:
Chain INPUT (policy ACCEPT 223K packets, 34M bytes)
num pkts bytes target prot opt in out source destination
1 18709 1370K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:512
2 43135 2175K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
3 143K 181M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpts:62222:63333
4 68342 94M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
5 1 44 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
6 254K 30M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
7 8 472 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:465
8 103K 140M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:587
9 122K 7662K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:995
10 7486 1039K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
11 1201 114K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
12 277K 595M ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
13 0 0 DROP all -- * * 70.148.48.200 0.0.0.0/0
14 2015 81956 DROP all -- * * 95.76.44.67 0.0.0.0/0
15 0 0 DROP all -- * * 95.76.133.243 0.0.0.0/0
16 0 0 DROP all -- * * 95.76.186.81 0.0.0.0/0
17 0 0 DROP all -- * * 95.76.102.135 0.0.0.0/0
18 0 0 DROP all -- * * 118.69.198.201 0.0.0.0/0
19 0 0 DROP all -- * * 69.94.28.73 0.0.0.0/0
20 0 0 DROP all -- * * 218.60.44.132 0.0.0.0/0
21 0 0 DROP all -- * * 80.232.232.9 0.0.0.0/0
22 0 0 DROP all -- * * 61.184.196.122 0.0.0.0/0
23 0 0 DROP all -- * * 61.51.18.235 0.0.0.0/0
24 0 0 DROP all -- * * 218.29.115.152 0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 1287K packets, 1178M bytes)
num pkts bytes target prot opt in out source destination
我可以做些什么来阻止他连接到 vsftpd?
答案1
Iptables 以匹配获胜的第一条规则为基础,因此
2 43135 2175K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
允许端口 21 上的连接优于
14 2015 81956 DROP all -- * * 95.76.44.67 0.0.0.0/0
因为对于 FTP 连接来说它从未采取行动。
将 95.76.44.67 的 DROP 放在 FTP 的 accept 之前。您可能希望将实现此功能的命令更改为-I ...
而不是-A ...
答案2
DROP 规则需要位于接受端口 21 上的 FTP 连接的规则之前。
iptables 采用首次命中机制。
答案3
要制定完美的 IPTABLE 策略,首先要 DROP 所有内容并打开必要的端口。对于您的情况,请将 DROP 规则放在 ACCEPT 之前。这样应该可以正常工作。
再会。
答案4
与问题稍微离题一点,但考虑一下像 Shorewall 这样的 iptables 前端(http://shorewall.net/)。您可以以更直观的方式添加规则,并且只需运行“shorewall drop 1.2.3.4”即可动态删除给定的地址。
还可以考虑fail2ban(http://www.fail2ban.org/),它可以扫描您的日志并自动删除某些 IP 地址。它与原始 iptables 或 Shorewall 配合使用。