在 ubuntu 上刷新 iptables

在 ubuntu 上刷新 iptables

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

我有一些 ubuntu 云服务器,我将通过 ssh 访问它们。我在文件“/etc/iptables.rules”中输入我的 iptable 规则,然后使用命令“iptables-restore < /etc/iptables.rules”应用这些规则。

猫/etc/iptables.rules

*筛选

:输入下降 [0:0]

:转发接受 [0:0]

:输出接受 [0:0]

-A 输入-i lo -j 接受

-A 输入 -m 状态 --状态相关,已建立 -j 接受

-A 输入 -m 状态 -i eth0 --状态已建立,相关 -j 接受

-A 输入-p tcp -m tcp --dport 22 -j 接受

-A 输入-p tcp -m tcp --dport 80 -j 接受

-A 输入-p tcp -m tcp --dport 10000 -j 接受

犯罪

我的 IT 经理使用工具“nmap”检查发现一些端口被列为开放端口,而我并没有将其包含在 /etc/iptables.rules 文件中,并要求我尽快修复此问题。所以我只是猜测(并不完全确定)可能需要刷新 iptable 规则,这是我犯下的一个大错误,我觉得这对“管理员”职位来说是一种耻辱。在我当前的 ssh 会话终止后不久,我使用了“iptables -F”,云服务器甚至无法直接访问。然后我以“救援模式”启动它,并应用了默认的 iptable 规则。从那时起,如果与 iptables 有关,我就会感到紧张。

这个论坛对我帮助很大,我希望这个风险会变得容易。

  1. 刷新 iptable 规则的正确方法和
  2. 仅应将允许的端口列为开放端口

需要帮忙...

我在本地机器上检查了以下内容以刷新 iptables 并且成功了:

/sbin/iptables --policy 输入接受

/sbin/iptables --policy 输出接受

/sbin/iptables --policy 转发接受

/sbin/iptables -F

我将使用“iptables-apply /etc/iptables.rules”来避免配置错误。那么是否可以将上述条目放在文件 /etc/iptables.rules 中以供刷新?

即将上述条目放入 iptables.rules 文件中。

我安装了 nmap 监控工具。我使用以下命令检查开放端口:

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

它显示一些端口(https、ftp...)为开放端口,但这些端口未包含在上面的 iptable 规则中。以下是上述 namp 命令的输出

NSE:已加载 0 个脚本以供扫描。

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

已完成 1 个主机的并行 DNS 解析。于 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 个端口)

针对 192.168.2.101 启动操作系统检测(尝试 #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 已启动(延迟 0.000096 秒)。

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

192.168.2.101 上有趣的端口:

未显示:992 个关闭的端口

港口国服务

21/tcp 开启 ftp

22/tcp 开启 ssh

25/tcp 开启 smtp

80/tcp 开放 http

443/tcp 打开 https

8009/tcp 打开 ajp13

8081/tcp 打开 blackice-icecap

10000/tcp 打开 snet-传感器-管理

没有与主机精确匹配的操作系统(如果您知道主机上运行的是什么操作系统,请参阅 http://nmap.org/submit/)。


' netstat -an | grep "LISTEN " ' 的输出:

tcp 0 0 0.0.0.0:21 0.0.0.0:* 监听

tcp 0 0 0.0.0.0:22 0.0.0.0:* 监听

tcp 0 0 0.0.0.0:25 0.0.0.0:* 监听

tcp 0 0 0.0.0.0:443 0.0.0.0:* 监听

tcp 0 0 127.0.0.1:3306 0.0.0.0:* 侦听

tcp 0 0 0.0.0.0:10000 0.0.0.0:* 监听

tcp 0 0 0.0.0.0:80 0.0.0.0:* 监听

tcp6 0 0 :::8081 :::* 侦听

tcp6 0 0 :::22 :::* 侦听

tcp6 0 0 :::8009 :::* 侦听

谢谢你!

答案1

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

答案2

为了有一个防火墙更改期间的安全网您可以部署一个简短的脚本,借助 crontab 定期打开防火墙。只有在成功完成所有更改后,您才能停用此 cron。请参阅这里

相关内容