CISP学习指南:Windows操作系统安全配置

Windows操作系统安全配置是系统安全加固的重要组成部分,通过配置本地安全策略可以有效提升系统安全性。

一、Windows注册表

1.1 Windows注册表运行命令

📝Windows注册表编辑器

Windows操作系统的注册表运行命令是:RegeditRegedit命令:

  • 正确的注册表编辑器命令
  • 用于查看和编辑Windows注册表
  • 启动方式:Win+R 输入 regedit
  • 不需要文件扩展名 🔧 其他相关命令:
  • Regsvr32:用于注册/注销DLL文件,不是注册表编辑器
  • Regedit.msc:不存在此命令(.msc用于管理控制台)
  • Regedit.mmc:不存在此命令(.mmc是Microsoft管理控制台) Windows常用系统命令对比: | 命令 | 用途 | 说明 | |------|------|------| | regedit | 注册表编辑器 | ✅ 编辑注册表 | | regedit32 | 注册表编辑器(旧版) | 32位版本(已过时) | | regsvr32 | DLL注册工具 | 注册/注销DLL | | msconfig | 系统配置 | 启动项管理 | | services.msc | 服务管理 | 管理Windows服务 | | gpedit.msc | 组策略编辑器 | 编辑组策略 | | secpol.msc | 本地安全策略 | 安全策略配置 | | mmc | 管理控制台 | 管理工具容器 | 注册表编辑器的使用:
启动注册表编辑器:
方法1:运行命令
├── 按Win+R打开运行
├── 输入regedit
└── 按回车
方法2:命令提示符
├── 打开CMD
├── 输入regedit
└── 按回车
方法3:搜索
├── 点击开始菜单
├── 搜索"regedit"
└── 点击运行

1.2 Windows安全中心

📝Windows安全中心

Windows从XP SP2版本开始引入安全中心的概念 Windows安全中心发展历程: 📅 Windows XP SP2(2004年)

  • ✅ 首次引入安全中心
  • 集成防火墙、自动更新、病毒防护
  • 提供统一的安全管理界面 其他版本:
  • Windows NT SP6:没有安全中心概念
  • Windows 2000 SP4:没有安全中心概念
  • Windows 2003 SP1:服务器版本,安全配置不同 Windows安全中心功能:
Windows安全中心功能:
├── 防火墙状态
│   ├── 监控防火墙开启状态
│   ├── 提供配置入口
│   └── 显示防火墙规则
├── 自动更新
│   ├── 检查系统更新
│   ├── 自动下载补丁
│   └── 安装安全更新
├── 病毒防护
│   ├── 监控杀毒软件状态
│   ├── 检查病毒库更新
│   └── 提供扫描功能
└── 其他安全设置
    ├── Internet选项
    ├── 用户账户控制
    └── 安全警告

二、Linux系统安全

2.1 Linux最高权限用户

📝Linux超级用户

在Linux系统中拥有最高级别权限的用户是:rootroot用户特点:

  • UID为0(唯一标识)
  • 可以执行任何操作
  • 不受权限限制
  • 可以访问所有文件和目录
  • 可以修改系统配置
  • 可以管理所有用户和进程 🔍 其他常见系统用户:
  • administrator:Windows系统的管理员账户,Linux中不存在
  • mail:Linux系统用户,用于邮件服务,权限有限
  • nobody:Linux权限最低的用户,用于运行不需要特权的服务 Linux常见系统用户: | 用户名 | UID | 权限级别 | 用途 | |--------|-----|---------|------| | root | 0 | ⭐⭐⭐⭐⭐ 最高 | 系统管理员 | | daemon | 1-2 | ⭐⭐ 低 | 系统守护进程 | | bin | 1-2 | ⭐⭐ 低 | 系统二进制文件 | | sys | 3 | ⭐⭐ 低 | 系统文件 | | mail | 8 | ⭐⭐ 低 | 邮件服务 | | nobody | 65534 | ⭐ 最低 | 无特权服务 | | 普通用户 | 1000+ | ⭐⭐⭐ 中 | 日常使用 | root用户的使用建议:
