入侵检测入门:如何发现服务器异常登录
该文章由AI生成,仅为SEO优化测试,相关内容不保证准确!!!
引言
很多入侵在发生数周后才被发现,根因是“没人看日志”。登录是最基础也最容易被忽视的审计点:攻击者拿到口令后的第一步就是登录。本文讲清 Linux 登录日志的查看方法与异常判断。
一、登录日志在哪、怎么看
四个核心命令:
last:读取 /var/log/wtmp,显示历史登录(成功)记录,含 IP、时间、时长。重点看陌生 IP、非常规时间的登录。
lastb:读取 /var/log/btmp,显示失败的登录尝试——暴力破解的痕迹就在这里,量大说明正被爆破。
who / w:当前在线的会话,发现可疑会话立即处理。
/var/log/secure(CentOS)或 /var/log/auth.log(Ubuntu):详细认证日志,grep "Accepted password" / "Accepted publickey" 可提取所有成功登录及方式——用密码登录的记录要重点审(应已禁用密码登录)。
二、异常登录的判断特征
① 陌生来源 IP:非办公网/家中宽带的 IP 登录成功;② 非常规时间:凌晨 3 点的登录,而团队没有夜班;③ 异常账号:没人用过的系统账号、nobody/bin 等伪用户登录;④ 登录方式异常:已禁用密码登录却出现 Accepted password;⑤ 密集失败后成功:lastb 大量失败后紧跟一次成功——典型的爆破成功序列;⑥ 新设备指纹:启用多因素后收到陌生设备的验证请求。辅助命令:lastlog 列出每个账号最近一次登录,长期未用账号突然“最近登录过”要警惕。
三、自动化告警
人工看日志总会遗漏,自动化才是常态。简单可靠的方案:① 失败登录告警:cron 每分钟统计 lastb 新增条数,超过阈值发通知(邮件/webhook);② 成功登录即时告警:在 /etc/profile 或 pam_exec 里加钩子,任何 SSH 登录成功即推送通知(含 IP、时间、账号)——管理员手机上看到“凌晨 3 点某 IP 登录”能立刻响应;③ fail2ban:自动封禁爆破 IP,同时它的日志就是告警源;④ 集中日志:把 secure/auth.log 实时外发到日志平台,防止攻击者登录后清理本机日志。注意日志文件的权限与不可变性(chattr +a 追加保护),防篡改。
四、发现异常后的动作
确认异常登录后:立即踢出会话 → 封禁来源 IP → 按暴力破解/入侵流程排查(见站内相关文章)→ 轮换所有凭据 → 检查持久化(密钥、定时任务、新账号)。核心是“快速响应”,异常登录发生后每拖延一小时,攻击者的持久化就多一分。
总结
发现异常登录 = 会看四个命令(last/lastb/who/secure 日志)+ 认得六类异常特征 + 有自动化告警。配置一次成功登录推送,你的手机就会成为最及时的入侵检测器——这比任何昂贵的设备都实用。