在服务器安全防护体系中,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}'