系统与供应链安全 · kp-022

主机加固与权限治理

核心 约 20 分钟 状态:reviewed #系统#加固#SSH#基线

一句话定义

主机加固是把一台通用系统收窄为"只做一件事、只开必要面、只给必要权限"的工程过程:裁剪服务、治理账户与 sudo、收紧文件权限、配置 SSH、开启审计日志,并用基线工具把以上固化为可扫描的配置标准。

为什么重要

主机是所有上层防御的承载面:Web 修得再好,一台弱 SSH 配置的服务器就能让成果归零。加固也是最"可度量"的安全工作——每一项都是可扫描、可断言的配置状态,适合写入自动化流水线;它同时是 kp-026(内存漏洞)与 kp-023(容器)防御的宿主前提。

前置知识

kp-003(最小权限与纵深防御):加固是该原则在主机层的清单化。

核心概念

  • 攻击面裁剪:只安装必需软件包、关闭不用服务与监听端口(与 kp-019 的网络层收口互补);"最小安装 + 按需添加"优于"全装再关"。
  • 账户与提权治理:禁用或锁死无用的系统账户;人员不直用 root,经 sudo 白名单提权;删除无主的钥匙与旧账号。
  • SSH 基线:密钥认证、禁口令登录、禁 root 直登、限源访问、低权限专用运维账号。
  • 文件与内核:关键文件权限(如 600/700)、sticky bit 场景、sysctl 收紧(如禁用 IP 转发、开启 SYN Cookie)。
  • 时间与日志:NTP 同步(日志关联的前提,kp-027 依赖)、审计与 auth 日志开启并外发。
  • 基线与漂移:用基线扫描工具(Lynis、OpenSCAP 类)把配置变成分数与报告;配置漂移用配置管理(Ansible 类)或不可变镜像对抗。

公式、模型或图示

text
加固基线(CIS 风格分层):
 ① 裁剪面    包/服务/端口最小化
 ② 权限      账户、sudo 白名单、文件权限
 ③ 远程入口  SSH:密钥 + 禁 root + 限源
 ④ 内核      sysctl 网络与内存参数
 ⑤ 可观测    NTP + 日志外发 + 基线扫描
 每层可断言 → 可纳入 CI/配置管理 → 可防漂移

原理与机制

加固的本质是"把默认方便改成默认安全",其有效性来自三点。第一,面收缩直接降低概率:不开的服务不存在漏洞。第二,权限治理限制爆炸半径:即使某服务被攻破(如 kp-026 的内存漏洞),非特权账户与最小 sudo 让利用难以提权。第三,基线化带来可持续性:一次性手工加固必然随时间漂移(临时排障改动、软件自带的宽松默认),把基线写进配置管理代码后,任何漂移都会在下次收敛或扫描中暴露——这与供应链的"声明式期望状态"(kp-024)思想同源。度量上,基线扫描分数、暴露端口数、可 sudo 人数、密钥口令登录开关状态,都是可直接汇报的硬指标。

实例或案例

生产服务器 SSH 基线(sshd_config 摘录):

text
PermitRootLogin no          # 禁 root 直登
PasswordAuthentication no   # 仅密钥认证
AllowUsers deploy           # 白名单 + 低权限专用账号
MaxAuthTries 3              # 限尝试次数

配套动作:deploy 加入 sudo 白名单仅放行必要命令;SSH 端口限源到管理段或经跳板;auditd/auth 日志外发至集中平台(kp-027)。用 Lynis 做一次基线扫描并按建议项分级处理,即可得到第一份可追踪的加固报告。

直观类比

加固像整理一间对外出租的房屋:退掉不用的房间(裁剪服务)、收走备用钥匙(账户治理)、大门换成指纹锁(SSH 基线)、抽屉上锁(文件权限)、装摄像头接保安室(日志外发)。任何一间房失控,损失都被限制在这间房里(爆炸半径)。

常见误区

  • "装了杀毒/EDR 就不用加固":检测类工具是纵深层(kp-003),不替代面收缩与权限治理。
  • "加固是一次性项目":不解决漂移的加固在半年后名存实亡;必须配置管理化。
  • "生产临时改完就算了":手工热修不回流基线即是漂移起点;变更应回到配置源。

与其他知识点的关系

  • kp-023(容器与云安全):容器是主机加固思想的延伸(镜像最小化、非 root)。
  • kp-026(内存安全):加固中的权限与缓解措施是其防御宿主。
  • kp-027(日志检测):加固开启的日志是检测体系的输入。

自测题

  1. 为什么"最小安装 + 按需添加"优于"全装再关"?要点:未安装的软件无漏洞可利用,且避免了"关了但依赖仍拉起"的隐性复活。
  2. 配置漂移的根源与对策是什么?要点:临时改动与宽松默认累积;对策是配置管理/不可变镜像 + 周期基线扫描。
  3. NTP 同步为什么是安全项?要点:跨机日志关联与取证时间线依赖统一时钟,时钟漂移会破坏事件重建。

延伸阅读

CIS Benchmarks(各操作系统基准文档,业内公开基线的代表形态):以可核对的配置条目定义"加固"。