服务器异常登录日志排查方法与安全防护实战

企业运维、信息安全管理员日常维护生产域控、文件、数据库服务器时,常会收到监控告警提示异地IP登录,或是发现系统配置异常、文件被非授权修改,需要快速定位异常登录行为,梳理攻击根因并完成加固。本文讲解服务器异常登录日志排查方法与安全防护实战,覆盖Linux和Windows两类主流服务器系统,适配线下IDC物理服务器、公有云云服务器场景,不包含个人PC终端的登录日志排查内容。

Linux服务器异常登录日志排查常用路径

Linux系统默认会把所有认证登录尝试记录到系统日志,不同发行版的存储路径略有区别。CentOS、RHEL系列的登录日志默认存放在/var/log/secure,Debian、Ubuntu系列默认存放在/var/log/auth.log

所有SSH登录尝试,不管成功还是失败都会写入该日志,可通过关键字快速筛选:执行grep "Failed password" 日志路径就能导出所有失败的登录尝试,如果输出结果中大量出现同一IP的失败记录,基本可以判定为暴力破解攻击。执行grep "Accepted" 日志路径可以导出所有成功登录的记录,核对登录IP和用户名就能发现未授权登录。

除了认证日志,还要查看wtmp历史登录日志,用last命令可以直接读取,执行last -n 20就能查看最近20次登录记录,快速核对有没有未知IP或未知用户的登录痕迹。配合whow命令可以查看当前在线的所有会话,确认有没有攻击者保持在线连接。

Windows服务器异常登录日志排查步骤

Windows服务器的登录日志默认存储在事件查看器中,路径为「Windows日志」->「安全」,只有提前开启登录审计才会生成对应记录,未开启审计的服务器无法从这里获取登录信息。

可以通过筛选事件ID快速定位目标记录:事件ID 4625对应登录失败事件,事件ID 4624对应登录成功事件,每一条记录都会标注登录类型、源IP、登录账号,直接核对就能发现异常。如果是域控制器,还需要查看「目录服务」日志,里面会额外记录域账号的跨服务器登录尝试。

也可以用命令行快速导出日志,适合远程排查无法打开图形界面的场景,执行wevtutil qe Security /q:"*[System[(EventID=4624 or EventID=4625)]]" /f:text > login_logs.txt就能把所有登录记录导出到文本文件,方便后续分析。

下表是异常登录初步排查的检查清单,可按顺序完成初查,避免遗漏关键节点:

检查项 Linux对应操作 Windows对应操作
查看最近登录失败记录 grep “Failed password” /var/log/secure(CentOS/RHEL) /var/log/auth.log(Debian/Ubuntu) 事件查看器筛选事件ID 4625
查看最近成功登录记录 last 命令读取 /var/log/wtmp 事件查看器筛选事件ID 4624
检查当前活跃登录会话 who 或 w 命令输出 query user 命令输出
检查可疑新增特权用户 核对 /etc/passwd 输出,找UID为0的异常用户 net user 查看本地用户列表,核对管理员组成员

异常登录后的根因定位与清理

找到异常登录记录后,先打包备份所有原始日志和系统关键配置,不要直接删除日志,避免破坏攻击痕迹无法定位后门。

接下来确认攻击者获得的权限:如果登录的是普通用户,检查有没有通过sudo提权、有没有留后门脚本;如果登录的是root或管理员权限,要全面核查系统所有核心配置、新增文件、开放端口。Linux用ss -tulnp查看所有开放端口,Windows用netstat -ano核对,发现未知端口要追踪对应进程。

能否直接清理异常登录日志后继续运行服务器?

答:不能。直接清理日志会破坏攻击痕迹,无法定位攻击者留下的后门,也无法判断攻击影响范围。正确操作是先切断非必要业务的公网访问,打包备份所有日志和核心配置,完成全量排查清理后再恢复服务。

是否一定要格式化磁盘重装系统才能解决异常登录?

答:不需要,只要排查清楚所有后门、修改所有登录凭证、补全漏洞,就能恢复运行,如果是核心生产服务器,备份数据后重装系统能彻底清除未知后门,成本更高但安全性更好。

服务器异常登录安全防护实战配置

Linux服务器最基础的加固:关闭root用户直接SSH登录,修改/etc/ssh/sshd_config中的配置项PermitRootLogin no,用普通用户登录后再su切换提权,能直接阻断针对root账号的暴力破解。

进阶加固:禁用密码登录,改用SSH密钥登录,这种方式可以完全阻断暴力破解攻击,只要私钥不泄露,攻击者无法通过猜密码登录。

额外防护层:用防火墙限制远程管理端口的访问源,比如只允许公司办公出口IP段访问22、3389端口,默认拒绝所有其他IP的访问请求,能大幅减少被扫描攻击的概率。

Windows服务器可以修改默认远程桌面端口3389,避免被自动化扫描工具直接命中,同时必须开启登录审计策略,在本地组策略中开启「登录事件」审计,确保异常登录能留下日志记录。

改用SSH密钥登录后还需要开防火墙限制登录IP吗?

答:典型生产部署场景下仍建议配置。密钥登录能阻断绝大多数暴力破解,但如果私钥意外泄露,IP限制能多一层防护,进一步降低未授权访问的概率。

在常规生产服务器部署条件下,排查异常登录应优先导出完整日志备份,再按登录失败->成功->当前会话->可疑用户的顺序排查,清理后必须补充加固配置阻断同类攻击。

服务器异常登录排查与防护要点速览

  • 排查第一步必须打包备份原始日志,禁止直接修改或删除原日志,避免攻击痕迹丢失。
  • Linux不同发行版登录日志路径不同:CentOS/RHEL系存/var/log/secure,Debian/Ubuntu系存/var/log/auth.log,历史登录记录可通过last命令读取。
  • Windows服务器可通过事件ID快速定位:4625对应登录失败,4624对应登录成功,未开启登录审计不会生成对应记录。
  • Linux服务器禁用密码登录、改用SSH密钥登录,可在典型部署场景下阻断几乎所有暴力破解类异常登录。
  • 限制远程管理端口的访问源IP,比仅靠账号密码防护更可靠,适合有固定办公出口的企业场景。
  • 异常登录清理完成后,要定期轮转归档登录日志,既要保留足够审计周期,也要避免日志占满系统磁盘空间。