6 lines
3.5 KiB
Markdown
6 lines
3.5 KiB
Markdown
# 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` 等遗留文件可清理。
|