CIS 安全基线:Linux 服务器加固标准

CIS Benchmarks(互联网安全中心基准)是由全球安全专家共同维护的"共识性配置标准",覆盖 25+ 类产品家族,包括 Ubuntu、Debian、Red Hat、Alibaba Cloud Linux、Tencent Cloud 等主流系统,以及 Docker、Kubernetes、NGINX、MySQL、PostgreSQL 等常用组件。它把"安全加固"从经验性操作变成可对照、可审计、可重复的清单。

什么是 CIS 基线,如何选择

CIS 基线的核心是"配置基线(Configuration Baseline)",通常分为两级:

  • Level 1:推荐配置,安全影响明确且对业务影响小,建议默认启用;
  • Level 2:更强安全但可能影响可用性或性能,适合高安全/合规场景。

选择依据:操作系统与发行版版本(如 Ubuntu 22.04/24.04、RHEL 9)、部署形态(物理机/云主机/容器)。主流云厂商通常提供面向其平台的基线。

常见基线项示例

以 Linux 服务器基线为例,通常覆盖:

  • 账户与权限:删除或锁定非必要账户、禁止空密码、设置口令策略与账户锁定;
  • 文件系统权限:敏感文件与目录收紧权限,限制 SUID/SGID 位;
  • SSH 配置:禁止 root 登录、启用密钥认证(可参考SSH 安全加固);
  • 内核与网络:关闭不必要服务,sysctl 网络参数加固,部署防火墙默认拒绝;
  • 审计与日志:启用 auditd 与系统日志,对接日志审计

落地步骤

  1. 选择基线版本:下载与系统匹配的 CIS Benchmark(需注册获取);
  2. 扫描评估:使用 CIS-CAT Pro 或开源替代工具扫描当前差距;
  3. 修复加固:按 Level 1 → Level 2 顺序逐项修复,重大变更先在测试机验证;
  4. 复核验证:再次扫描确认合规率,生成报告;
  5. 持续化:用 Ansible/Shell 把基线固化为初始化脚本,纳入新服务器上线流程(参考服务器初始化安全脚本)。

CIS 还提供 CIS Hardened Images(预加固镜像)与 Build Kits,可大幅降低人工配置成本。

具体配置片段:从基线项到落地命令

以 Ubuntu 22.04 为例,几条高频基线项的落地方式如下。SSH 加固(对应 SSH 配置基线):

# /etc/ssh/sshd_config.d/hardening.conf
PermitRootLogin no
PasswordAuthentication no
MaxAuthTries 3
AllowUsers deploy

sysctl 网络加固(对应内核与网络基线):

# /etc/sysctl.d/99-hardening.conf
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0
net.ipv4.ip_forward = 0

口令策略(对应账户与权限基线,PAM 配置):

# /etc/pam.d/common-password 追加
password requisite pam_pwquality.so retry=3 minlen=12 dcredit=-1 ucredit=-1

审计规则(对应审计与日志基线):

# /etc/audit/rules.d/hardening.rules
-w /etc/passwd -p wa -k identity
-w /etc/ssh/sshd_config -p wa -k sshd_config
-a always,exit -F arch=b64 -S execve -k exec_events

配置完成后用 sysctl --systemsystemctl restart sshd auditd 生效,再重新扫描验证。逐条改动时,切记先备份原文件、在测试机验证,避免把线上系统改挂。

常见基线项的加固原理

以几项高频项为例理解基线逻辑:

  • 口令策略与锁定:限制口令最短长度、最长有效期并设置失败锁定,降低弱口令与爆破风险,配合双因素认证效果更佳;
  • SUID/SGID 管理:检查并移除非必要的提权位,减少本地提权路径;
  • sysctl 网络参数:关闭 IP 转发(非网关场景)、禁用源路由、启用反向路径过滤,收敛网络攻击面;
  • 服务最小化:移除或禁用未使用服务与软件包,减少潜在漏洞入口;
  • auditd 审计:记录关键文件与登录事件,为事件响应提供证据链。

一次真实的加固过程

假设你接手一台新上线的 Ubuntu 22.04 云主机,目标是达到 Level 1。大致过程如下:先用 CIS-CAT Pro Assessor 扫描,输出一份差距报告,常见结果是一个上万行的 PDF;接着按报告逐项修复——先处理影响面小的(如文件权限、审计规则),再处理可能有副作用的(如禁用密码登录前先确认密钥已就位);修完重扫,把合规率从初始的 60%-70% 拉到 95% 以上;最后把修复步骤固化成 Ansible playbook,作为新服务器初始化的默认动作。整套流程熟练后,一台机器从裸机到过基线大约需要半天,远比手工逐项排查快。

扫描命令参考(CIS-CAT Pro):

java -jar CIS-CAT.jar assess -i -b profiles/Ubuntu_Linux_22.04-LTS-Benchmark-v2.0.0.xml -p Level_1

合规率不是越高越好——Level 2 的部分条目会牺牲可用性。先明确业务要的是"等保/客户审计的硬要求",还是"内部安全水位",再决定目标等级。

基线维护与版本升级

基线不是一次性动作:系统大版本升级、新软件上线、CIS 发布新版基准后都应重新评估。建议每季度做一次基线巡检,并把"新增服务器必须过基线"写入上线流程,避免安全水位随服务器数量增长而下降。

常见问题

没有专职安全人员,该从哪个基线开始? 从与系统匹配的 Level 1 开始,先覆盖 SSH、口令、审计这几类高频项。CIS-CAT Pro 必须付费吗? 个人评估可用社区版或开源替代工具(如 Lynis 可做初步检查),正式合规审计再用商业版。云厂商镜像本身安全吗? 大多数云镜像只做了基本配置,仍需按基线逐项核对。多久重扫一次? 建议每次版本升级、软件大改后重扫,至少每季度一次。

16IDC 观察

对没有专职安全团队的站点,CIS 基线最大的价值是把"不知道从哪下手"变成"照着清单逐项勾选"。建议把它作为服务器上线与定期巡检的默认动作,再结合漏洞扫描形成"配置基线 + 持续漏洞管理"的双保险。更多方案回到安全加固查看。

参考:CIS Benchmarks 官方 https://www.cisecurity.org/cis-benchmarks;CIS-CAT Pro Assessor https://www.cisecurity.org/cybersecurity-tools/cis-cat-pro/cis-cat-pro-assessor;CIS Workbench(需注册下载基准)https://workbench.cisecurity.org/