如何通过Auditd审计日志监控未使用端口被恶意激活的行为

冷漠man

冷漠man

2026-06-03

1074人浏览

原创

应通过auditd在bind()系统调用执行瞬间捕获未使用端口被恶意激活行为,配置arch=b64/b32的bind/listen审计规则,启用enriched日志格式获取cmdline等上下文,并结合端口解码、非常规路径识别及定时巡检与siem联动实现精准监控。

如何通过auditd审计日志监控未使用端口被恶意激活的行为

要监控未使用端口被恶意激活的行为,关键不是“等端口被占用后再查”,而是**在绑定(bind)动作发生的瞬间捕获它**——因为任何服务对外提供 TCP/UDP 服务,都必须先调用 bind() 系统调用指定 IP 和端口。auditd 正是在这个内核层拦截,不依赖进程名、不依赖 netstat 输出,防绕过能力强。

配置 bind 和 listen 系统调用审计规则

恶意程序(如代理、反向隧道、后门监听器)启动时一定会执行 bind。需为这两个调用添加 exit 时机的审计规则,确保参数已确定:

  • 编辑 /etc/audit/rules.d/10-network.rules,加入以下两行(x86_64 架构):
    -a always,exit -F arch=b64 -S bind -k net_bind
    -a always,exit -F arch=b64 -S listen -k net_listen
  • 若系统存在 32 位兼容进程(如某些旧木马或容器内二进制),额外补充:
    -a always,exit -F arch=b32 -S bind,listen -k net_bind32
  • 保存后执行 sudo augenrules --loadsudo systemctl restart auditd 加载规则

确保日志含完整上下文,便于识别“谁在绑什么”

默认 auditd 日志字段有限,必须启用 ENRICHED 格式才能拿到真实意图:

Getfloorplan
Getfloorplan

创建 2D、3D 平面图和 360° 虚拟游览,普通房间变成梦想之家

下载
  • 检查 /etc/audit/auditd.conf 中是否设置:
    log_format = ENRICHED(不能是 RAW 或 NO)
  • 该设置让每条日志自动包含:uid(执行者)、pidcomm(进程名)、exe(可执行路径)、cmdline(完整命令行)
  • 特别注意 cmdline:能直接看到 --port 8080-L :1080./frpc -t ... 这类可疑参数

识别“未使用端口被激活”的典型线索

auditd 不直接显示 “端口 8080”,但会在日志中以十六进制记录 addr= 字段。需结合解码与业务常识判断是否异常:

  • sudo ausearch -m bind -i -ts recent 查最近 bind 事件,重点关注:
    addr=(解码后看 IP 是否为 0.0.0.0 或非 127.0.0.1)、
    comm=(是否为 pythonnodesh 等通用解释器)、
    exe=(是否来自 /tmp/dev/shm/var/tmp 等非常规路径)
  • 端口解码示例:addr=02000400000000000000000000000000
    前 4 字节 0200 表示 AF_INET,0400 是小端序端口 → 十进制 1024;后面 00000000 对应 0.0.0.0
  • 重点怀疑场景:
    绑定到 0.0.0.0:1080(SOCKS5)、0.0.0.0:6379(Redis 伪装)、0.0.0.0:3128(Squid 代理)且 exe 不在 /usr/bin/opt 合法目录下

交叉验证与定时巡检机制

单靠 auditd 日志易漏掉静默驻留进程,建议配合轻量级运行时检查形成闭环:

  • 定时执行:
    sudo ss -tlnp 2>/dev/null | grep -E ":(1080|8080|6379|3128)"
    比对结果是否出现在 auditd 的 bind 日志中;若无对应记录,说明可能绕过 auditd(极少见)或规则未生效
  • 写一个简单巡检脚本,每天凌晨提取过去 24 小时所有 bind 到非常规端口(如 1024–65535 中非白名单)的事件,并邮件告警:
    ausearch -m bind -ts yesterday -i | awk '/addr=/ {ip=$NF; gsub(/[^0-9a-f]/,"",ip); if (length(ip)>=8) {port=strtonum("0x" substr(ip,5,4)); if (port>=1024 && port!=80 && port!=443 && port!=8080) print $0}}' | mail -s "Suspicious bind detected" admin@company.com
  • net_bind 关键词接入 SIEM(如 Wazuh/Elastic),设置规则:同一 uid 在 5 分钟内 bind 多个不同高危端口 → 触发高风险告警

相关文章

Windows激活工具
Windows激活工具

Windows激活工具是正版认证的激活工具,永久激活,一键解决windows许可证即将过期。可激活win7系统、win8.1系统、win10系统、win11系统。下载后先看完视频激活教程,再进行操作,100%激活成功。

下载

相关标签:

日志监控 linux审计

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

355

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

617

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

1216

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

428

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

324

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

190

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

1031

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

1847

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

322

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.4万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 131.8万人学习