服务器等保测评日志策略
常见日志文件及其记录内容
日志保留位置配置文件 /etc/rsyslog.conf
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
/var/log/secure
记录与系统安全相关的事件,包括:
- 用户登录和注销
- SSH 登录尝试
- 身份验证失败
- 提权操作(如 sudo)
具体日志内容:
- 日期和时间:记录事件发生的时间。
- 用户:涉及的用户名或进程。
- 事件类型:如登录、提权、认证失败等。
- 事件是否成功:会显示成功与否的信息。
例如:
Jan 6 15:34:12 localhost sshd[1234]: Accepted password for user1 from 192.168.1.100 port 22 ssh2
Jan 6 15:36:45 localhost sudo: user1 : TTY=pts/1 ; PWD=/home/user1 ; COMMAND=/bin/ls
Jan 6 15:37:10 localhost sshd[1235]: Failed password for invalid user admin from 192.168.1.101 port 22 ssh2
/var/log/audit/audit.log
由 auditd 守护进程生成,记录细粒度的安全事件,包括:
- 文件访问(如读写操作)
- 系统调用(如 chmod、chown 等)
- SELinux 相关事件
具体日志内容:
- 日期和时间:事件的精确时间。
- 用户:UID 和用户名。
- 事件类型:系统调用、文件操作等。
- 事件是否成功:success=yes 或 success=no。
例如:
type=USER_AUTH msg=audit(1673001240.254:155): pid=987 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:authentication acct="root" exe="/usr/sbin/sshd" hostname=192.168.1.100 addr=192.168.1.100 terminal=ssh res=success'
type=SYSCALL msg=audit(1673001241.254:156): arch=c000003e syscall=59 success=yes exit=0 a0=123456 a1=7890 a2=0 items=2 ppid=123 pid=456 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 tty=pts0 ses=1 comm="ls" exe="/usr/bin/ls"
/var/log/messages
记录常规系统信息和错误,包括:
- 服务启动、停止的日志
- 内核警告
- 一些非安全相关的日志
Jan 6 15:40:21 localhost systemd: Started Session 1 of user root.
Jan 6 15:42:31 localhost kernel: Firewall: IN=eth0 OUT= MAC=... SRC=192.168.1.101 DST=192.168.1.100 LEN=60 ...
如何查看日志
使用 cat 或 less 查看日志
cat /var/log/secure
less /var/log/secure
使用 grep 筛选特定信息
筛选特定日期的日志
grep "Jan 6" /var/log/secure
查看 SSH 登录失败记录
grep "Failed password" /var/log/secure
使用 journalctl 查看日志
journalctl 可以查看基于 systemd 的日志:
journalctl -u sshd # 查看 SSH 服务日志
journalctl -p err # 查看错误级别的日志
journalctl -o short-iso # 按 ISO 时间格式显示日志
使用 ausearch 查看审计日志
针对 /var/log/audit/audit.log,可以使用 ausearch
ausearch -ua <user_id>
查询特定事件类型
ausearch -m USER_AUTH
示例场景
查看所有 SSH 登录失败的记录
grep "Failed password" /var/log/secure
查看某用户的审计日志
ausearch -ua $(id -u username)
生成审计报告
aureport -au # 查看用户认证事件报告
操作系统日志保留期限
通常由/etc/logrotate.d/syslog 进行管理
cat /etc/logrotate.d/syslog