Ubuntu 22.04 一次及其繁琐的 允许 Traceroute 探测漏洞修复之旅

Ubuntu 22.04 一次及其繁琐的 允许 Traceroute 探测漏洞修复之旅Ubuntu22.04一次及其繁琐的允许Traceroute探测漏洞修复之旅

前言:允许 Traceroute 探测是绿盟漏洞扫描器报出来的一个漏洞,如下图:

Ubuntu 22.04 一次及其繁琐的 允许 Traceroute 探测漏洞修复之旅

我的系统是ubuntu 22.04,但由于是用户提供的虚拟机,会有些定制的部分,具体定制了哪部分就不知道了,直接描述问题。

==========

解决问题的心路历程:

1、traceroute 地址有返回信息,很简单的问题

        查询了网上的很多内容,说是通过iptables 生成规则并且执行就可以,但是我的系统iptables不是以服务形态出现的,没有办法使用 services restart iptables 、 systemctl reload iptables 等命令进行重启,导致网上的命令使用后都无法生效;

2、管理员在系统安装了ufw,并做了配置

        使用fuw status 可以看到只开了22/80 两个端口,其他的都是关闭状态,但是查遍全网都没有如果合同ufw禁止使用udp端口的问题,后来看到了一个帖子是这么说的:

        ufw展示iptable的配置方式,具体实现还是通过iptables进行执行,看来还是得通过iptables入手解决问题。

3、查找iptables的配置文件,怎么也找不到,使用 iptables-save 命令可以看到保存了一大堆的策略,可是不知道这些策略出自哪里

        通过 whereis iptables  发现了一个目录 /usr/share/ufw的目录,下面还有个iptables的目录,里面有一些配置文件,我感觉是找对了地方,但修改了半天还是无效。

        我把 /usr/share/ufw/iptables 的目录改名,重启后发现系统没有问题,策略依旧,所以证明这个目录里的内容是可有可无的。

4、我把iptables里的策略导出,然后清空,把策略手动调整完,再写入,还是不行!!!

        具体我写入了什么信息,我就不详述了,看到最后就会明白,因为过程都没有成功过,我也没分析,到底是语法错误,还是写的内容少了,还是策略有冲突,总之没有成功

5、由于 iptables 不是服务,每次只能通过重启刷新策略,结果惊讶的发现,每次重启后系统就会重置一些规则,说明有些规则是在我所编辑的文件之前就加载的,我只有找到这个地方才行,有是不断地寻找,最终我找到了这个目录   /etc/nfw  一个如此朴实无华而又指向明确的目录,里面的文件都是系统启动是就加载的文件,于是我把 before.rules里的所有和icmp有关的信息 都 DROP掉,重启后发现策略正确加载了,但是 ping traceroute 还是能正常执行,我无语了

6、虽然策略依然没有生效,但是我觉得路径是正确的,我已经找到了所有和 ufw 以及iptalbes 有关的配置和保存位置,那么剩下的应该就是策略书写不对了,我在网站上搜索了大量的文章,直到看到下面这篇

Linux中 ICMP相关漏洞处理 –Traceroute探测和ICMP timestamp请求响应漏洞 iptables命令 – yy9knsg – 博客园

里面提到,要解决 traceroute 的问题需要把0/3/11都禁掉才可以,但文章的后续只给了13/14的禁用,于是我将0/3/11/13/14都禁用了,依旧无效,因为我不能reload iptables,我将这些配置写进了/etc/ufw/before.rules的文件,一共10条命令:

-I INPUT -p icmp --icmp-type 0 -j DROP
-I OUTPUT -p icmp --icmp-type 0 -j DROP
-I INPUT -p icmp --icmp-type 3 -j DROP
-I OUTPUT -p icmp --icmp-type 3 -j DROP
-I INPUT -p icmp --icmp-type 11 -j DROP
-I OUTPUT -p icmp --icmp-type 11 -j DROP
-I INPUT -p icmp --icmp-type 13 -j DROP
-I OUTPUT -p icmp --icmp-type 13 -j DROP
-I INPUT -p icmp --icmp-type 14 -j DROP
-I OUTPUT -p icmp --icmp-type 14 -j DROP

重启后,所有 ping traceroute 的响应都没有了,问题终于解决了!!

==========

问题的简单回顾:

1、网路上大部分策略都是- A 的,比如:

# ok icmp codes for INPUT
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP
-A ufw-before-input -p icmp --icmp-type echo-reply -j DROP
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j DROP
-A ufw-before-input -p icmp --icmp-type time-exceeded -j DROP
-A ufw-before-input -p icmp --icmp-type parameter-problem -j DROP
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP
# ok icmp code for FORWARDi
-A ufw-before-forward -p icmp --icmp-type echo-request -j DROP
-A ufw-before-forward -p icmp --icmp-type echo-reply -j DROP
-A ufw-before-forward -p icmp --icmp-type destination-unreachable -j DROP
-A ufw-before-forward -p icmp --icmp-type time-exceeded -j DROP
-A ufw-before-forward -p icmp --icmp-type parameter-problem -j DROP
-A ufw-before-forward -p icmp --icmp-type echo-request -j DROP

事实证明 -A的策略,即使全封了也没有解决问题,要用 -I 的策略才可以

2、不知道为什么 -A的策略要用icmp的名称,-I的策略只用到 0/3/11/13/14这样的序列号就可以,我之前在-A的策略中用序列号,好像会报错,所以也没有深究,这块也给我造成了一些困扰;

3、问题终于解决了,耗时约20个小时,希望能够大家一些借鉴。

关于iptables 的链表的理论,这里留一个链接,以后再仔细研究。

Iptables详解 iptables概念 链/表_富士康质检员张全蛋的博客-CSDN博客

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/34944.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注