3.5 KiB
3.5 KiB
2026-09-11 工作日志
- 22:40 | FIX | 服务器监控脚本告警去重改造:fail2ban 封禁 IP 改为「仅新增封禁推送一次」。原因=IP
157.230.37.93被 fail2ban 封禁后(bantime 1h),脚本每 10 分钟重复推送 Bark 告警(日志 21:40~22:30 连续 6 条 ALERT)。根因=脚本第 3 段逻辑为「Banned IP list 非空即 alert」,无状态记忆。改法=新增状态文件/var/lib/server-monitor/banned-ips.state(记录当前已封禁 IP 集合),仅对不在集合中的 IP 告警;状态同步为当前封禁列表,已解封 IP 自动移出(日后再被封视为新事件、可再提醒)。验证=真实环境当前封禁「本轮告警=无→静默」;模拟 5 轮全部符合预期(新封→提醒 / 列表不变→静默 / 解封→剔除 / 再封→再提醒 / 全解封→清空);bash -n语法通过。留档=脚本备份/usr/local/bin/server-monitor.sh.bak.20260911;本地副本.workbuddy/tmp/server-monitor.sh。顺带记录=cron 位置确认为 xxcool crontab(*/10 * * * * sudo /usr/local/bin/server-monitor.sh);bantime=1h/findtime=10m/maxretry=5(/etc/fail2ban/jail.local);日志 204K 暂无需轮转。 - 23:00 | CHG | 监控脚本告警去重终版(三项全部去重,状态目录
/var/lib/server-monitor/):① fail2ban 封禁 IP 改为永久去重(banned-ips.state只增不减,同一 IP 此生只提醒一次,解封不重置);② 新增「新来源 IP 登录」替代原「新增 SSH 登录」(ssh-src-ips.state,只有没见过的 IP 首次登录才提醒,避免自己日常登录刷屏);③ 未登记端口漂移同样只提醒一次(ports.state,端口消失后清除)。验证=预置 30 天内 16 个已知登录 IP + 当前封禁 IP 后手动执行,输出[OK]、零 Bark 推送;bash -n通过。完整审计仍在/var/log/fail2ban.log+ journald,且已上报 admin 后台,去重不影响追溯。 - 23:05 | SEC | 服务器入侵排查(只读体检)结论:未发现被入侵迹象。查了 15 类:UID0 账号仅 root、无空密码账号、无异常 SUID、
ld.so.preload空、rc.local仅腾讯云自身脚本、shell 配置无下载/反弹特征、/etc/hosts无劫持、近 30 天系统目录无改动、无特权容器、无异常内核模块。SSH 成功率来源 IP 全部为本人出口且指纹 = 本地xpcool_ed25519(SHA256:GKWT/a9o…),authorized_keys仅 3 把(旧skey-q6pq6jb3已移除)。外网暴露面=仅 22025/80/443,3000/2222/8081/8080/8082/18080/10100/3306 实测全部阻断。两个"未知物"已查清:①/usr/local/bin/server-security-collector.sh(cron 每 5 分钟)是自建安全日志上报器,把 sshd 认证 + fail2ban Ban/Unban 增量 POST 到127.0.0.1:10100/api/service/open/security/log/report,配置/etc/server-security.conf、状态/var/lib/server-security/last.ts,属正常业务;②/tmp/cj.txt(libcurl cookie)、/tmp/http-server.log(9-3 临时调试)为历史残留,无害。重要溯源发现:1.204.105.116(本机出口)曾于 09-03 23:00 被自己的 fail2ban 封禁,直到 09-04 23:00 才解封 —— 这正是当时「SSH 22025 超时」的真因(当时误判为安全组问题)。待办建议:X11Forwarding yes可关;lighthouse账号(腾讯云自带 uid1000)也是 NOPASSWD ALL,可考虑锁定;nginx conf.d 内有.code.xpcool.com.conf.swo、tool.xpcool.com.conf.download.0等遗留文件可清理。