Linux笔记之审计与日志
Linux 系统通过审计和日志管理来跟踪用户活动、系统事件和安全问题。本章将详细讲解如何使用 auditd
进行安全审计,以及如何配置和监控系统日志与安全日志。
一、Auditd 安全审计
1、概念说明
auditd
是 Linux 系统的审计守护进程,可记录系统调用、文件访问、权限变更等事件,以满足安全和合规要求。
2、安装与启动
安装 Auditd
sudo apt-get install auditd
启动服务
sudo systemctl start auditd
sudo systemctl enable auditd
3、配置审计规则
审计规则定义哪些事件需要记录,通常通过 /etc/audit/audit.rules
或运行时命令进行配置。
示例规则
- 监控
/etc/passwd
文件的访问:
sudo auditctl -w /etc/passwd -p wa -k passwd_changes
命令说明:
-w /etc/passwd
:监控目标文件。-p wa
:记录写入(write)和属性更改(attribute change)。-k passwd_changes
:为规则添加标记。
- 查看当前规则:
sudo auditctl -l
输出示例:
-w /etc/passwd -p wa -k passwd_changes
查看审计日志
审计日志存储在 /var/log/audit/audit.log
中,可以使用 ausearch
分析日志。
sudo ausearch -k passwd_changes
输出示例:
type=SYSCALL msg=audit(1697040303.123:420): arch=c000003e syscall=2 success=yes ...
type=PATH msg=audit(1697040303.123:420): item=0 name="/etc/passwd" ...
二、系统日志管理
1、概念说明
系统日志记录系统运行状态、应用程序事件和安全信息,通常存储在 /var/log/
目录下。常用日志文件包括:
/var/log/syslog
:系统日志。/var/log/auth.log
:认证日志。/var/log/dmesg
:内核日志。
2、配置日志守护进程
rsyslog 配置
rsyslog
是常用的日志守护进程,配置文件位于 /etc/rsyslog.conf
。
- 启用远程日志传输:
*.* @192.168.1.100:514
- 重启服务:
sudo systemctl restart rsyslog
3、日志轮转与压缩
Logrotate
logrotate
是用于日志文件管理的工具,支持自动轮转、压缩和清理。
配置文件位于 /etc/logrotate.conf
或 /etc/logrotate.d/
中。
示例配置
编辑 /etc/logrotate.d/syslog
:
/var/log/syslog {
daily
rotate 7
compress
missingok
notifempty
create 0640 root adm
}
三、安全日志监控
1、监控用户登录与权限
last 命令
查看用户登录历史:
last
输出示例:
root pts/0 192.168.1.10 Wed Nov 15 15:30 still logged in
lastb 命令
查看失败的登录尝试:
sudo lastb
2、实时日志监控
使用 tail
或 journalctl
实现实时日志监控:
sudo tail -f /var/log/auth.log
或使用 journalctl
:
sudo journalctl -f
四、小结
通过本章学习,你已经掌握以下内容:
-
使用 Auditd 进行安全审计:
- 配置审计规则。
- 查看与分析审计日志。
-
配置与管理系统日志:
- 配置
rsyslog
管理日志。 - 使用
logrotate
进行日志轮转与压缩。
- 配置
-
监控安全日志:
- 使用工具如
last
、journalctl
实时监控安全事件。
- 使用工具如
审计与日志管理为系统安全提供了重要保障,管理员应根据实际需求配置合适的规则与策略。