Linux 日志管理攻略:用 journalctl 揪出服务器安全隐患

在服务器安全防护体系中,Linux 服务器的日志管理是故障排查、安全审计和攻击溯源的核心环节。随着恶意攻击手段的多样化,及时获取并分析日志信息成为应对安全事件的关键。通过系统化的日志管理与分析,可有效识别异常行为、验证安全策略有效性,提升服务器的可观测性与防御能力。

本案例围绕 Linux 服务器日志管理与分析展开,涵盖日志查看、实时监控、统计持久化及安全追踪四大模块:

日志查看操作:用journalctl实现全量浏览、反向排序、时间 / 服务过滤及按 PID 定位日志。

实时监控:通过-f参数实时追踪日志更新,针对性监控 SSH 等服务状态,过滤错误日志定位故障。

统计与持久化:统计 SSH 失败登录次数,配置日志存储目录并限制空间占用,避免资源耗尽。

安全追踪:利用脚本分析日志,统计暴力破解源 IP,追踪非授权 sudo 操作及 root 会话,实现攻击溯源。

3.4.1 日志查看操作

(1)journalctl显示全部日志(按时间顺序)

(2)journalctl -r 反向显示(最新日志在前)

(3)按时间范围过滤日志(精确时间范围)

(4)按时间范围过滤日志(显示近1小时日志)

(5)查看特定服务日志

(6)按进程ID(PID)过滤,使用top命令查看服务PID,再根据PID进行过滤。

3.4.2 日志实时监控

(1)实时监控日志(类似tail -f),journalctl -f 实时显示新日志(默认全部日志)

(2)journalctl -u sshd -f实时监控SSH服务日志

(3)查看服务启动状态与依赖关系,journalctl -u sshd --boot 查看ssh本次启动日志

(4)查找错误与警告信息,journalctl -u httpd --priority=err仅显示httpd服务的错误信息,若没有http服务,执行yum -y install httpd命令安装,模拟http服务配置错误生成相关日志

3.4.3 日志统计与持久化

(1)统计日志事件频率,journalctl -u sshd | grep "Failed password" | wc -l统计SSH登录失败次数,先使用错误密码登录系统生成相关日志,再统计事件频率,模拟异常登录事件。

(2)配置日志持久化存储,mkdir -p /var/log/journal创建持久化存储目录

systemd-tmpfiles --create --prefix /var/log/journal # 初始化目录权限

systemctl restart systemd-journald # 重启服务使配置生效

(3)限制日志存储空间,vi
/etc/systemd/journald.conf添加或修改以下配置

重启journald服务后,执行journalctl --disk-usage,显示当前日志占用空间

3.4.4 日志追踪

(1)追踪暴力破解攻击,统计各IP的失败登录次数,使用局域网内的主机发起ssh连接,输入错误的密码模拟密码破解。

统计各IP的失败登录次数

(2)查找非su命令的sudo操作journalctl | grep "sudo:" | grep -v "COMMAND=/bin/su",可预先创建普通用户并赋予权限,使用普通用户执行sudo命令。

(3)追踪root会话开启记录journalctl | grep "session opened for user root"

(4)分析可疑网络连接,查看成功SSH登录源IP和时间journalctl _COMM=sshd | grep "Accepted" | awk '{print $1, $2, $11, $NF}'

原文链接:,转发请注明来源!