Linux怎么查看系统安全日志_Linux secure日志和auth日志分析【进阶】

夜浩大大_9913

夜浩大大_9913

2026-03-26

317人浏览

原创

必须分析linux安全日志排查登录异常等事件;rhel系用/var/log/secure,debian系用/var/log/auth.log;可用tail -f实时监控、journalctl检索systemd日志、awk提取统计攻击ip。

linux怎么查看系统安全日志_linux secure日志和auth日志分析【进阶】

如果您需要排查用户登录异常、SSH暴力破解尝试或权限变更事件,则必须深入分析Linux系统安全日志。secure日志(RHEL/CentOS)与auth.log日志(Ubuntu/Debian)是记录认证行为的核心文件,其内容直接反映系统访问控制状态。以下是针对这两类日志的进阶查看与分析方法:

一、确认当前发行版对应的安全日志路径

不同Linux发行版将认证日志写入不同文件,必须先准确识别路径,否则将无法定位关键事件。RHEL系默认使用/var/log/secure,而Debian系使用/var/log/auth.log;若路径错误,所有后续分析均无效。

1、执行命令判断发行版类型:cat /etc/os-release | grep -E "NAME|VERSION_ID"

2、根据输出结果选择对应日志路径:RHEL/CentOS/Fedora → /var/log/secure;Ubuntu/Debian/Pop!_OS → /var/log/auth.log

3、验证日志文件是否存在且可读:ls -l /var/log/secure /var/log/auth.log 2>/dev/null

二、使用tail -f实时监控登录失败事件

该方法适用于正在发生攻击或调试登录流程的场景,能即时捕获新生成的失败认证条目,避免遗漏动态事件。

1、以root权限运行实时监控:sudo tail -f /var/log/secure | grep "Failed password"

2、若为Debian系系统,替换路径:sudo tail -f /var/log/auth.log | grep "Failed password"

3、同时过滤多个关键词以覆盖常见失败模式:sudo tail -f /var/log/secure | grep -E "Failed password|Invalid user|Connection closed"

三、用journalctl检索systemd服务认证日志

当系统启用systemd且rsyslog未接管全部日志时,部分认证事件(尤其是sshd服务重启期间)仅存在于journald缓冲区中,需通过journalctl提取。

1、查看sshd服务的全部认证相关日志:sudo journalctl -u sshd --no-pager

2、筛选过去1小时内含“authentication failure”的条目:sudo journalctl -u sshd --since "1 hour ago" | grep "authentication failure"

3、按优先级只显示错误级别日志:sudo journalctl -u sshd -p err --no-pager

四、提取并统计失败登录的源IP地址

识别高频攻击源IP是阻断暴力破解的关键步骤,需从原始日志中剥离IP字段并去重计数,便于后续加入防火墙黑名单。

1、从secure日志中提取IPv4地址并统计频次:sudo awk '/Failed password/ {for(i=1;i

2、对auth.log执行等效操作:sudo awk '/Failed password/ {for(i=1;i

3、限制输出前5个最高频IP:上述命令末尾追加 | head -5

五、结合dmesg与secure日志交叉验证PAM模块异常

当出现“Authentication failure”但无对应用户行为记录时,可能源于PAM配置错误或内核级认证拦截,需检查内核消息是否报告PAM或SELinux拒绝事件。

1、搜索dmesg中与PAM相关的警告或拒绝信息:sudo dmesg -T | grep -i "pam\|avc\|selinux"

2、在secure日志中查找同一时间戳附近的认证失败行:sudo grep "$(date -d '1 minute ago' '+%b %d %H:%M')\|$(date -d '2 minutes ago' '+%b %d %H:%M')" /var/log/secure

3、若发现SELinux拒绝记录,需进一步检查audit日志:sudo ausearch -m avc -ts recent | aureport -f -i

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

2023.09.22

549

3

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

2024.03.01

1678

6

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4110

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3493

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2693

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6570

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6222

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3613

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3105

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.8万人学习