1. RHEL身份权限与安全基线工程导论
在RHEL(Red Hat Enterprise Linux)生产环境中,身份、权限与安全基线并不是三件彼此独立的事情,而是同一条安全控制链上的三个环节:身份回答“你是谁”,权限回答“你能做什么”,安全基线回答“系统在任何时刻应处于什么状态”。本课程的目标,是把这三者从零散的命令操作,提升为一套可设计、可实施、可验证、可审计的工程方法。
课程目标与能力定位
完成本课程后,学习者应能独立完成以下工作:在RHEL主机上规划本地与集中式身份体系;用最小权限原则设计用户、组、sudo与文件访问控制;依据CIS、STIG或等保要求裁剪出适用于本组织的安全基线;使用Ansible、OpenSCAP等工具把基线固化为可重复执行的代码;并通过日志、审计与合规扫描证明控制措施真实生效。换言之,课程终点不是“会敲几条命令”,而是能交付一份可被他人复现和审计的安全配置工程。
三个核心概念
身份(Identity):指主体在系统中的唯一标识及其凭据。RHEL中既包括本地账户(/etc/passwd、/etc/shadow),也包括通过SSSD接入的LDAP、Kerberos或Active Directory身份源。身份工程的关键是“唯一性、可追溯、可吊销”。
权限(Authorization):指身份被允许执行的操作集合。RHEL提供多层次的权限控制:文件系统的UGO与ACL、sudo的细粒度命令授权、SELinux的强制访问控制、以及systemd服务与容器的能力限制。权限工程的关键是“最小化、显式化、可复核”。
安全基线(Security Baseline):指一组经过组织确认、必须持续满足的配置项集合,例如密码策略、SSH加固、内核参数、审计规则、文件权限等。基线工程的关键是“有依据、可量化、可自动校验”。
工程框架:从需求到持续合规
本课程采用一个五层工程框架来组织全部内容,它也是后续各章的路线图:
- 需求与标准层:确定适用标准(CIS Benchmark、DISA STIG、等保2.0三级)与业务约束,输出控制项清单。
- 身份与访问层:设计账户生命周期、认证方式、组模型与sudo策略。
- 系统加固层:落实内核、服务、网络、文件系统与SELinux基线。
- 自动化与配置管理层:用Ansible Role、OpenSCAP Profile把基线变成代码。
- 审计与持续合规层:用auditd、rsyslog、AIDE与oscap扫描形成证据闭环。
这五层不是一次性流水线,而是持续循环:扫描发现偏差 → 修正配置或更新基线 → 重新扫描验证。下图展示了该框架的层次结构以及各层之间的输入输出关系。
实验环境搭建
为了让所有实验可复现,本课程统一使用以下环境。建议在虚拟机或云主机中搭建,避免在生产系统上直接练习。
| 角色 | 主机名 | IP示例 | 用途 |
|---|---|---|---|
| 控制节点 | control.lab.local | 192.168.56.10 | 运行Ansible、oscap、存放基线代码 |
| 被管节点A | node1.lab.local | 192.168.56.11 | 身份与sudo实验 |
| 被管节点B | node2.lab.local | 192.168.56.12 | 加固与合规扫描实验 |
| 身份源 | idm.lab.local | 192.168.56.20 | LDAP/SSSD集中认证(可选) |
基础准备包括:安装RHEL 9(或Rocky/AlmaLinux 9兼容环境),注册订阅或配置本地仓库,关闭SELinux前先确认实验需求(本课程默认保持SELinux为enforcing),并统一时间同步。控制节点需安装ansible-core与openscap-scanner:
# 控制节点基础工具安装
sudo dnf install -y ansible-core openscap-scanner scap-security-guide
# 被管节点安装合规内容
sudo dnf install -y scap-security-guide
# 验证SSG内容可用
ls /usr/share/xml/scap/ssg/content/ | grep rhel9
首次连通性验证建议使用Ansible ad-hoc命令,确认控制节点能通过SSH密钥免密管理被管节点:
# 生成并分发密钥(示例)
ssh-keygen -t ed25519 -N "" -f ~/.ssh/id_ed25519
ssh-copy-id root@192.168.56.11
ssh-copy-id root@192.168.56.12
# 验证
ansible all -i inventory.ini -m ping
贯穿全课程的一个示例场景
为避免知识点碎片化,课程将围绕一个统一场景推进:某企业需要将三台RHEL 9服务器纳入等保三级合规范围,要求实现集中身份认证、sudo最小授权、SSH与密码策略加固,并能每月输出一次合规扫描报告。后续章节中的账户设计、sudoers规则、sshd_config参数、Ansible Role结构、oscap扫描命令,都会在这个场景下展开。你在学习时可以把自己的实际环境代入,替换IP、域名与组织名称即可。
学习路径建议
建议按“概念理解 → 手工操作 → 自动化固化 → 合规验证”的顺序推进。先手工完成一次账户创建、sudo授权和SSH加固,理解每个参数的作用;再把操作写成Ansible任务;最后用oscap扫描验证结果。手工阶段不要跳过,否则自动化阶段出现偏差时很难定位原因。每章结束后,应能在自己的实验环境中复现该章的关键配置,并说清楚“这条配置防住了什么风险、验证依据是什么”。