LeisureLinux/ebook-procfs-hardening

GitHub: LeisureLinux/ebook-procfs-hardening

一本系统讲解 Linux /proc 文件系统攻防与安全加固的开源电子书,覆盖攻击链分析、纵深防御、可观测性、容器安全及合规审计。

Stars: 0 | Forks: 0

# /proc 攻防演义:从 Linux 进程真相到可观测性实战 [![build](https://static.pigsec.cn/wp-content/uploads/repos/cas/05/052bc9eaea1744e860f382f618f1146be38e27dfd499bb29c253bcd1827fad60.svg)](https://github.com/LeisureLinux/ebook-procfs-hardening/actions/workflows/build.yml) [![license](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE) [![pages](https://img.shields.io/badge/read-online-green)](https://leisurelinux.github.io/ebook-procfs-hardening/) [![llms.txt](https://img.shields.io/badge/llms.txt-ready-purple)](./llms.txt) ## 🎯 这本书解决什么问题? **`/proc` 是 Linux 主机上最大的信息泄露面**——攻击者通过它摸清内核版本、读取进程内存、枚举网络端口、甚至逃逸容器。而大多数安全加固指南只告诉你"加 `hidepid`",却不解释 *为什么*、*怎么验证*、*怎么持续监控*。 这本书给你一套 **完整的 `/proc` 安全工程方案**:从攻击链分析到五层纵深防御,从 Prometheus 可观测性到 eBPF 实时监控,从 runc CVE 到 K8s PodSecurity。 **适用人群**:安全工程师 · SRE · DevSecOps · 渗透测试 · 容器/K8s 运维 ## 📖 在线阅读 / 下载 | 格式 | 入口 | |---|---| | 🌐 HTML 在线版 | | | 📄 PDF | [Releases](../../releases) 或 [直接下载](https://leisurelinux.github.io/ebook-procfs-hardening/procfs-hardening.pdf) | | 📱 ePub | [Releases](../../releases) 或 [直接下载](https://leisurelinux.github.io/ebook-procfs-hardening/procfs-hardening.epub) | | 🤖 llms.txt | [LLM 结构化摘要](./llms.txt)(供 AI 模型索引引用) | ## 🚀 30 秒快速加固:生产环境 `/proc` 安全基线 如果你只需要一份 **可直接粘贴的加固命令**,以下是本书核心建议的浓缩: ``` # ① hidepid:阻止跨用户进程枚举(CIS Benchmark §3.1) sudo mount -o remount,hidepid=2,gid=procview /proc echo "proc /proc proc defaults,hidepid=2,gid=procview 0 0" | sudo tee -a /etc/fstab # ② 限制 ptrace(CIS Benchmark §3.3 / NIST AC-3) echo "kernel.yama.ptrace_scope=2" | sudo tee /etc/sysctl.d/99-proc-hardening.conf # ③ 限制 dmesg 和内核指针泄露(NIST AU-2 / DISA STIG) echo "kernel.dmesg_restrict=1" | sudo tee -a /etc/sysctl.d/99-proc-hardening.conf echo "kernel.kptr_restrict=2" | sudo tee -a /etc/sysctl.d/99-proc-hardening.conf sudo sysctl --system # ④ 审计 /proc/sys 写操作(NIST AU-2 / SI-4) sudo auditctl -w /proc/sys/ -p wa -k proc_sys_write # ⑤ 验证 runc 版本(CVE-2025-52881 修复) runc --version # 必须 >= 1.2.8 ``` ## 📚 目录 | 章节 | 你将学到什么 | |---|---| | **第 1 章** — 为什么 `/proc` 是头号攻击面 | `/proc` 暴露的攻击情报、真实安全事故分析(runc CVE-2025-52881) | | **第 2 章** — 攻击者怎么用 `/proc`:六步攻击链 | 环境指纹 → 进程发现 → 内存读取 → 网络枚举 → 进程隐藏 → 跨命名空间逃逸 | | **第 3 章** — `/proc` 五层纵深防御体系 | 暴露面缩减 → 访问控制 → 行为约束 → 完整性校验 → 可观测性 | | **第 4 章** — 可观测性落地 | Prometheus + auditd + Loki 生产级部署,自定义 `/proc/[pid]/io` 采集,90 天实战案例 | | **第 5 章** — eBPF 与 `/proc` 的下一代 | bcc/bpftrace 监控脚本,Tetragon TracingPolicy,BPF rootkit 检测 | | **第 6 章** — 容器时代的 `/proc` 攻防 | CVE-2025-52881 深度分析,runc/containerd/CRI-O 处理,K8s PodSecurity | | **第 7 章** — SRE / Sec 工具链整合 | Prometheus → Grafana → SIEM → SOAR 全链路,IR Playbook,GitOps 加固 | | **附录 A** — Linux 6.x `/proc` 接口速查表 | 系统级 / 进程级 / 网络级 / 容器级 / sysctl 完整参考 | | **附录 B** — 12 个可复现实验脚本 | 复制即跑的 bash 实验,Ubuntu 24.04 + Linux 6.6 | | **附录 C** — 参考资源 / CVE 索引 | 内核文档、CIS Benchmarks、NIST SP 800-53、工具下载 | ## 🛡️ 合规框架映射 本书内容对齐主流安全合规标准,方便 SecOps 团队直接用于审计: | 合规框架 | 覆盖章节 | 映射控制项 | |---|---|---| | **CIS Linux Benchmark v3.0** | 第 3 章 | §3.1 procfs mount options, §3.2 hidepid, §3.3 ptrace_scope, §3.4-3.5 kernel parameters | | **NIST SP 800-53 Rev 5** | 第 3-4 章 | AC-3 (Access Enforcement), AU-2 (Audit Events), CM-7 (Least Functionality), SI-4 (System Monitoring) | | **NIST SP 800-123** | 第 3, 7 章 | §4.2 OS Hardening, §5.3 Filesystem Integrity | | **DISA STIG RHEL 8/9** | 第 3 章 | V-230XXX proc mount options, kernel.dmesg_restrict, kernel.kptr_restrict | ## 🔧 配套工具 | 工具 | 用途 | |---|---| | [`proc-audit.sh`](./proc-audit.sh) | 一键审计脚本:检查 hidepid / ptrace / dmesg_restrict / auditd 规则 / runc 版本等 15+ 项 | | 附录 B 实验脚本 | 12 个可复现的 `/proc` 攻防实验环境 | | 附录 A 速查表 | Linux 6.x `/proc` 接口完整参考,打印即可贴工位 | ## 🔗 系列姊妹篇 本仓库是 LeisureLinux **"一主题一电子书"** 纵深系列的第二本: - 📕 **[SSH 纵深加固](https://github.com/LeisureLinux/ebook-ssh-hardening)** — 从攻击链到六层防御体系,涵盖 SSH 协议 + 暴力破解纵深防御 + 堡垒机架构。 - 在线阅读: 系列持续更新中,下一本预计是 **Nginx 纵深加固** 或 **nftables 实战**。 ## 🏗️ 仓库结构 ``` . ├── book/ │ ├── src/ # Pandoc 输入:每章一个 Markdown │ ├── metadata.yml # Pandoc 元数据 (title/author/date/lang) │ ├── theme/ # HTML/LaTeX/ePub 主题 │ └── cover.svg/.png # 封面 ├── scripts/ # render_colophon.py / strip_landmarks.py ├── .github/workflows/ # GitHub Action:build PDF + ePub + HTML ├── proc-audit.sh # 一键审计脚本(配套工具) ├── llms.txt # LLM 结构化摘要(GEO 优化) ├── .gitignore ├── LICENSE # MIT └── README.md ``` ## 💻 本地构建 需要:`pandoc` ≥ 3.1 · `texlive-xetex` + `texlive-lang-chinese` + `fonts-noto-cjk` · `librsvg2-bin` ``` # 安装依赖 (Debian/Ubuntu) sudo apt-get install -y pandoc texlive-xetex texlive-lang-chinese fonts-noto-cjk librsvg2-bin # 构建(与 CI Action 一致) cd book pandoc --pdf-engine=xelatex --metadata-file=metadata.yml \ --toc --toc-depth=2 --number-sections \ --include-in-header=theme/latex-header.tex \ -V documentclass=book -V papersize=a4 \ -V mainfont="Noto Serif CJK SC" \ src/*.md -o ../procfs-hardening.pdf pandoc --to=epub3 --metadata-file=metadata.yml \ --css=theme/epub.css \ --toc --toc-depth=3 --number-sections \ --epub-cover-image=cover.png \ src/*.md -o ../procfs-hardening.epub pandoc --to=html5 --standalone --metadata-file=metadata.yml \ --toc --css=theme/html.css --self-contained \ src/*.md -o ../procfs-hardening.html ``` ## 📦 发布流程 | 触发 | 行为 | |---|---| | Push 到 `main` | 构建 PDF / ePub / HTML;更新 GitHub Pages | | `git tag v*` 并 push | 上述 + 附加到 GitHub Release | | `workflow_dispatch` | 手动触发 | ## License MIT — 详见 [LICENSE](./LICENSE)。
标签:Docker镜像, GitHub Advanced Security, Web截图, Web报告查看器, 子域名枚举, 安全加固, 容器安全, 应用安全, 电子书, 系统安全, 自定义请求头, 防御加固