温馨提示×

centos context如何审计

小樊
43
2026-09-09 04:43:42
栏目: 智能运维

在 CentOS(以及 RHEL 系列)里,“context” 通常指 SELinux 安全上下文(Security Context),例如:

system_u:object_r:httpd_sys_content_t:s0

下面按**“如何审计 SELinux context 相关问题”**来说明,这是 CentOS 中最常见的“context 审计”场景。


一、查看 SELinux Context

1. 查看文件/目录 context

ls -Z /var/www/html
ps -Z

示例:

-rw-r--r--. root root system_u:object_r:httpd_sys_content_t:s0 index.html

2. 查看进程 context

ps -eZ | grep httpd

3. 查看端口 context

semanage port -l | grep http

二、审计 SELinux Context 拒绝行为(核心)

1. 开启 audit 日志(默认已开)

service auditd status

2. 查看 SELinux 拒绝日志

ausearch -m avc -ts recent

或:

grep AVC /var/log/audit/audit.log

常见拒绝示例:

type=AVC msg=audit(...): avc:  denied  { read } for  pid=...

三、使用 sealert 分析(推荐)

安装 setroubleshoot

yum install setroubleshoot

分析日志

sealert -a /var/log/audit/audit.log

它会告诉你:

  • 哪个 context 被拒绝
  • 原因
  • 推荐的修复命令

四、修复 Context 问题

1. 恢复默认 context

restorecon -Rv /var/www/html

2. 修改文件 context

semanage fcontext -a -t httpd_sys_content_t "/web(/.*)?"
restorecon -Rv /web

3. 临时允许(不推荐长期)

setenforce 0

五、审计策略(policy)本身

查看当前策略

sestatus

查看布尔值(booleans)

getsebool -a
setsebool -P httpd_can_network_connect on

六、如果你说的“context”是别的

请补充说明,例如:

  • PAM / systemd context
  • Docker / Podman container context
  • Kerberos / SELinux user context
  • auditd 的“上下文”字段

我可以直接给你对应的审计方法。


✅ 总结一句话

CentOS 中审计 context,核心就是:ls -Z / ps -Z + audit.log + sealert + restorecon。

如果你能贴一段报错日志,我可以直接帮你定位。

0 踩