root用户安全使用:
├── 日常操作
│   ├── ❌ 不要用root登录
│   ├── ✅ 使用普通用户
│   └── ✅ 需要时使用sudo
├── 远程访问
│   ├── ❌ 禁止root直接SSH登录
│   ├── ✅ 使用普通用户登录
│   └── ✅ 通过sudo提权
├── 密码管理
│   ├── ✅ 设置强密码
│   ├── ✅ 定期更换
│   └── ✅ 使用密钥认证
└── 审计日志
    ├── ✅ 记录root操作
    ├── ✅ 监控异常行为
    └── ✅ 定期审查

sudo命令使用:

# 以root权限执行单个命令
sudo command
# 切换到root用户
sudo su -
# 以root权限编辑文件
sudo vi /etc/config
# 查看sudo权限
sudo -l
# 配置sudo权限
sudo visudo

三、Windows本地安全策略

1.1 本地安全策略概述

Windows操作系统提供了”本地安全策略”功能,用于配置系统的安全设置。

📝Windows本地安全策略

本地安全策略包括四类:

  1. 账号策略
    • 密码策略
    • 账户锁定策略
    • Kerberos策略
  2. 本地策略
    • 审核策略
    • 用户权限分配
    • 安全选项
  3. 公钥策略
    • 加密文件系统
    • 数据保护
  4. IP安全策略
    • IPsec规则
    • 网络通信保护
graph TB A["Windows本地安全策略"] B["账号策略"] C["本地策略"] D["公钥策略"] E["IP安全策略"] A --> B A --> C A --> D A --> E B --> B1["密码策略"] B --> B2["账户锁定策略"] B --> B3["Kerberos策略"] C --> C1["审核策略"] C --> C2["用户权限分配"] C --> C3["安全选项"] D --> D1["加密文件系统"] D --> D2["数据保护"] E --> E1["IPsec规则"] E --> E2["网络通信保护"] style B fill:#e3f2fd,stroke:#1976d2 style C fill:#fff3e0,stroke:#f57c00 style D fill:#e8f5e9,stroke:#388e3d style E fill:#f3e5f5,stroke:#7b1fa2

二、安全配置的分类

2.1 操作系统安全配置内容

操作系统安全配置包括四大类:

graph TB A["操作系统安全配置"] B["制定安全策略"] C["关闭不必要的服务"] D["关闭不必要的端口"] E["查看日志记录"] A --> B A --> C A --> D A --> E B --> B1["账号策略"] B --> B2["本地策略"] B --> B3["公钥策略"] B --> B4["IP安全策略"] C --> C1["禁用不需要的服务"] D --> D1["防火墙规则"] E --> E1["审计日志"] style B fill:#e3f2fd,stroke:#1976d2 style C fill:#fff3e0,stroke:#f57c00 style D fill:#e8f5e9,stroke:#388e3d style E fill:#f3e5f5,stroke:#7b1fa2

2.2 配置类型说明

📝配置Windows本地安全策略的分类

配置Windows本地安全策略属于”制定安全策略”类别 📋 为什么属于制定安全策略:

  • 本地安全策略定义了系统的安全规则和要求
  • 包括密码策略、账户策略、审核策略等
  • 是系统安全配置的核心内容
  • 通过策略设置来规范系统行为 操作系统安全配置的四大类别: | 配置类型 | 说明 | 示例 | |---------|------|------| | 制定安全策略 | 配置系统安全规则和要求 | 本地安全策略、密码策略、审核策略 | | 关闭不必要的服务 | 禁用不需要的系统服务 | 禁用Telnet、FTP服务 | | 关闭不必要的端口 | 通过防火墙关闭端口 | 关闭135、139、445端口 | | 查看日志记录 | 审计和监控系统活动 | 查看安全日志、事件日志 |

三、Windows安全策略配置实践

3.1 账号策略配置

密码策略配置示例:

密码策略:
├── 密码必须符合复杂性要求:启用
├── 密码长度最小值:12个字符
├── 密码最长使用期限:90天
├── 密码最短使用期限:1天
├── 强制密码历史:记住24个密码
└── 用可还原的加密来存储密码:禁用

账户锁定策略配置示例:

