在Ubuntu上刷新iptables

如何在Ubuntu服务器上完美地刷新iptables没有任何风险?

我有一些Ubuntu的云服务器,我会通过SSH访问它们。 我在文件“/etc/iptables.rules”中input我的iptable规则,并且将使用命令“iptables-restore </etc/iptables.rules”应用这些规则。

猫/etc/iptables.rules

*过滤

:INPUT DROP [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-Ainput-i lo -j接受

-Ainput-m状态 – 状态RELATED,ESTABLISHED -j接受

-A INPUT -m状态-i eth0 – 状态ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p tcp -m tcp –dport 22 -j ACCEPT

-A INPUT -p tcp -m tcp –dport 80 -j ACCEPT

-Ainput-p tcp -m tcp –dport 10000 -j ACCEPT

承诺

我的IT经理检查并发现一些端口被列为开放端口,工具“nmap”,我没有包含在/etc/iptables.rules文件中,我被要求尽快解决这个问题。 所以我只是猜测(不知道),可能需要刷新iptable规则,这是我的大错误,我觉得这'pipe理员'的位置是可耻的。 在我当前的ssh会话终止后,我很快使用了“iptables -F”,而且这个云服务器甚至不能直接访问。 然后我开始在“救援模式”中应用默认的iptable规则。 从那时起,如果是关于iptables,我会感到紧张。

这个论坛帮了我很多,我希望这个风险会变得容易。

  1. 正确的方法来刷新iptable规则和
  2. 只有允许的端口应该被列为开放端口

需要帮忙…

我在本地机器检查以下冲洗iptables和它的工作:

/ sbin / iptables –policy INPUT ACCEPT

/ sbin / iptables –policy OUTPUT ACCEPT

/ sbin / iptables –policy FORWARD ACCEPT

/ sbin / iptables -F

我将使用'iptables-apply /etc/iptables.rules'来避免configuration错误。 那么是否有可能把上面的条目放在文件/etc/iptables.rules中进行冲洗呢?

即把上面的条目放到iptables.rules文件中。

我安装了nmap监控工具。 我使用以下来检查打开的端口:

nmap -vv -sS -O -T2 -R –randomize_hosts -oA永久192.168.2.101

它显示了一些端口(https,ftp …)作为开放端口,不包括在上面的iptable规则中。 以下是上面的nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn

NSE:加载0个脚本进行扫描。

无法parsing给定的主机名/ IP:-sS。 请注意,不能使用'/ mask'和'1-4,7,100-'样式IP范围无法parsing给定的主机名/ IP:-T2。 请注意,您不能使用'/ mask'和'1-4,7,100-'样式IP范围无法parsing给定的主机名/ IP:-R。 请注意,您不能使用“/ mask”和“1-4,7,100-”样式的IP范围启动1台主机的并行DNSparsing。 在15:36

完成1台主机的并行DNSparsing。 在15:36,0.02秒过去了

15:36开始SYN隐形扫描

扫描192.168.2.101 [1000端口]

在192.168.2.101上发现开放端口21 / tcp

在192.168.2.101上发现开放端口443 / tcp

在192.168.2.101上发现了开放端口25 / tcp

在192.168.2.101上发现开放端口22 / tcp

在192.168.2.101上发现了开放端口80 / tcp

在192.168.2.101上发现开放端口10000 / tcp

在192.168.2.101上发现开放端口8009 / tcp

在192.168.2.101上发现开放端口8081 / tcp

在15:36完成SYN隐形扫描,经过0.07秒(总共1000个端口)

启动操作系统检测(尝试#1)针对192.168.2.101

重试操作系统检测(尝试#2)针对192.168.2.101

重试操作系统检测(尝试#3)针对192.168.2.101

重试操作系统检测(尝试#4)针对192.168.2.101

重试操作系统检测(尝试#5)针对192.168.2.101

主机192.168.2.101已启动(延迟0.000096s)。

扫描于2010-10-06 15:36:46 IST 12秒

有趣的端口在192.168.2.101:

未显示:992个closures的端口

港口国服务

21 / tcp open ftp

22 / tcp打开ssh

25 / tcp打开smtp

80 / tcp打开http

443 / tcp打开https

8009 / tcp打开ajp13

8081 / tcp打开blackice-icecap

10000 / tcp打开snet-sensor-mgmt

没有确切的操作系统匹配的主机(如果你知道什么操作系统正在运行,请参阅http://nmap.org/submit/ )。


'netstat -an |的输出 grep“LISTEN”:

tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN

tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN

tcp6 0 0 ::: 8081 ::: * LISTEN

tcp6 0 0 ::: 22 ::: * LISTEN

tcp6 0 0 ::: 8009 ::: * LISTEN

谢谢!

如果链的默认策略是DENY那么所有的连接都将被切断,因为不再有任何通过TCP / IP进行通信的方式。 在刷新之前将默认策略设置为ACCEPT ,然后在重新build立规则之后回到DENY

为了在防火墙更改期间拥有安全网,您可以部署一个简短的脚本,在crontab的帮助下 – 定期打开防火墙。 只有成功完成所有更改后,才能取消激活此cron。 看到这里 。