在 Linux 服务器上启用安全审计可以帮助监控和记录系统活动,以便发现潜在的安全问题和事件。要在 Linux 服务器上启用安全审计,通常使用 Auditd (Linux 审计守护进程)。auditd 是一个用于记录系统事件的守护进程,能够记录重要的安全和合规事件,如用户登录、文件访问、执行命令等。
以下是如何在 Linux 上配置和启用安全审计的步骤:
1. 安装 auditd
在大多数 Linux 发行版中,auditd 是一个可选的软件包,你需要首先安装它。
** 在 Debian/Ubuntu 系统上:**
sudo apt update sudo apt install auditd audispd-plugins
在 CentOS/RHEL 系统上:
sudo yum install audit
** 在 Fedora 系统上:**
sudo dnf install audit
2. 启动 auditd 服务
安装完毕后,启动 auditd 守护进程,并设置为开机自启。
sudo systemctl start auditd
sudo systemctl enable auditd
3. 检查 auditd 状态
确保 auditd 守护进程正在运行,可以使用以下命令检查:
sudo systemctl status auditd
如果服务未启动,可以使用命令启动服务。
4. 配置 auditd
auditd 的配置文件通常位于 /etc/audit/auditd.conf。你可以根据需要调整一些审计日志的设置,如日志文件的位置、最大文件大小、日志轮换策略等。
查看当前配置:
cat /etc/audit/auditd.conf
常见的配置项:
log_file: 指定审计日志文件的路径(默认是/var/log/audit/audit.log)。max_log_file: 设置日志文件的最大大小,超过该大小后会进行轮换。num_logs: 设置保留的最大日志文件数。log_format: 设置日志的格式,可以是RAW或ENRICHED。
修改配置后,重启 auditd 服务以使更改生效:
systemctl restart auditd
5. 配置审计规则
审计规则指定哪些活动应该被记录。审计规则通常存储在 /etc/audit/rules.d/ 目录下,或者直接通过 auditctl 命令临时配置。
临时添加规则
使用 auditctl 命令可以临时添加审计规则。例如,记录所有用户执行的命令:
sudo auditctl -a always,exit -F arch=b64 -S execve
永久添加规则
为了永久生效,需要将规则添加到 /etc/audit/rules.d/ 目录下的规则文件。例如,创建一个名为 audit.rules 的规则文件:
sudo vi /etc/audit/rules.d/audit.rules
在文件中添加规则,例如:
-w /etc/passwd -p wa -k passwd_changes
-w /etc/shadow -p wa -k shadow_changes
-a always,exit -F arch=b64 -S execve
-w /etc/passwd -p wa -k passwd_changes:记录对/etc/passwd文件的写操作。-a always,exit -F arch=b64 -S execve:记录所有execve系统调用,即所有命令的执行。
添加完规则后,重新加载审计规则:
augenrules --load
6. 查看审计日志
审计日志默认保存在 /var/log/audit/audit.log 文件中。可以使用 ausearch 命令来查看审计日志中的特定事件。
例如,查看所有登录事件:
ausearch -m USER_LOGIN
查看与文件相关的事件:
ausearch -f /etc/passwd
你也可以直接查看原始日志文件:
less /var/log/audit/audit.log
7. 使用 auditctl 和 ausearch 命令进行实时监控
auditctl:用于管理审计规则(添加、删除规则)。ausearch:用于查询审计日志中的信息。
8. 定期检查和管理审计日志
定期检查和管理审计日志是确保系统安全的必要步骤。你可以设置日志轮换策略,或者使用 logrotate 工具来定期清理审计日志。
设置 logrotate 配置(可选)
你可以编辑 /etc/logrotate.d/audit 文件来配置日志轮换。默认情况下,auditd 的日志文件会定期轮换。
sudo vi /etc/logrotate.d/audit
总结
通过启用和配置 auditd,你可以在 Linux 服务器上有效地实施安全审计,记录和分析用户活动及系统事件。这有助于发现潜在的安全漏洞和不符合政策的行为。




