《安全配置基线标准应用》
第2章 安全配置原则

2. 安全配置原则

安全配置基线并非凭空制定的规则集合,而是建立在三大核心安全原则之上的实践框架。理解并贯彻这些原则,是构建稳固、可靠信息系统的基础。以下将详细阐述最小权限、默认安全与纵深防御三大原则。

2.1 最小权限原则

核心定义:任何用户、程序或进程只应拥有完成其特定任务所必需的最小权限集合。任何超出此范围的权限都应被禁止。

实施要点:

  • 账户分级:严格区分管理员、普通用户、服务账户,避免使用超级管理员账户进行日常操作。
  • 文件系统权限:对目录和文件设置严格的读、写、执行权限,遵循“按需分配”原则。
  • 网络访问控制:防火墙规则仅开放必要的端口和协议,默认拒绝所有入站连接。
  • 数据库权限:应用程序连接数据库时,仅授予SELECT、INSERT、UPDATE等必要操作权限,禁止使用DBA角色。

📘 最小权限原则示意图

用户 必需权限 读/写/执行 (仅限任务所需) ❌ 禁止权限 管理员权限 系统级操作 最小权限 = 只赋予完成任务所必需的权限,拒绝一切多余权限

2.2 默认安全原则

核心定义:系统、软件或设备在出厂或初始安装状态下,应默认采用最安全的配置。用户需要主动操作才能降低安全级别,而非主动去提升安全性。

实施要点:

  • 禁用默认账户/密码:安装后立即修改默认管理员账户名和密码,或禁用默认账户。
  • 关闭非必要服务:默认情况下,仅开启系统运行所必需的服务,如HTTP、SSH等,其余服务一律禁用。
  • 启用安全协议:默认使用TLS 1.2/1.3、SSHv2等安全协议,禁用SSLv3、TLSv1.0等不安全协议。
  • 日志审计:默认开启关键安全日志记录,如登录失败、权限变更等。

📘 默认安全原则示意图

❌ 不安全默认 • 默认密码: admin/admin • 所有端口开放 • 明文协议 • 无日志记录 需手动加固 ✅ 安全默认 • 强制修改初始密码 • 仅开放必要端口 • 强制TLS 1.2+ • 默认开启审计日志 默认安全 = 开箱即安全,降低安全风险需主动操作,而非被动加固

2.3 纵深防御原则

核心定义:不依赖单一安全机制,而是构建多层、异构的安全防护体系。即使某一层被突破,后续层仍能提供保护,从而延缓或阻止攻击。

实施要点:

  • 网络层:防火墙、入侵检测/防御系统(IDS/IPS)、网络分段。
  • 主机层:操作系统加固、主机防火墙、防病毒软件、文件完整性监控。
  • 应用层:Web应用防火墙(WAF)、输入验证、会话管理、安全编码。
  • 数据层:数据库加密、访问控制、数据脱敏、备份与恢复。

📘 纵深防御架构示意图

🌐 网络层 - 防火墙 / IDS / IPS 🖥️ 主机层 - 系统加固 / 防病毒 / HIDS 📱 应用层 - WAF / 输入验证 / 安全编码 💾 数据层 加密 / 访问控制 / 备份 数据脱敏 / 审计 攻击路径 多层阻断 纵深防御 = 多层异构防护,单点失效不影响整体安全

2.4 三大原则对比总结

原则名称 核心思想 典型应用场景 违反后果
最小权限 只给必需权限,拒绝多余权限 数据库账户、文件系统权限、服务账户 权限滥用、横向移动、数据泄露
默认安全 开箱即安全,降低安全需主动操作 系统安装、软件部署、设备初始配置 默认密码被破解、未授权访问
纵深防御 多层异构防护,不依赖单点 网络安全架构、应用安全设计 单点突破导致全线崩溃

2.5 配置示例:Linux 系统最小权限配置

以下示例展示如何在 Linux 系统中应用最小权限原则,为 Web 服务创建专用账户并限制其权限。

# 1. 创建专用服务账户(非root)
sudo useradd -r -s /sbin/nologin -M webapp

# 2. 设置网站目录权限
sudo chown -R webapp:webapp /var/www/html
sudo chmod -R 750 /var/www/html   # 所有者读写执行,组读执行,其他无权限

# 3. 限制sudo权限(仅允许特定命令)
echo "webapp ALL=(ALL) /usr/bin/systemctl restart nginx" | sudo tee /etc/sudoers.d/webapp

# 4. 配置防火墙(默认拒绝入站)
sudo ufw default deny incoming
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

# 5. 禁用root远程登录
echo "PermitRootLogin no" | sudo tee -a /etc/ssh/sshd_config
sudo systemctl restart sshd

💡 提示:以上配置遵循最小权限原则,服务账户无登录Shell,目录权限严格控制,防火墙默认拒绝所有入站连接。

专注课程资料整理