我只允许某些IP访问端口8209。我尝试过在ServerFault上读到的几种不同的方法。这个方法是我最近尝试过的。
我通过添加以下行手动编辑了配置文件:
-N xxx # create a new chain
-A xxx --src 50.88.183.6 -j ACCEPT # allow 20.88.183.6
-A xxx --src 97.68.205.177 -j ACCEPT # allow 87.68.205.177
-A xxx --src 38.103.14.231 -j ACCEPT # allow 49.103.14.231
-A xxx -j DROP # drop everyone else
-I INPUT -m tcp -p tcp --dport 8209 -j xxx # use chain xxx for packets coming to TCP port 8209在添加行之后,我重新启动了Iptables,但是它没有工作,我仍然可以从任何IP访问它。我不确定这是否只是错误的配置或在文件中的位置问题。
在文件中的内嵌位置,我将其放置在配置的顶部附近,就在这些行的下面。
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [302211:210610546]
:RH-Firewall-1-INPUT - [0:0]
:acctboth - [0:0]
:cP-Firewall-1-INPUT - [0:0]在这条线之上:
-A INPUT -p tcp -m tcp --dport 49152:65534 -j ACCEPT
-A INPUT -j cP-Firewall-1-INPUT
-A INPUT -j acctboth
-A INPUT -j RH-Firewall-1-INPUT 下面是命令iptables -L -n -v的输出
Chain INPUT (policy ACCEPT 63019 packets, 7491K bytes)
pkts bytes target prot opt in out source destination
60060 6425K acctboth all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 44033 packets, 85M bytes)
pkts bytes target prot opt in out source destination
41960 82M acctboth all -- * * 0.0.0.0/0 0.0.0.0/0
Chain acctboth (2 references)
pkts bytes target prot opt in out source destination
0 0 tcp -- !lo * 23.253.74.239 0.0.0.0/0 tcp dpt:80
0 0 tcp -- !lo * 0.0.0.0/0 23.253.74.239 tcp spt:80
0 0 tcp -- !lo * 23.253.74.239 0.0.0.0/0 tcp dpt:25
0 0 tcp -- !lo * 0.0.0.0/0 23.253.74.239 tcp spt:25
0 0 tcp -- !lo * 23.253.74.239 0.0.0.0/0 tcp dpt:110
0 0 tcp -- !lo * 0.0.0.0/0 23.253.74.239 tcp spt:110
0 0 icmp -- !lo * 23.253.74.239 0.0.0.0/0
0 0 icmp -- !lo * 0.0.0.0/0 23.253.74.239
2 216 tcp -- !lo * 23.253.74.239 0.0.0.0/0
3 268 tcp -- !lo * 0.0.0.0/0 23.253.74.239
0 0 udp -- !lo * 23.253.74.239 0.0.0.0/0
0 0 udp -- !lo * 0.0.0.0/0 23.253.74.239
2 216 all -- !lo * 23.253.74.239 0.0.0.0/0
3 268 all -- !lo * 0.0.0.0/0 23.253.74.239
0 0 tcp -- !lo * 23.253.72.112 0.0.0.0/0 tcp dpt:80
0 0 tcp -- !lo * 0.0.0.0/0 23.253.72.112 tcp spt:80
0 0 tcp -- !lo * 23.253.72.112 0.0.0.0/0 tcp dpt:25
0 0 tcp -- !lo * 0.0.0.0/0 23.253.72.112 tcp spt:25
0 0 tcp -- !lo * 23.253.72.112 0.0.0.0/0 tcp dpt:110
0 0 tcp -- !lo * 0.0.0.0/0 23.253.72.112 tcp spt:110
0 0 icmp -- !lo * 23.253.72.112 0.0.0.0/0
0 0 icmp -- !lo * 0.0.0.0/0 23.253.72.112
0 0 tcp -- !lo * 23.253.72.112 0.0.0.0/0
0 0 tcp -- !lo * 0.0.0.0/0 23.253.72.112
0 0 udp -- !lo * 23.253.72.112 0.0.0.0/0
0 0 udp -- !lo * 0.0.0.0/0 23.253.72.112
0 0 all -- !lo * 23.253.72.112 0.0.0.0/0
0 0 all -- !lo * 0.0.0.0/0 23.253.72.112
0 0 tcp -- !lo * 23.253.72.149 0.0.0.0/0 tcp dpt:80
0 0 tcp -- !lo * 0.0.0.0/0 23.253.72.149 tcp spt:80
0 0 tcp -- !lo * 23.253.72.149 0.0.0.0/0 tcp dpt:25
0 0 tcp -- !lo * 0.0.0.0/0 23.253.72.149 tcp spt:25
0 0 tcp -- !lo * 23.253.72.149 0.0.0.0/0 tcp dpt:110
0 0 tcp -- !lo * 0.0.0.0/0 23.253.72.149 tcp spt:110
0 0 icmp -- !lo * 23.253.72.149 0.0.0.0/0
0 0 icmp -- !lo * 0.0.0.0/0 23.253.72.149
0 0 tcp -- !lo * 23.253.72.149 0.0.0.0/0
0 0 tcp -- !lo * 0.0.0.0/0 23.253.72.149
0 0 udp -- !lo * 23.253.72.149 0.0.0.0/0
0 0 udp -- !lo * 0.0.0.0/0 23.253.72.149
0 0 all -- !lo * 23.253.72.149 0.0.0.0/0
0 0 all -- !lo * 0.0.0.0/0 23.253.72.149
0 0 tcp -- !lo * 23.253.72.81 0.0.0.0/0 tcp dpt:80
0 0 tcp -- !lo * 0.0.0.0/0 23.253.72.81 tcp spt:80
0 0 tcp -- !lo * 23.253.72.81 0.0.0.0/0 tcp dpt:25
0 0 tcp -- !lo * 0.0.0.0/0 23.253.72.81 tcp spt:25
0 0 tcp -- !lo * 23.253.72.81 0.0.0.0/0 tcp dpt:110
0 0 tcp -- !lo * 0.0.0.0/0 23.253.72.81 tcp spt:110
0 0 icmp -- !lo * 23.253.72.81 0.0.0.0/0
0 0 icmp -- !lo * 0.0.0.0/0 23.253.72.81
0 0 tcp -- !lo * 23.253.72.81 0.0.0.0/0
0 0 tcp -- !lo * 0.0.0.0/0 23.253.72.81
0 0 udp -- !lo * 23.253.72.81 0.0.0.0/0
0 0 udp -- !lo * 0.0.0.0/0 23.253.72.81
0 0 all -- !lo * 23.253.72.81 0.0.0.0/0
0 0 all -- !lo * 0.0.0.0/0 23.253.72.81
0 0 tcp -- !lo * 10.208.37.124 0.0.0.0/0 tcp dpt:80
0 0 tcp -- !lo * 0.0.0.0/0 10.208.37.124 tcp spt:80
0 0 tcp -- !lo * 10.208.37.124 0.0.0.0/0 tcp dpt:25
0 0 tcp -- !lo * 0.0.0.0/0 10.208.37.124 tcp spt:25
0 0 tcp -- !lo * 10.208.37.124 0.0.0.0/0 tcp dpt:110
0 0 tcp -- !lo * 0.0.0.0/0 10.208.37.124 tcp spt:110
0 0 icmp -- !lo * 10.208.37.124 0.0.0.0/0
0 0 icmp -- !lo * 0.0.0.0/0 10.208.37.124
0 0 tcp -- !lo * 10.208.37.124 0.0.0.0/0
0 0 tcp -- !lo * 0.0.0.0/0 10.208.37.124
0 0 udp -- !lo * 10.208.37.124 0.0.0.0/0
0 0 udp -- !lo * 0.0.0.0/0 10.208.37.124
0 0 all -- !lo * 10.208.37.124 0.0.0.0/0
0 0 all -- !lo * 0.0.0.0/0 10.208.37.124
5 484 all -- !lo * 0.0.0.0/0 0.0.0.0/0 以下是配置的完整输出:
# Generated by iptables-save v1.3.5 on Wed Jan 8 20:49:24 2014
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [302211:210610546]
:RH-Firewall-1-INPUT - [0:0]
:acctboth - [0:0]
:cP-Firewall-1-INPUT - [0:0]
-N xxx # create a new chain
-A xxx --src 50.88.183.6 -j ACCEPT # allow 20.88.183.6
-A xxx --src 97.68.205.177 -j ACCEPT # allow 87.68.205.177
-A xxx --src 38.103.14.231 -j ACCEPT # allow 39.103.14.231
-A xxx -j DROP # drop everyone else
-I INPUT -m tcp -p tcp --dport 8209 -j xxx # use chain xxx for packets coming to TCP port 8209
-A INPUT -p tcp -s 20.88.183.6 -j ACCEPT
-A INPUT -p tcp -s 87.68.205.177 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 49152:65534 -j ACCEPT
-A INPUT -j cP-Firewall-1-INPUT
-A INPUT -j acctboth
-A INPUT -j RH-Firewall-1-INPUT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -s 220.177.198.26 -j DROP
-A INPUT -p tcp -s 115.239.248.121 -j DROP
-A INPUT -p tcp -s 222.186.56.33 -j DROP
-A FORWARD -j cP-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A OUTPUT -j acctboth
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p esp -j ACCEPT
-A RH-Firewall-1-INPUT -p ah -j ACCEPT
-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 8209 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
-A acctboth -s 23.253.74.239 -i ! lo -p tcp -m tcp --dport 80
-A acctboth -d 23.253.74.239 -i ! lo -p tcp -m tcp --sport 80
-A acctboth -s 23.253.74.239 -i ! lo -p tcp -m tcp --dport 25
-A acctboth -d 23.253.74.239 -i ! lo -p tcp -m tcp --sport 25
-A acctboth -s 23.253.74.239 -i ! lo -p tcp -m tcp --dport 110
-A acctboth -d 23.253.74.239 -i ! lo -p tcp -m tcp --sport 110
-A acctboth -s 23.253.74.239 -i ! lo -p icmp
-A acctboth -d 23.253.74.239 -i ! lo -p icmp
-A acctboth -s 23.253.74.239 -i ! lo -p tcp
-A acctboth -d 23.253.74.239 -i ! lo -p tcp
-A acctboth -s 23.253.74.239 -i ! lo -p udp
-A acctboth -d 23.253.74.239 -i ! lo -p udp
-A acctboth -s 23.253.74.239 -i ! lo
-A acctboth -d 23.253.74.239 -i ! lo
-A acctboth -s 10.208.37.124 -i ! lo -p tcp -m tcp --dport 80
-A acctboth -d 10.208.37.124 -i ! lo -p tcp -m tcp --sport 80
-A acctboth -s 10.208.37.124 -i ! lo -p tcp -m tcp --dport 25
-A acctboth -d 10.208.37.124 -i ! lo -p tcp -m tcp --sport 25
-A acctboth -s 10.208.37.124 -i ! lo -p tcp -m tcp --dport 110
-A acctboth -d 10.208.37.124 -i ! lo -p tcp -m tcp --sport 110
-A acctboth -s 10.208.37.124 -i ! lo -p icmp
-A acctboth -d 10.208.37.124 -i ! lo -p icmp
-A acctboth -s 10.208.37.124 -i ! lo -p tcp
-A acctboth -d 10.208.37.124 -i ! lo -p tcp
-A acctboth -s 10.208.37.124 -i ! lo -p udp
-A acctboth -d 10.208.37.124 -i ! lo -p udp
-A acctboth -s 10.208.37.124 -i ! lo
-A acctboth -d 10.208.37.124 -i ! lo
-A acctboth -i ! lo
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 993 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 2078 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 2082 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 2077 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 26 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 143 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 8209 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 995 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 2086 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 2087 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 2095 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 465 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 2096 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 2083 -j ACCEPT
-A cP-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
COMMIT
# Completed on Wed Jan 8 20:49:24 2014
# Generated by iptables-save v1.3.5 on Wed Jan 8 20:49:24 2014
*nat
:PREROUTING ACCEPT [10751:641344]
:POSTROUTING ACCEPT [6174:435114]
:OUTPUT ACCEPT [6174:435114]
COMMIT发布于 2014-04-13 20:16:57
好吧,主要问题是你的防火墙现在什么也没做。INPUT链恰好包含一个规则,它将您的流量发送到一个名为acctboth的链中。该链包含一组规则,其中没有一个具有决定性目标,因此所有数据包都将通过它返回到默认策略,在该链上(与所有其他链一样)是ACCEPT。
结果是这台机器完全没有防火墙。
我不知道为什么你所显示的“防火墙配置”和你的实时规则集之间会有这样的不匹配。您还没有告诉我们配置规则集来自哪个文件,因此我们不知道是否存在从配置文件加载的问题。很明显,您所做的编辑对实时规则集没有任何影响。我们只知道你的机器完全没有防火墙。
另外,您的服务器正在运行CentOS 6.2,这是在寿命结束后的近两年。
请不要把这件事放在心上,但看起来你真的太过分了。在这台机器上得到一些专业的帮助,因为目前,它是完全开放的,没有修补。
发布于 2014-04-13 16:26:26
这是我用于web服务器的通用iptables规则集的转储。注意,我有一个名为SSH_CHECK的SSH拨号检测规则集,它可能不适用于您的问题,但希望在这里设置它,作为完整规则集的一部分。
# Generated by iptables-save v1.4.12 on Sun Apr 6 11:50:24 2014
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [3:198]
:POSTROUTING ACCEPT [3:198]
COMMIT
# Completed on Sun Apr 6 11:50:24 2014
# Generated by iptables-save v1.4.12 on Sun Apr 6 11:50:24 2014
*mangle
:PREROUTING ACCEPT [22:1475]
:INPUT ACCEPT [22:1475]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [21:3342]
:POSTROUTING ACCEPT [21:3342]
COMMIT
# Completed on Sun Apr 6 11:50:24 2014
# Generated by iptables-save v1.4.12 on Sun Apr 6 11:50:24 2014
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [21:3342]
:SSH_CHECK - [0:0]
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j SSH_CHECK
-A INPUT -j TOR
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A INPUT -p esp -j ACCEPT
-A INPUT -p ah -j ACCEPT
-A INPUT -d 224.0.0.251/32 -p udp -m udp --dport 5353 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j TOR
-A SSH_CHECK -m recent --set --name SSH --rsource
-A SSH_CHECK -m recent --update --seconds 60 --hitcount 4 --name SSH --rsource -j DROP
COMMIT
# Completed on Sun Apr 6 11:50:24 2014看看您的规则,也许您可以尝试将这些值直接放入INPUT链中,如下所示:
-A INPUT -s 50.88.183.6 -m tcp -j ACCEPT # allow 20.88.183.6
-A INPUT -s 97.68.205.177 -m tcp -j ACCEPT # allow 87.68.205.177
-A INPUT -s 38.103.14.231 -m tcp -j ACCEPT # allow 49.103.14.231注意我是如何显式地设置INPUT链的,使用-s而不是您的--src &我也显式地设置了-m tcp。
此外,由于您是明确授予对端口8209的访问权限,所以这可能直接适用于INPUT链:
-A INPUT -s 50.88.183.6 -m tcp --dport 8209 -j ACCEPT # allow 20.88.183.6
-A INPUT -s 97.68.205.177 -m tcp --dport 8209 -j ACCEPT # allow 87.68.205.177
-A INPUT -s 38.103.14.231 -m tcp --dport 8209 -j ACCEPT # allow 49.103.14.231https://serverfault.com/questions/588728
复制相似问题