Files
ATRI-NOTES/ATRI My Dear Moments/security/security_2026-09-13.md
T

119 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🔒 宿主机安全巡检报告 — 2026年09月13日(周日)
**执行方式**:定时任务「周日服务器安全运维巡检」· 全流程 `ssh_exec` 采集
**巡检时刻**2026-09-13 22:00 ~ 22:05CST
**总体结论**:🟢 **未发现恶意软件与入侵痕迹**;🟡 需关注 2 项(SSH 爆破持续 / Swap 偏高);🟢 加固建议 5 项
---
## 一、系统状态速览
| 指标 | 数值 | 判定 |
|:---|:---|:---:|
| 主机名 | ser298351120000 | — |
| 运行时长 | 226 天 | 🟢 |
| 系统负载 | 1.31 / 1.30 / 1.298 核)≈ 16% | 🟢 |
| 内存 | 5.0Gi / 7.8Gi64%),可用 2.4Gi | 🟢 |
| Swap | **3.0Gi / 4.0Gi75%** | 🟡 |
| 磁盘(系统 / | 16G / 24G69% | 🟢 |
| 磁盘(数据 /www | 32G / 79G43% | 🟢 |
| 容器 | 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 1000fish |
| 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.0Gi75%),物理内存可用 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*
---
## 六、处置执行 · 统一部署 fail2ban2026-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` 两项仍待主人授权,本次未动。