账户锁定策略:
├── 账户锁定阈值:5次无效登录
├── 账户锁定时间:30分钟
└── 重置账户锁定计数器:30分钟

3.2 审核策略配置

审核策略配置示例:

审核策略:
├── 审核账户登录事件:成功和失败
├── 审核账户管理:成功和失败
├── 审核登录事件:成功和失败
├── 审核对象访问:失败
├── 审核策略更改:成功和失败
├── 审核特权使用:失败
├── 审核系统事件:成功和失败
└── 审核目录服务访问:失败

3.3 配置步骤

访问本地安全策略:

  1. Win + R 打开运行对话框
  2. 输入 secpol.msc 并回车
  3. 在本地安全策略窗口中配置相应策略

四、Windows身份鉴别机制

4.1 Windows身份鉴别组件

Windows身份鉴别三大组件:

graph LR A["Windows身份鉴别系统"] B["LSA<br/>本地安全授权机构"] C["SAM<br/>安全账户管理器"] D["SID<br/>安全标识符"] A --> B A --> C A --> D B --> B1["生成SID"] B --> B2["管理安全策略"] B --> B3["验证用户身份"] C --> C1["存储用户信息"] C --> C2["以SYSTEM权限运行"] C --> C3["管理密码更改"] D --> D1["唯一标识用户"] D --> D2["用于访问控制"] D --> D3["不可更改"] style B fill:#e3f2fd,stroke:#1976d2 style C fill:#fff3e0,stroke:#f57c00 style D fill:#e8f5e9,stroke:#388e3d

4.2 LSA(本地安全授权机构)

LSA的主要职责:

LSA(Local Security Authority)职责:
├── 1. 生成SID
│   ├── 为新用户生成唯一SID
│   ├── 为新组生成唯一SID
│   └── 确保SID在系统内唯一
├── 2. 管理安全策略
│   ├── 密码策略
│   ├── 账户锁定策略
│   └── 审核策略
├── 3. 验证用户身份
│   ├── 本地登录验证
│   ├── 远程登录验证
│   └── 生成访问令牌
└── 4. 管理安全事件
    ├── 记录安全日志
    └── 处理安全事件

4.3 SAM(安全账户管理器)

SAM的存储位置和特性:

📝SAM数据库

SAM(Security Accounts Manager)存储: 📁 物理文件位置:

  • 文件路径:%SystemRoot%\system32\config\sam
  • 通常为:C:\Windows\System32\config\SAM
  • 是Windows的用户数据库 🗄️ 注册表存储:
  • 存储在注册表中
  • 注册表路径:HKEY_LOCAL_MACHINE\SAM
  • 系统进程通过SecurityAccountsManager服务访问 🔒 访问权限:
  • Administrator账户:只读
  • SYSTEM账户:可读可写
  • 普通用户:无法访问 SAM服务的关键特点:
⚠️SAM访问权限机制

SAM数据库的访问权限是分级的,不同账户有不同的访问级别。 🔒 权限级别:

  • SYSTEM账户:可读可写(最高权限)
  • Administrator账户:只读(不能直接写入)
  • 普通用户:无法访问 🛡️ 安全设计:
  • SYSTEM权限 > Administrator权限
  • SAM服务以SYSTEM权限运行
  • 防止管理员账户被盗后直接篡改密码
  • 增加系统安全性 Windows权限级别对比: | 账户类型 | 权限级别 | 说明 | 用途 | |---------|---------|------|------| | SYSTEM | ⭐⭐⭐⭐⭐ 最高 | 系统级账户 | 系统服务 | | Administrator | ⭐⭐⭐⭐ 高 | 管理员账户 | 系统管理 | | Power Users | ⭐⭐⭐ 中 | 高级用户 | 部分管理 | | Users | ⭐⭐ 低 | 普通用户 | 日常使用 | | Guest | ⭐ 最低 | 访客账户 | 临时访问 | SAM服务的主要功能:
