Files
.pouch/skills/host-sec-check/references/checklist.md
T

87 lines
3.1 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.
# 检查项
每项:做了 / 跳过(原因) / 可疑。
## 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. 报告与处置确认
- [ ] 结论表
- [ ] 用户确认后再改
- [ ] 改完公网+域名双侧验证