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

配置 Auditd 审计 SSH 密钥认证的安全合规性

大枫同学_9656

大枫同学_9656

发布时间:2026-07-15 11:56:27

|

937人浏览过

|

来源于php中文网

原创

配置auditd审计SSH密钥认证需监控sshd执行、authorized_keys读取及密钥签名系统调用,并关联OpenSSH VERBOSE日志实现四维证据链,同时持久化规则、导出合规报告并规避agent、容器和auid混淆等盲区。

配置 auditd 审计 ssh 密钥认证的安全合规性

配置 auditd 审计 SSH 密钥认证,核心不是“记录登录成功”,而是捕获密钥使用全过程——包括私钥调用、公钥比对、签名验证等底层行为。OpenSSH 本身不直接向 auditd 上报密钥认证事件,必须通过 auditd 主动监控关键系统调用和文件访问,再结合 OpenSSH 的 VERBOSE 日志交叉验证,才能满足等保2.0、ISO 27001 等对“操作可追溯、行为可定责”的刚性要求。

监控 SSH 认证关键路径

auditd 需聚焦三个不可绕过的环节:sshd 进程执行、authorized_keys 文件读取、私钥签名操作(由 ssh-agent 或内核 crypto 模块触发)。仅靠日志无法证明“谁在何时调用了哪把密钥”,必须从系统调用层抓取证据。

  • 监控 sshd 主进程及其子进程的 execve 调用:
    sudo auditctl -a always,exit -F path=/usr/sbin/sshd -F perm=x -k ssh_exec
  • 监控所有用户 authorized_keys 文件的读取行为:
    sudo auditctl -a always,exit -F path=/home/*/authorized_keys -F perm=r -k ssh_authkeys_read
    (注意:实际路径需根据用户主目录结构调整,可用 find /home -name "authorized_keys" -type f 确认)
  • 捕获 ssh-agent 或系统级密钥服务的密钥签名动作(如 Secretive 调用 Secure Enclave):
    sudo auditctl -a always,exit -F arch=b64 -S ioctl,openat,read -F auid>=1000 -F auid!=unset -k ssh_key_use
    (该规则覆盖大部分密钥加载与签名调用,需配合 ausearch -m avc -ts recent 排查 SELinux 干预)

关联 OpenSSH 日志实现行为闭环

auditd 单独记录的是“系统动作”,而 OpenSSH 的 VERBOSE 日志记录的是“协议语义”。二者必须时间戳对齐、事件 ID 关联,才能构成完整审计链。例如:auditd 显示某 IP 在 14:22:03 读取了 /home/admin/.ssh/authorized_keys,而 /var/log/auth.log 同一毫秒出现 sshd[12345]: debug1: PAM: setting PAM_RHOST to "192.168.10.5" 和 debug1: key_parse_private_pem: read private key,即形成“谁、从哪、用哪把密钥、何时尝试登录”的四维证据。

  • 确保 OpenSSH 启用详细日志:
    在 /etc/ssh/sshd_config 中设置:
    LogLevel VERBOSE
    SyslogFacility AUTH
  • 强制日志时间精度到毫秒(避免时间漂移导致关联失败):
    sudo timedatectl set-ntp on
    sudo systemctl restart rsyslog
  • 将 auth 日志单独路由至独立文件,便于与 auditd 日志并行分析:
    在 /etc/rsyslog.d/50-ssh-audit.conf 中添加:
    if $programname == 'sshd' then /var/log/ssh/verbose.log
    & stop

审计规则持久化与合规输出

临时 auditctl 规则在重启后失效,必须写入规则文件,并导出结构化报告供等保测评或内部审计使用。

  • 将上述规则写入 /etc/audit/rules.d/ssh.rules,然后重载:
    sudo augenrules --load
  • 每日生成 SSH 密钥使用审计摘要(含异常模式识别):
    sudo ausearch -m SYSCALL -i -ts yesterday | grep -E "(sshd|authorized_keys|key_use)" | aureport -f -i --summary
    重点关注:同一私钥被多个进程调用、非标准路径下的 authorized_keys 被读取、无 PAM 记录却有密钥读取行为
  • 导出符合 GB/T 22239—2019(等保2.0)要求的原始审计数据包:
    sudo aureport -m -ts 7days --raw | gzip > /var/log/audit/ssh_audit_$(date +%Y%m%d).log.gz
    该压缩包应包含完整 syscall、path、auid、uid、comm 字段,且不可被普通用户修改或删除(建议设置 chattr +a)

规避常见审计盲区

很多团队以为开了 auditd 就万事大吉,实际存在三类高频盲区,直接导致审计证据链断裂:

  • 忽略 ssh-agent 生命周期:若用户使用 ssh-agent -s 启动代理,后续密钥调用不再经过 sshd 进程,auditd 必须额外监控 agent socket 文件(如 /tmp/ssh-XXXXXX/agent.XXXX)的 connect 和 write 行为;
  • 未覆盖容器环境:Docker/Podman 中运行的 sshd 不共享宿主机 auditd 规则,需在容器启动时挂载 /etc/audit/rules.d/ 并启用 --privileged 或明确授权 audit_write capability;
  • 混淆 real uid 与 audit uid:sudo 切换用户后,sshd 进程的 uid 变为目标用户,但 auid(audit uid)仍为原始登录者。审计时必须用 auid 匹配责任人,而非 uid,否则无法追溯到真实操作人。

热门AI工具

更多
UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

WorkBuddy

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

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

立刻MV
立刻MV Hot

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

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

DeepSeek

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

豆包大模型

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

相关专题

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

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

437

2023.08.15

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

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

880

2023.09.08

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

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

2672

2023.09.19

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

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

896

2023.10.09

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

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

809

2023.10.17

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

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

414

2023.10.17

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

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

2416

2023.10.18

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

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

4472

2023.10.20

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

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

80

2026.09.30

热门下载

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

精品课程

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

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