OS 加固:修补、基线配置与 CIS 基准
应用 OS 加固技术——禁用不必要的服务、强制执行基线配置并使用 CIS 基准——以缩小攻击面。
OS 加固:修补、基线配置与 CIS 基准 是 CoddyKit 上的免费 Security+ Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Security+ Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Security+ Academy 课程共包含 4 节课。
什么是 OS 加固
OS 加固是通过移除不必要的功能、应用安全配置并及时安装补丁来缩小操作系统攻击面的过程。全新安装的操作系统默认并不安全——它优先考虑易用性,会启用许多用户可能需要、但大多数企业服务器并不需要的服务和功能。每项已启用的服务、每个开放端口和每个默认凭据,都可能成为攻击者的入口。加固会在系统投入生产前,以系统化方式关闭这些入口。
补丁管理
补丁管理是识别、测试和应用用于修复安全漏洞的软件更新的过程。未安装补丁的系统是最容易被利用的目标之一——许多重大入侵事件(2017 年 Equifax 事件、2017 年 WannaCry 事件)利用了组织早已知晓、厂商也已修复,但组织尚未应用的漏洞。成熟的补丁管理流程应定义:补丁识别(订阅厂商公告和 CVE 源)、重要性分类(Emergency/Critical/High/Medium)、测试时限(许多框架要求在 48—72 小时内完成关键补丁)以及部署验证。
# Patch criticality SLA example
CVSS Score SLA Notes
---------- ---------- ----------------------
9.0 - 10.0 48 hours Emergency patch cycle
7.0 - 8.9 7 days Critical patch cycle
4.0 - 6.9 30 days Standard patch cycle
0.1 - 3.9 90 days Routine patch cycle
# Verify patch application:
# Windows: Get-HotFix | Where-Object {$_.HotFixID -eq 'KB5023706'}
# Linux: dpkg -l | grep package_name禁用不必要的服务
每项正在运行的服务都可能成为攻击途径。OS 加固应从服务审计开始:列出所有正在运行的服务,明确其用途,并禁用系统角色不需要的服务。在 Windows Server 上,Print Spooler、Remote Registry 和 LLMNR 等角色经常会在不需要这些功能的服务器上被禁用。在 Linux 上,rpcbind、cups(打印)和 avahi(mDNS)等服务通常属于可禁用对象。原则是:不需要的功能就应禁用。
# Windows: disable unnecessary service
SC config 'Spooler' start= disabled
SC stop 'Spooler'
# Linux: disable unused services
systemctl disable cups
systemctl stop cups
systemctl disable avahi-daemon
systemctl stop avahi-daemon
# Verify no unnecessary ports are listening:
ss -tulnp # Linux
netstat -an | findstr LISTENING # Windows移除不必要的软件
已安装但未使用的软件会带来不必要的风险。每个软件包都可能引入漏洞——即使维护良好的软件也可能存在 CVE。OS 加固包括:移除应用程序不需要的语言运行时(Web 服务器上的 Python、Perl、Ruby);移除开发工具(生产系统上的编译器、调试器);移除随 OS 镜像提供的默认应用程序包(FTP 服务器、telnet 客户端、SNMP 代理)。出于同样原因,容器镜像应使用最小基础镜像(Alpine、scratch、distroless)。
# Remove unused packages (Debian/Ubuntu)
apt purge telnet ftp netcat python2 perl
apt autoremove
# Remove unused packages (RHEL/CentOS)
yum remove telnet ftp nmap-ncat
# Check what is installed:
dpkg -l | grep -i 'telnet\|ftp\|netcat'保护默认帐户
具有已知用户名和密码的默认帐户是攻击者最先尝试入侵的目标之一。加固措施包括:禁用内置的 Administrator 帐户(Windows);如果无法禁用,则重命名该帐户;重命名 root 帐户或限制 root 的 SSH 登录(Linux);在设备、数据库和应用投入生产前,更改所有默认密码;删除来宾帐户;以及禁用不需要交互式登录的服务帐户。Nessus 之类的扫描工具会将默认凭据标记为严重发现项。
# Linux: disable root SSH login
# Edit /etc/ssh/sshd_config:
PermitRootLogin no
PasswordAuthentication no
AllowUsers admin_user service_user
# Restart SSH:
systemctl restart sshd
# Windows: disable built-in Administrator
net user Administrator /active:no
# Rename (via Group Policy):
# Computer Config > Windows Settings > Security Settings
# > Local Policies > Security Options
# > 'Accounts: Rename administrator account'文件系统权限与最小权限
安全的文件系统权限可在 OS 上实施最小权限原则。Web 服务器进程不应拥有其提供服务的目录的写入权限。应用帐户不应拥有包含凭据的配置文件的读取权限。在 Linux 上,应审计setuid 和 setgid 二进制文件,因为无论由谁执行,它们都会以提升的权限运行。在 Windows 上,NTFS permissions和DACL auditing可确保只有经过授权的进程才能访问敏感目录(SAM 配置单元、卷影副本和凭据存储)。
# Find setuid/setgid binaries (Linux)
find / -perm /4000 -o -perm /2000 2>/dev/null
# Secure web root permissions
chown -R root:www-data /var/www/html
chmod -R 755 /var/www/html
chmod 640 /var/www/html/config.php
# Check overly permissive files
find /etc -perm -o+w 2>/dev/null # world-writable in /etcCIS 基准
CIS Benchmarks 是面向特定操作系统、应用和云平台的免费社区开发加固指南。每个基准都包含数百条具体的配置建议,以及制定理由、补救步骤和审计命令。CIS Benchmarks 使用两个配置级别:级别 1——不会限制功能的基础且普遍适用的配置;级别 2——面向高安全性环境的高级配置,可能会影响易用性。现有基准涵盖 Windows Server、Ubuntu/RHEL、macOS、Docker、Kubernetes、AWS、Azure、GCP、浏览器和数据库。
# CIS Benchmark check example (Linux L1)
# CIS Ubuntu 22.04 - 1.1.1.1 Disable cramfs
modprobe -n -v cramfs 2>&1 | grep -q 'Module cramfs not found'
# Expected: Module cramfs not found OR 'install /bin/false'
# Remediate:
echo 'install cramfs /bin/false' >> /etc/modprobe.d/CIS.conf
# CIS Windows - Account Lockout threshold
# secedit /export /cfg secpol.txt
# Check: LockoutBadCount = 5 (not 0)基线配置管理
安全基线是记录在案的一组配置设置,某一角色类别中的每个系统都必须满足这些设置。在 Windows 上,基线通过组策略对象(GPO)应用;在 Linux 上,则通过Ansible playbooks、Chef cookbooks或Puppet manifests应用。配置管理工具支持偏差检测:如果系统偏离已批准的基线(例如某项服务被重新启用),自动警报和自动补救可以使其恢复合规。NIST SP 800-128 为联邦系统以安全为重点的配置管理提供指导。
# Ansible hardening playbook snippet
- name: Disable ICMP redirects
sysctl:
name: net.ipv4.conf.all.accept_redirects
value: '0'
state: present
reload: yes
- name: Enable address space layout randomization
sysctl:
name: kernel.randomize_va_space
value: '2'
state: present
reload: yes审计日志记录与监控
加固并不只是为了预防——日志记录和监控同样重要。请配置审计策略以捕获:身份验证事件(成功和失败)、权限提升、对象访问(读取敏感文件)、进程创建(包括命令行参数)以及网络连接事件。日志必须以近乎实时的方式转发到集中式 SIEM,以防拥有管理员权限的本地攻击者通过清除事件日志来掩盖踪迹。按照大多数合规框架的要求,日志至少应保留 12 个月。
# Enable Windows audit policy (Group Policy)
auditpol /set /category:'Logon/Logoff' /success:enable /failure:enable
auditpol /set /category:'Process Creation' /success:enable
auditpol /set /subcategory:'Privilege Use' /success:enable /failure:enable
# Linux: configure auditd for privilege use
echo '-a always,exit -F arch=b64 -S execve -k exec_track' >> /etc/audit/rules.d/audit.rules
echo '-w /etc/sudoers -p wa -k priv_change' >> /etc/audit/rules.d/audit.rules
augenrules --load自动化合规扫描
在大规模环境中的每个系统上手动验证加固基准并不现实。合规扫描工具可以自动完成这项检查。OpenSCAP(开源)将 SCAP 内容应用于 Linux 系统,并生成 HTML 报告,显示检查通过、失败以及不适用的项目。Nessus包含 CIS 基准策略。Microsoft Security Compliance Toolkit根据 Microsoft 基线评估 Windows 系统。这些工具会按固定计划运行(每周或每月),偏差则会在变更管理系统中触发补救工单。
# OpenSCAP compliance scan (RHEL/CentOS)
oscap xccdf eval \
--profile xccdf_org.ssgproject.content_profile_cis \
--results results.xml \
--report report.html \
/usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml
# Generate remediation script
oscap xccdf generate fix \
--fix-type bash \
--result-id '' \
results.xml > remediation.sh组策略与安全模板
在 Windows 域中,组策略对象(GPO)是在大规模环境中应用和强制执行安全基线的主要机制。安全模板(预先构建或自定义的 .inf 文件)可以导入 GPO,同时配置数百项设置:帐户策略、审计策略、用户权限分配、安全选项和注册表值。Security Configuration and Analysis管理单元和 secedit命令行工具会将当前设置与定义的模板进行比较,并生成合规报告。GPO 会在启动时及固定时间间隔应用,确保系统偏离基线时能够自动纠正。
# Apply security template via secedit
secedit /configure /db %windir%\security\local.sdb \
/cfg C:\Templates\CIS_Level1_Server2022.inf \
/log secedit_apply.log
# Analyze current config vs template
secedit /analyze /db %windir%\security\local.sdb \
/cfg C:\Templates\CIS_Level1_Server2022.inf \
/log secedit_analysis.log
# View result: settings marked as compliant or non-compliant快速检查
请测试您对本课 CompTIA Security+(SY0-701)概念的理解。
课程回顾
在本课中,您学习了:OS 加固通过禁用服务、删除软件、保护帐户以及应用最小权限来减少攻击面;补丁管理通过基于严重性的 SLA 修复已知漏洞;CIS Benchmarks提供级别 1(基础)和级别 2(高级)配置指导,并通过自动化合规扫描工具强制执行。接下来,我们将学习移动设备管理和 BYOD 策略。
常见问题解答
「OS 加固:修补、基线配置与 CIS 基准」课时是免费的吗?
是的 — 「OS 加固:修补、基线配置与 CIS 基准」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Security+ Academy 课程的其余内容,请升级到 CoddyKit PRO。 Security+ Academy 课程共包含 4 节课。
「OS 加固:修补、基线配置与 CIS 基准」这节课中我会学到什么?
应用 OS 加固技术——禁用不必要的服务、强制执行基线配置并使用 CIS 基准——以缩小攻击面。 你通过在浏览器中直接运行的动手代码来练习 Security+ Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Security+ Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Security+ Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「OS 加固:修补、基线配置与 CIS 基准」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Security+ Academy 课中编写并运行代码吗?
能。每节 Security+ Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 防病毒、EDR 与 XDR 平台
- OS 加固:修补、基线配置与 CIS 基准
- 移动设备管理(MDM)与 BYOD 政策
- 基于主机的防火墙与应用允许列表