Linux权限审计是闭环管理过程:识别现状→分析风险→调整配置→验证生效→持续监控,需穿透用户名看真实操作主体、结合日志与行为构建可追溯响应链路,而非仅依赖静态配置或数字权限。

Linux系统安全审计与权限监控不是一次配置、跑个脚本就结束的事,而是把“谁在什么场景下做了什么、是否合规、有没有异常”串成一条能追溯、能验证、能响应的链路。闭环的关键,在于让日志、配置、行为和响应彼此咬合,而不是各自为政。
看清真实操作主体,别只信用户名
一个sudo -i进来的root,和直接用root密钥登录的root,审计意义完全不同。真实主体常被掩盖在su、sudo、SSH代理、容器命名空间甚至systemd --scope中。
- 查登录源头:用journalctl -u sshd -S "2 days ago"看原始登录IP、TTY、时间;结合last -aiF比对会话生命周期
- 抓提权路径:启用Defaults logfile="/var/log/sudo.log",并确认该文件权限为600、属主root
- 容器环境不能漏:同步采集containerd或dockerd日志,重点过滤--user root、--cap-add=ALL等高风险参数
权限不等于数字,要穿透到实际能力
chmod 755 /usr/bin/systemctl只是表象;它调用的服务单元、依赖的Capability、SELinux上下文,才决定它真正能干什么。
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
- 查进程真实能力:用ps -eo pid,user,group,args --forest | grep systemctl确认运行身份,再用cat /proc/<pid>/status | grep CapEff看生效capability
- 扫隐性提权入口:执行find / -perm -4000 -o -perm -2000 2>/dev/null找SUID/SGID程序,逐个验证用途——比如某自研工具若被设SUID且含命令注入漏洞,就是现成的root shell
- 盯网络暴露面:用ss -tunlp | grep ":80\|:443"确认监听地址是0.0.0.0还是127.0.0.1,这比文件权限更早暴露攻击面
让审计驱动响应,而不是堆日志
日志写满磁盘却不触发动作,等于没审计。闭环必须把“变更—行为—告警”绑在一起。
- 关键文件防篡改:用inotifywait -m -e modify /etc/sudoers /etc/group监听,一旦变动立即写入审计事件并推送至SIEM
- 高危命令实时捕获:在auditd规则中加-a always,exit -F arch=b64 -S execve -F exe=/usr/bin/bash -F argc>=2,配合正则匹配rm -rf /、dd if=/dev/zero等
- 行为异常自动标记:将日志接入Grafana或ELK,配置规则如“同一非root用户72小时内sudo执行超5个不同systemctl子命令”,自动暂停其sudo令牌并通知负责人
定期用红队思维验证策略是否真有效
写了sudoers规则、开了auditd,不等于攻击者绕不过去。必须模拟真实绕过路径,检验控制是否落地。
- 测试LD_PRELOAD逃逸:以受限用户身份运行sudo LD_PRELOAD=./fake.so bash,验证env_reset是否启用
- 检查编辑器逃逸:尝试vim -c ':!sh'或less !sh,看是否能跳出白名单命令限制
- 验证SELinux/AppArmor:临时禁用策略后重复上述测试,若成功而启用后失败,说明策略确实在起作用

















