首页 > 运维 > linux运维 > 正文

如何查看用户登录记录 last命令审计日志分析

P粉602998670
发布: 2025-09-01 10:05:01
原创
613人浏览过

要查看用户登录记录并排查安全问题,必须结合last命令与auditd审计日志分析。1. 使用last命令可快速查看登录历史,如last查看所有记录,last username查询特定用户,last -n 10显示最近10条,last reboot查看重启记录,last -f /var/log/wtmp.1读取历史wtmp文件;但其依赖的/var/log/wtmp文件易被篡改,存在安全隐患。2. 配置auditd可实现更可靠的审计:通过sudo apt-get install auditd或yum install auditd安装并启动服务,编辑/etc/audit/rules.d/audit.rules添加-w /var/log/wtmp -p wa -k login_attempts和-w /var/log/btmp -p wa -k failed_login_attempts规则以监控成功与失败登录,重启auditd生效。3. 使用sudo ausearch -k login_attempts和sudo ausearch -k failed_login_attempts搜索对应事件,分析时间、uid、ip等信息。4. 分析异常行为包括:短时间内大量失败登录(可能为暴力破解)、非工作时间或异常ip登录;可通过编写python脚本调用ausearch自动检测失败登录频率,超过阈值则告警。综上,应以auditd为核心,结合last命令和自动化分析,全面追踪用户活动并保障系统安全。

如何查看用户登录记录 last命令审计日志分析

查看用户登录记录,关键在于利用

last
登录后复制
命令,结合审计日志,可以追踪用户活动,排查安全问题。

last命令审计日志分析

last
登录后复制
命令的确是查看用户登录历史的利器,但仅仅依赖它是不够的。想想,如果有人清空了
/var/log/wtmp
登录后复制
文件,
last
登录后复制
就失效了。所以,审计日志的分析就显得尤为重要。

如何使用last命令?

last
登录后复制
命令默认会显示所有用户的登录和注销记录,时间倒序排列。直接输入
last
登录后复制
,你会看到密密麻麻的记录。

  • last username
    登录后复制
    : 查看特定用户的登录记录。比如
    last john
    登录后复制
  • last -n 10
    登录后复制
    : 显示最近10条记录。
  • last reboot
    登录后复制
    : 查看系统重启记录,这对于诊断系统问题很有用。
  • last -f /var/log/wtmp.1
    登录后复制
    : 指定不同的wtmp文件,比如查看历史的登录记录。

但要注意,

last
登录后复制
依赖于
/var/log/wtmp
登录后复制
文件,这个文件如果被篡改,信息就不可信了。

如何配置和使用auditd审计日志?

auditd
登录后复制
是一个更强大的工具,它可以记录系统上的各种事件,包括用户登录。配置稍微复杂,但带来的价值远超
last
登录后复制

首先,确保

auditd
登录后复制
已安装并运行:

sudo apt-get install auditd  # Debian/Ubuntu
sudo yum install auditd      # CentOS/RHEL
sudo systemctl start auditd
sudo systemctl enable auditd
登录后复制

接下来,配置审计规则。编辑

/etc/audit/rules.d/audit.rules
登录后复制
,添加以下规则来审计用户登录:

MagicStudio
MagicStudio

图片处理必备效率神器!为你的图片提供神奇魔法

MagicStudio 102
查看详情 MagicStudio
-w /var/log/wtmp -p wa -k login_attempts
-w /var/log/btmp -p wa -k failed_login_attempts
登录后复制

这两条规则分别监控

/var/log/wtmp
登录后复制
(登录成功记录)和
/var/log/btmp
登录后复制
(登录失败记录),并将事件标记为
login_attempts
登录后复制
failed_login_attempts
登录后复制

重启

auditd
登录后复制
使配置生效:

sudo systemctl restart auditd
登录后复制

现在,你可以使用

ausearch
登录后复制
命令来搜索审计日志:

sudo ausearch -k login_attempts  # 查找登录成功的记录
sudo ausearch -k failed_login_attempts # 查找登录失败的记录
登录后复制

ausearch
登录后复制
的输出会包含很多信息,包括时间戳、用户ID、进程ID等。你需要仔细分析这些信息,才能还原用户登录行为。

如何分析审计日志中的异常登录行为?

仅仅记录登录信息是不够的,还需要分析这些信息,找出异常行为。比如:

  • 短时间内大量登录失败: 这可能是暴力破解攻击的迹象。
  • 非工作时间登录: 可能是账户被盗用。
  • 来自异常IP地址的登录: 同样可能是账户被盗用。

要自动化分析这些信息,可以使用

auditd
登录后复制
的日志分析工具,或者将日志导入到SIEM(安全信息和事件管理)系统中。SIEM系统可以关联多个日志源,提供更全面的安全分析。

例如,你可以编写一个简单的脚本,定期分析审计日志,查找短时间内大量登录失败的记录:

#!/usr/bin/env python3
import subprocess
import re

def analyze_failed_logins(time_window=60, threshold=5):
    """
    Analyzes audit logs for failed login attempts within a given time window.
    """
    cmd = f"sudo ausearch -k failed_login_attempts -ts recent -i"
    result = subprocess.run(cmd, shell=True, capture_output=True, text=True)
    log_lines = result.stdout.splitlines()

    login_attempts = []
    for line in log_lines:
        if "time->" in line:
            timestamp = re.search(r"time->(.*)", line).group(1).strip()
            uid_match = re.search(r"uid=(.*?) ", line)
            uid = uid_match.group(1) if uid_match else "N/A"
            login_attempts.append((timestamp, uid))

    # Simple analysis: Count failed logins per user within the time window
    user_counts = {}
    for timestamp, uid in login_attempts:
        if uid not in user_counts:
            user_counts[uid] = 0
        user_counts[uid] += 1

    for user, count in user_counts.items():
        if count > threshold:
            print(f"Possible brute-force attack detected for user {user}: {count} failed logins in the last {time_window} seconds.")

if __name__ == "__main__":
    analyze_failed_logins()
登录后复制

这个脚本会调用

ausearch
登录后复制
命令,获取最近的登录失败记录,然后统计每个用户在指定时间窗口内的失败次数。如果超过阈值,就认为是潜在的暴力破解攻击。

这只是一个简单的例子,实际应用中,你需要根据你的安全需求,编写更复杂的分析脚本。 关键是理解

auditd
登录后复制
的强大之处,并善用它来监控和分析系统安全事件。

以上就是如何查看用户登录记录 last命令审计日志分析的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号