debian

Debian日志如何记录用户登录活动

小樊
42
2025-10-20 13:15:19
栏目: 智能运维

Debian系统记录用户登录活动的核心机制与方法

一、默认日志文件:/var/log/auth.log

Debian系统通过rsyslog服务将用户登录、注销等认证相关事件集中记录在/var/log/auth.log文件中。该文件是监控用户登录活动的核心日志源,包含以下关键信息:

二、命令行工具:快速查看登录活动

  1. last命令
    显示所有用户的历史登录/注销记录,包括登录时间、退出时间、登录IP地址及持续时间。例如:

    last
    

    输出示例:

    username pts/0        192.168.1.100    Mon Oct 14 09:30 - 11:45  (02:15)
    

    该命令读取/var/log/wtmp文件(循环日志,旧记录可能被覆盖)。

  2. lastlog命令
    显示所有用户的最后登录时间及IP地址(仅显示已登录过的用户)。例如:

    sudo lastlog
    

    输出示例:

    Username         Port     From             Latest
    root             pts/0    192.168.1.100    Mon Oct 14 09:30:00 +0800 2025
    username         pts/1    192.168.1.101    Tue Oct 15 14:20:00 +0800 2025
    

    该命令读取/var/log/lastlog文件(二进制格式)。

  3. journalctl命令
    通过systemd日志系统查看实时或历史登录事件,支持按服务、时间过滤。常用示例:

    • 查看SSH服务日志(包含登录事件):
      journalctl -u sshd.service
      
    • 查看特定用户的登录事件(通过_COMM字段过滤ssh进程):
      journalctl _COMM=ssh | grep 'username'
      
    • 查看最近1小时的登录事件:
      journalctl --since "1 hour ago" | grep 'session opened'
      

    该命令无需直接访问/var/log文件,且支持日志轮转后的历史记录查询。

三、高级审计:auditd框架(可选)

若需要更详细的用户活动审计(如命令执行、文件访问),可安装auditd(Linux审计框架):

  1. 安装与启动
    sudo apt install auditd audispd-plugins
    sudo systemctl start auditd
    sudo systemctl enable auditd
    
  2. 配置审计规则
    编辑/etc/audit/audit.rules,添加以下规则监控登录相关事件:
    • 监控sshd服务的所有执行:
      -a exit,always -F arch=b32 -S execve -F path=/usr/sbin/sshd -k sshd_exec
      -a exit,always -F arch=b64 -S execve -F path=/usr/sbin/sshd -k sshd_exec
      
    • 监控/var/log/auth.log文件的修改(防止日志篡改):
      -w /var/log/auth.log -p wa -k auth_log_modify
      
  3. 查询审计日志
    使用ausearch命令查看特定事件的日志,例如:
    sudo ausearch -k sshd_exec | grep 'username'
    sudo ausearch -k auth_log_modify
    
    auditd的日志存储在/var/log/audit/audit.log中,支持更细粒度的权限控制和事件溯源。

四、日志轮转:防止日志过大

Debian系统通过logrotate工具自动管理日志轮转,默认配置位于/etc/logrotate.d/rsyslog。对于auth.log,轮转规则通常包括:

sudo logrotate -f /etc/logrotate.d/rsyslog

轮转后的日志文件命名为auth.log.1auth.log.2.gz等,仍可通过zcatless查看。

0
看了该问题的人还看了