87 lines
3.1 KiB
Markdown
87 lines
3.1 KiB
Markdown
# 检查项
|
||
|
||
每项:做了 / 跳过(原因) / 可疑。
|
||
|
||
## A. 快照
|
||
|
||
- [ ] 主机名、OS、内核、uptime
|
||
- [ ] CPU/负载、内存(含 hugepage、swap)、磁盘
|
||
- [ ] 网卡:公网 v4/v6、内网、Tailscale/VPN
|
||
- [ ] 监听端口 + 进程(root `ss -lntup`)
|
||
- [ ] 本机防火墙:nft/iptables/ufw;INPUT 策略
|
||
- [ ] 云安全组(做不到就写未查)
|
||
|
||
## B. 身份与入口
|
||
|
||
- [ ] sshd 配置:端口、root、密码、Pubkey
|
||
- [ ] `sshd -t` 语法与 `sshd -T` 生效值;确认 `ssh.service` / `sshd.service` / `ssh.socket` 实际监听关系
|
||
- [ ] 所有 `authorized_keys`(含 `/root`、`/home/*`、git 用户)
|
||
- [ ] `last` / `lastb` / ssh journal
|
||
- [ ] `/etc/passwd` 里 UID 0、系统外用户、登录 shell
|
||
- [ ] sudoers、NOPASSWD、docker/lxd/libvirt 组
|
||
- [ ] 对公网的面板:Portainer/Cockpit/宝塔/1Panel/k8s/Docker TCP
|
||
- [ ] 单元或 compose 里的明文 bootstrap token
|
||
|
||
## C. 持久化
|
||
|
||
- [ ] 用户与系统 crontab、`/etc/cron.*`
|
||
- [ ] systemd 服务与 timer(非发行版默认)
|
||
- [ ] `ld.so.preload` + 对应 `.so`(容器视角 hexdump)
|
||
- [ ] `lsattr` 发现的 immutable 异常文件
|
||
- [ ] rc.local、profile.d、bashrc 后门
|
||
- [ ] 第二套 container runtime
|
||
|
||
## D. 进程
|
||
|
||
- [ ] 容器视角 vs 宿主机 `ps` 差集
|
||
- [ ] maps 里的陌生 so
|
||
- [ ] 矿机/挖矿/proxy 客户端特征名与同体积副本
|
||
- [ ] hugepage 预留但无对应进程
|
||
- [ ] 高 CPU 且不在业务名单里的进程
|
||
|
||
## E. 容器 / k8s
|
||
|
||
- [ ] `docker ps -a` 与 inspect(privileged、sock、`/:/host`、`0.0.0.0`)
|
||
- [ ] 挂机赚钱镜像名单
|
||
- [ ] k8s/k3s:节点 Ready、该节点 Pod 列表
|
||
- [ ] API 不通时:kubelet `pods/*/etc-hosts`、crictl
|
||
- [ ] 工作负载是否能在 Git/编排仓库里对上
|
||
|
||
## F. 暴露
|
||
|
||
- [ ] `0.0.0.0` 与 `[::]` 监听清单
|
||
- [ ] **从外部**扫公网 IPv4(和 IPv6)
|
||
- [ ] rpcbind :111、DB、Redis、应用明文端口
|
||
- [ ] 管理 SSH 是否可收到 VPN
|
||
- [ ] 证书/域名入口是否可被 IP:端口绕过
|
||
- [ ] 实际防火墙后端与 IPv4/IPv6 规则:UFW、nftables、iptables、firewalld
|
||
|
||
## G. 补漏(容易漏)
|
||
|
||
- [ ] IPv6 公网地址同样在听
|
||
- [ ] 世界可写目录、异常 SUID
|
||
- [ ] 未装补丁 / `apt` 过期很久
|
||
- [ ] 出站长连接(C2)
|
||
- [ ] 内核模块 `lsmod` 异常
|
||
- [ ] 时间偏移(影响日志)
|
||
- [ ] 备份是否还能用(清理前不要删数据盘)
|
||
- [ ] 日志被清空或 journal vacuum
|
||
- [ ] Web 根目录 webshell(若有 nginx/caddy/apache)
|
||
- [ ] `.git` 或备份文件可下载
|
||
- [ ] 云 metadata 是否对容器开放
|
||
|
||
## H. 加固专用
|
||
|
||
- [ ] 变更前有带外控制台、配置备份和第二条 SSH 会话
|
||
- [ ] 非 root 管理账号的密钥登录已验证,再收紧 root/密码登录
|
||
- [ ] Fail2ban 日志后端、`ignoreip`、jail 状态和误封回滚路径
|
||
- [ ] 补丁状态与是否需要重启已记录
|
||
- [ ] Docker 端口绑定、特权、`docker.sock`/宿主机挂载已审查;没有无条件改 `daemon.json`
|
||
- [ ] 变更后从外部验证 IPv4/IPv6 端口和业务域名;未验证项已列出
|
||
|
||
## I. 报告与处置确认
|
||
|
||
- [ ] 结论表
|
||
- [ ] 用户确认后再改
|
||
- [ ] 改完公网+域名双侧验证
|