SAM(Security Accounts Manager)功能:
├── 1. 存储用户信息
│   ├── 用户名
│   ├── 密码哈希
│   ├── SID
│   └── 组成员身份
├── 2. 管理密码更改
│   ├── 验证旧密码
│   ├── 检查密码策略
│   └── 存储新密码哈希
├── 3. 账户管理
│   ├── 创建用户
│   ├── 删除用户
│   └── 修改用户属性
├── 4. 运行权限
│   └── 以SYSTEM权限运行(不是Administrator)
└── 5. 访问控制
    ├── SYSTEM账户:可读可写
    ├── Administrator账户:只读
    └── 普通用户:无法访问

SAM的三个关键表现形式:

表现形式说明路径/位置
物理文件SAM数据库文件%SystemRoot%\system32\config\sam
注册表注册表中的SAM项HKEY_LOCAL_MACHINE\SAM
系统服务SecurityAccountsManager服务系统进程通过此服务访问

4.4 SID(安全标识符)

SID的结构:

📝🆔 SID结构

SID(Security Identifier)组成:

S-1-5-21-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-RID
│ │ │  │            │            │            │
│ │ │  │            │            │            └─ RID(相对标识符)
│ │ │  └────────────┴────────────┴──────────── 域/计算机标识符
│ │ └─ 标识符权限
│ └─ 修订级别
└─ 前缀

不包含:

  • ❌ 48比特身份特权
  • ❌ 用户和组的安全描述
  • ❌ 可变的验证值 常见的RID值: | RID | 账户 | 说明 | |-----|------|------| | 500 | Administrator | 管理员账户 | | 501 | Guest | 访客账户 | | 502 | KRBTGT | Kerberos服务账户 | | 512 | Domain Admins | 域管理员组 | | 513 | Domain Users | 域用户组 |

4.5 Windows远程登录鉴别机制演进

Windows远程登录鉴别机制的发展历程:

graph LR A["SMB鉴别机制"] --> B["LM鉴别机制"] B --> C["NTLM鉴别机制"] C --> D["Kerberos鉴别体系"] A --> A1["早期阶段"] B --> B1["安全性弱"] C --> C1["安全性提升"] D --> D1["现代标准"] style A fill:#ffebee,stroke:#c62828 style B fill:#fff3e0,stroke:#f57c00 style C fill:#e8f5e9,stroke:#388e3d style D fill:#e3f2fd,stroke:#1976d2

各阶段特点对比:

阶段时期安全性特点状态
SMB1980s⭐ 很弱明文传输密码已废弃
LM1990s⭐⭐ 弱密码哈希弱已废弃
NTLM1993+⭐⭐⭐ 中改进的哈希兼容使用
Kerberos2000+⭐⭐⭐⭐⭐ 高票据认证、相互认证现代标准
鉴别机制详解:
Windows远程登录鉴别机制演进:
├── 1. SMB鉴别机制(早期)
│   ├── 明文传输密码
│   ├── 极不安全
│   └── 已废弃
├── 2. LM鉴别机制(LAN Manager)
│   ├── 使用LM哈希
│   ├── 密码分为7字符两段
│   ├── 容易被破解
│   └── Windows Vista后默认禁用
├── 3. NTLM鉴别机制(NT LAN Manager)
│   ├── 使用MD4哈希
│   ├── 安全性有所提升
│   ├── 仍用于兼容性
│   └── 工作组环境使用
└── 4. Kerberos鉴别体系(现代)
    ├── Windows 2000后默认
    ├── 票据认证机制
    ├── 支持相互认证
    ├── 支持单点登录
    └── Active Directory域环境使用

五、总结

Windows操作系统安全配置的核心要点:

关键要点
  • Windows本地安全策略包括账号策略、本地策略、公钥策略、IP安全策略
  • 配置本地安全策略属于”制定安全策略”范畴
  • 密码策略应强制复杂性要求和定期更换
  • 账户锁定策略可防止暴力破解
  • 审核策略用于监控系统安全事件
  • LSA生成SID,SID在系统内唯一
  • SAM服务以SYSTEM权限运行,不是Administrator权限
  • Windows远程登录鉴别机制演进:SMB→LM→NTLM→Kerberos
  • SID不包含48比特身份特权,只包含标识信息
💡实践建议
  • 定期审查和更新操作系统安全配置
  • 实施强密码策略和账户锁定策略
  • 启用审核策略,监控系统安全事件
  • 关闭不必要的服务和端口
  • 定期查看安全日志