如何在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,我会感到紧张。
这个论坛帮了我很多,我希望这个风险会变得容易。
需要帮忙…
我在本地机器检查以下冲洗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。 看到这里 。