讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux 系统中怎么使用 auditd 审计用户登录与登出系统的全过程

轻磊小哥_6857

轻磊小哥_6857

发布时间:2026-09-29 09:11:17

|

960人浏览过

|

来源于php中文网

原创

Linux系统审计用户登录登出需监控/var/log/{lastlog,wtmp,btmp}、/etc/shadow、/etc/pam.d/等关键文件的写与属性变更,并结合execve、setuid等系统调用捕获带AUID的完整会话上下文,再通过ausearch和aureport精准查询与汇总,同时确保auditd配置启用AUID过滤、同步刷新及日志目录权限加固。

linux 系统中怎么使用 auditd 审计用户登录与登出系统的全过程

Linux 系统中审计用户登录与登出,核心是捕获 login、sshd、pam 相关的系统调用和关键文件变更,并确保日志能准确关联到具体用户(UID/AUID)。单纯监控进程启动远远不够,必须结合会话上下文和认证路径才具备可追溯性。

监控关键认证文件与目录

登录行为往往伴随对身份凭证文件的读取或修改,这些操作本身就能反映异常尝试或提权动作:

  • 监控 /var/log/lastlog 和 /var/log/wtmp:记录成功登录与会话信息,权限为 wa(写+属性变更)
    -w /var/log/lastlog -p wa -k login_session
    -w /var/log/wtmp -p wa -k login_history
  • 监控失败登录记录文件:/var/log/btmp 存储失败登录尝试,高敏感
    -w /var/log/btmp -p wa -k failed_login
  • 监控 PAM 配置与 shadow 文件:防止绕过认证机制
    -w /etc/shadow -p wa -k auth_shadow
    -w /etc/pam.d/ -p wa -k pam_config

捕获登录相关系统调用(含用户上下文)

仅靠文件监控无法还原“谁在何时通过什么方式登录”,需跟踪 execve(执行登录程序)和 setuid(切换用户身份)等关键调用,并强制记录审计 ID(AUID):

CMIC Skill Scanner (Linux ARM64)
CMIC Skill Scanner (Linux ARM64)

使用 auto、native 或 external 引擎审计待安装的 skill 包或归档,并可选启用 LLM 语义分析。

下载
  • 记录所有 execve 调用并保留 AUID(必须指定架构):
    -a always,exit -F arch=b64 -S execve -F auid!=-1 -k login_exec
    -a always,exit -F arch=b32 -S execve -F auid!=-1 -k login_exec
  • 监控 sshd 进程创建与特权切换:
    -a always,exit -F arch=b64 -S setuid -F auid!=-1 -k sshd_privdrop
    -w /usr/sbin/sshd -p x -k sshd_start
  • 捕获 login、gdm、lightdm 等本地登录管理器:
    -w /bin/login -p x -k local_login
    -w /usr/bin/gdm-session-worker -p x -k gdm_login

验证与查询登录事件日志

规则生效后,使用 ausearch 按用户、时间或关键词精准提取登录链路:

  • 查某用户(如 UID 1001)的所有登录/登出事件:
    ausearch -ui 1001 -m USER_LOGIN,USER_LOGOUT,SYSCALL -i
  • 查最近 1 小时内所有 SSH 登录尝试(含成功/失败):
    ausearch -m USER_AUTH,USER_ACCT -ts recent -i | grep -i "sshd\|ssh"
  • 按关键词快速定位(如前面设的 login_exec):
    ausearch -k login_exec -i --start recent
  • 生成登录行为汇总报告:
    aureport -m --login --summary(显示登录类型分布)
    aureport -m --login --key login_exec(按关键词过滤详细记录)

确保审计链路完整的关键配置项

以下设置不写进规则,但直接影响登录事件能否被正确归因:

  • AUID 必须启用:默认已开启,可通过 auditctl -s | grep enabled 确认 enabled 和 auid_filter 均为 1
  • 避免日志丢失:在 /etc/audit/auditd.conf 中设 flush = sync 或 incremental_sync,防止服务崩溃丢日志
  • 日志权限加固:确保 /var/log/audit/ 目录属主为 root:root,权限 700,防止未授权篡改
  • 规则加载方式正确:永久规则写入 /etc/audit/rules.d/login.rules(必须以 .rules 结尾),然后运行 sudo augenrules --load,不要 用 systemctl restart auditd

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

3750

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3233

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2333

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

5610

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

5262

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3113

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2625

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2839

2023.07.25

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

0

2026.09.30

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn