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

news2024/11/21 2:24:59

前言:允许 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博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/28961.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【服务器数据恢复】LINUX误删除、误格式化的数据恢复

Linux误删除及误格式化的数据恢复方案针对的文件系统: 1 、基于EXT2/EXT3/EXT4文件系统 ; 2 、基于Reiserfs文件系统; 3 、基于Xfs文件系统。 Linux误删除及误格式化的数据恢复解决方案: 一、故障检测: 1、检测是否存在…

java学习day56(Spring Boot)Spring Boot

主要内容: 1.Spring Boot基本应用 2.Spring Boot原理深入及源码剖析 3.Spring Boot数据访问 4.Spring Boot视图技术 5.Spring Boot实战演练 6.Spring Boot项目部署 1. SpringBoot基本应用 1.1 约定优于配置Build Anything with Spring Boot:Spring Boot …

【数据结构】堆的实现及排序

目录一、树的相关概念及其特殊二叉树1、数的相关概念2、特殊二叉树二、堆1、堆的实现1.1、堆向下调整算法和向上调整算法的时间复杂度1.2、堆的构建1.3、堆的插入1.4、堆的删除1.5、取堆顶的数据、堆的个数及堆的判空2、堆的排序一、树的相关概念及其特殊二叉树 讲堆之前&#…

透视虎牙斗鱼三季报:游戏直播在各自“求变”中见分晓

游戏直播行业,依然硝烟弥漫。 经历千播大战、熊猫出局的洗礼后,虎牙和斗鱼双方缠斗升级,另有B站和抖音、快手等视频平台来势汹汹,抢夺仅有的市场蛋糕。 而在游戏行业遇冷、政策趋严等因素多重考验下,这场争夺战无疑将…

fsync

由于目前操作系统都具有延迟写(delayed write)功能, fwrite/write并不会直接把数据写到磁盘上, 而是在buffer满时才开始写入到磁盘。 要想把数据写到磁盘上,需要调用fsync函数 open(fd) write(fd) fsync(fd) close(fd) 或者 fopen(fp…

金仓数据库KingbaseES查询计划剖析

目录 1、KingbaseES数据库中的查询生命周期 2、数据设置 3、KingbaseES解释一个查询 4、什么是数据库中的缓冲区和缓存? 5、VERBOSE 命令参数 6、KingbaseES中的 FORMAT 解释 7、总结EXPLAIN使用方式 8、执行计划查看 了解KingbaseES查询计划对于开发人员和…

HarmonyOS应用API手势方法-绑定手势方法

述:为组件绑定不同类型的手势事件,并设置事件的响应方法。 Api:从API Version 7开始支持 一、绑定手势识别: 通过如下属性给组件绑定手势识别,手势识别成功后可以通过事件回调通知组件。 名称参数类型默认值描述ge…

银河麒麟V10+达梦数据库8保姆级安装教程

银河麒麟V10达梦数据库8保姆级安装教程 一、系统和数据库的下载 银河麒麟V10版本: 首页 → 桌面操作系统 → 银河麒麟桌面操作系统V10 → 试用(填写信息) → 点击地址进行下载(X86centos7) #如果不想进行上面的操作,…

Casbin——Java版本(笔记)

文章目录一、Casbin 是什么?二、快速开始2.1 载入配置2.2 如何判断权限2.3 model.conf2.3.1 基本格式2.3.2 SpringBoot下的使用2.3.3 匹配的函数内置函数自定义函数2.3.4 基于角色的访问控制角色的层次区分用户和角色隐式角色权限域内RBAC角色与函数2.3.5 优先级模型…

react事件系统(老版本)

带着问题阅读探索 React 为什么有自己的事件系统?什么是事件合成 ?如何实现的批量更新?事件系统如何模拟冒泡和捕获阶段?如何通过 dom 元素找到与之匹配的fiber?为什么不能用 return false 来阻止事件的默认行为&…

python【PyQt5】的环境搭建和使用(全网最全)其一

什么是pyQT pyqt是一个用于创建GUI应用程序的跨平台工具包,它将python与qt库融为一体。也就是说,pyqt允许使用python语言调用qt库中的API。这样做的最大好处就是在保存了qt高运行效率的同时,大大提高开发效率。因为,使用python语言…

城市路边停车收费系统/停车收费管理系统

摘 要 近年来,随着社会的进步和发展,车辆也在迅速增加,城市交通的瓶颈不仅体现在道路交通的拥挤上,也体现在传统停车场管理效率和安全性大大滞后于社会的需要,给人们的生活带来了极大的不便。尤其,随着汽车…

二、MongoDB简介及基本操作

mongodb是一个基于文档的强大、灵活、易于扩展的通用型数据库。是基于分布式文件存储的数据库。其由 C 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 mongodb也是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富&…

运动健身买什么耳机好用、最优秀的健身耳机推荐分享

冬天绝对是个减肥的好季节,因为这个季节天气比较冷,我们在运动过程中消耗的热量也就会更多,因此选择一款不错的运动耳机来用坚持就显得尤为重要了。这款运动耳机要能稳定在耳朵上,还要具备防水功能,同时音质上也要有保…

闲人闲谈PS之三十四——项目成本费用控制阈值

**惯例闲话:**最近有小伙伴问闲人有没有PS顾问资源,闲人问了一圈,结果发现都没有档期,不免让闲人有些失落,好心答应帮忙,结果帮不上…但是隐隐约约觉得在几年前说的话被应验了,PS模块一定是个热…

Ubuntu G++ 编译C++源文件

工程项目代码简短的时候使用 G 进行功能模块测试 过程分为: 预处理:展开头文件,去掉主食,条件编译和文件包含编译:检查语法,生成汇编代码汇编:汇编代码转换成机器码链接:Link 主要是…

王学岗音视频开发(一)—————配置NDK开发环境

Android studio准备 Android studio需要下载Android6.0版本(Android SDK Platform 23),最小支持Android6.0 NDK 下载 cmake下载安装 Android studio 代理配置 dl.google.com可能会被屏蔽,首先查下其IP地址。查到IP地址后修改etc/hosts文件。 Andr…

pytorch深度学习实战lesson25

第二十五课 network in network(NIN) NIN 叫做network in network或者叫做网络中的网络。这个网络现在用的不多,几乎很少被用到。但是它里面提出了比较重要的概念,在之后很多网络都会被持续的用到。所以今天认识一下这一个网络。 目录 理论部分 实践部…

高并发下丢失更新的解决方案

作者:谢益培 1 背景 关键词:并发、丢失更新 预收款账户表上有个累计抵扣金额的字段,该字段的含义是统计商家预收款账户上累计用于抵扣结算成功的金额数。更新时机是,账单结算完成时,更新累计抵扣金额累计抵扣金额账…

ImmunoChemistry艾美捷Annexin V-FITC细胞凋亡检测试剂盒方案

膜联蛋白V是具有血管抗凝血活性的钙和磷脂结合蛋白家族的成员。体外实验结果表明,它可能通过与凝血酶原竞争磷脂酰丝氨酸(PS)结合位点而在抑制凝血中发挥作用。在健康细胞中,PS通常保存在细胞膜的内小叶(胞质侧&#x…