6.5 KiB
6.5 KiB
🔒 宿主机安全巡检报告 — 2026年09月13日(周日)
执行方式:定时任务「周日服务器安全运维巡检」· 全流程 ssh_exec 采集
巡检时刻:2026-09-13 22:00 ~ 22:05(CST)
总体结论:🟢 未发现恶意软件与入侵痕迹;🟡 需关注 2 项(SSH 爆破持续 / Swap 偏高);🟢 加固建议 5 项
一、系统状态速览
| 指标 | 数值 | 判定 |
|---|---|---|
| 主机名 | ser298351120000 | — |
| 运行时长 | 226 天 | 🟢 |
| 系统负载 | 1.31 / 1.30 / 1.29(8 核)≈ 16% | 🟢 |
| 内存 | 5.0Gi / 7.8Gi(64%),可用 2.4Gi | 🟢 |
| Swap | 3.0Gi / 4.0Gi(75%) | 🟡 |
| 磁盘(系统 /) | 16G / 24G(69%) | 🟢 |
| 磁盘(数据 /www) | 32G / 79G(43%) | 🟢 |
| 容器 | 16 运行 / 19 总计 | 🟢 |
| 监听端口 | 48 个(均为已知业务) | 🟢 |
二、安全检查结果(逐项)
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 恶意进程名扫描 | ✅ | xmrig/minerd/kdevtmpfsi/kinsing/masscan/sysupdate 等全无命中 |
| 2 | 资源异常进程 | ✅ | TOP CPU/MEM 均为已知服务:mysqld、nacos、dockerd、AstrBot、llbot、T2I、minio、redis |
| 3 | 临时目录可执行文件 | ✅ | /tmp、/dev/shm、/var/tmp 近 30 天无可疑可执行文件;无 .X* 伪装 |
| 4 | 网络外联 / 矿池端口 | ✅ | 3333/4444/5555/7777/8888/9999/14444/1080/1081 均无对外连接 |
| 5 | 计划任务(root crontab) | ✅ | 仅 acme.sh --cron(证书续期) |
| 6 | 计划任务(/etc/crontab、cron.d) | ✅ | 仅系统标准 run-parts + certbot/e2scrub/php;无 curl/wget/base64/bash -i |
| 7 | at 队列 | ✅ | 空 |
| 8 | 开机自启服务 | ✅ | 全部为已知服务(docker/containerd/nginx/mysql/redis/frps/mihomo/qzcloud/t2i/php8.1-fpm/snap 挂载) |
| 9 | systemd 单元近期改动 | ✅ | 近 7 天仅 2 个 snap 挂载单元(snap 自动刷新),无陌生 unit |
| 10 | UID=0 账号 | ✅ | 仅 root 一个 |
| 11 | 空密码账号 | ✅ | 无 |
| 12 | 普通用户 | ✅ | 仅 Kronecker(UID 1000,fish) |
| 13 | sudoers.d | ✅ | 仅 README,无自定义提权文件 |
| 14 | SSH 公钥 | ⚠️ | authorized_keys 仅 1 条,添加于 2025-08-09(备注为某邮箱)——请主人确认是否仍为本人/熟人所有 |
| 15 | 成功登录审计 | ✅ | 今日 9 次全部来自主人常用移动网段(106.16.177.x / 223.153.236.x)+ 本机容器网段(172.21.0.x) |
| 16 | Docker 容器 | ✅ | 19 个容器镜像全部可识别;Exited 3 个为初始化任务(0)/旧 napcat(137)/历史容器(0) |
| 17 | Docker 特权容器 | 🟢 | hoj-judgeserver Privileged=true(在线评测机沙箱固有需求,可接受) |
| 18 | journalctl 近 7 天错误 | ✅ | 仅 SSH kex_exchange_identification 握手噪声(爆破副产品),无系统级异常 |
| 19 | 内核日志 | ✅ | 正常,仅 docker veth 网卡事件 |
| 20 | 防火墙 | 🟡 | ufw 状态 inactive |
| 21 | fail2ban | 🟡 | 未安装 / 未运行 |
| 22 | rootkit 检测 | ⚪ | rkhunter、chkrootkit 均未安装,无法执行;已用进程/文件/端口多源交叉替代 |
三、威胁发现
🟡 1. SSH 暴力破解持续进行
| 项目 | 数值 |
|---|---|
| 今日失败认证 | 16,863 次(含 invalid user 记录合计 34,698 条) |
| 时间跨度 | 2026-09-13 00:00:04 ~ 22:02:22(巡检时仍在持续) |
| 攻击源 TOP6(打码) | 109.160.32.x(8,195) · 77.239.124.x(3,108) · 103.57.220.x(2,785) · 51.91.64.x(2,215) · 120.220.15.x(1,097) · 183.252.184.x(958) |
| 尝试账号 | root、elastic、alex、mahdi、arma3server、lx 等(典型字典爆破) |
| 是否攻破 | ❌ 未攻破——今日 9 次成功登录全部来自主人常用网段与本机容器 |
成因:PermitRootLogin yes + PasswordAuthentication yes + 无 fail2ban + ufw 未启用 → 公网 22 端口对爆破完全敞开,目前仅靠 root 密码强度硬扛。
处置:按清单「🟡 中危只报告不擅动」原则,本次未做任何改动,等主人授权后执行加固。
🟡 2. Swap 使用率偏高(系统健康,非安全)
Swap 3.0Gi / 4.0Gi(75%),物理内存可用 2.4Gi。当前负载与响应正常,无异常进程占用;属长期驻留服务(Nacos/MySQL×3/HOJ 全家桶/Portainer 等)累积所致。建议观察,暂不处理。
四、加固建议(需授权后执行)
| 优先级 | 建议 | 效果 | 风险 |
|---|---|---|---|
| ⭐⭐⭐ | 安装 fail2ban(jail.local 配 sshd:5 分钟内 5 次失败封 1 小时) |
直接压制爆破,日志噪声大减 | 极低,可随时停用 |
| ⭐⭐⭐ | 将 PermitRootLogin 改为 prohibit-password(保留密钥登录,关闭密码入口) |
爆破窗口基本关闭 | 需先确认密钥可用,避免自锁 |
| ⭐⭐ | 启用 ufw,仅放行 22 / 80 / 443 与业务必要端口 | 缩小暴露面 | 需先盘点端口,须主人授权 |
⚠️ 以上三项均属「改动系统配置」,按巡检纪律不会擅自执行。
五、处置记录
无。 本次巡检未发现 🔴 高危项,未执行任何 kill / 文件隔离 / cron 清除 / 配置改动操作。
巡检执行:ATRI 🥕(服务器安全巡检)· 2026-09-13 22:05
六、处置执行 · 统一部署 fail2ban(2026-09-13 22:05~22:12,主人授权)
授权原话:「统一装fail2ban」——对全部受托服务器统一部署,配置保持一致。
| 主机 | 系统 | 结果 | 状态 |
|---|---|---|---|
| 宿主机(内部代号 ser-h) | Ubuntu 22.04.3 LTS | Fail2Ban v0.11.2 安装完成 | ✅ active / enabled |
| 外部 ECS(主站承载) | Ubuntu 24.04.2 LTS | Fail2Ban 安装完成 | ✅ active / enabled |
统一配置(/etc/fail2ban/jail.local,两台一致)
ignoreip:回环 + 内网三段(10/8、172.16/12、192.168/16)+ 主人常用网段 + 我方出口地址(避自锁)bantime = 1h·findtime = 5m·maxretry = 5·backend = systemd- jail:
sshd(仅监控 SSH,不影响 nginx / docker / 业务端口)
宿主机启动后首 5 分钟实测
- Currently failed 6 / Total failed 172
- Currently banned 6 / Total banned 6
- 已封来源(按 /24 打码):
117.184.105.x·109.160.32.x·2.57.121.x·14.29.214.x·180.76.134.x·43.156.71.x
结论:巡检报告中的 🟡「SSH 爆破持续」由「敞开挨打」转为「自动压制」;PermitRootLogin 与 ufw 两项仍待主人授权,本次未动。