《默认安全原则落地指南》
第4章 默认拒绝原则
4. 默认拒绝原则:白名单机制、默认关闭所有端口与服务、例外审批流程
📌 核心思想
默认拒绝(Default Deny) 是网络安全中最基础也最有效的防御原则之一。其核心理念是:一切未被明确允许的访问、流量、操作,均视为非法并予以拒绝。 这与“默认允许”的宽松策略形成鲜明对比,能够极大缩小攻击面,防止因配置遗漏导致的安全事件。
在企业安全架构中,默认拒绝原则通常通过以下三个关键机制落地:白名单机制、默认关闭所有端口与服务、例外审批流程。
4.1 白名单机制
白名单(Allowlist)是一种基于许可的安全模型,只有预先批准的实体(IP地址、应用程序、域名、用户等)才能通过。与黑名单相比,白名单的管理成本更高,但安全性也显著提升。
白名单实施要点
| 维度 | 白名单策略 | 示例 |
|---|---|---|
| 网络层 | 仅允许已知可信 IP 段访问管理接口 | allow src 10.0.0.0/8 dst port 22 |
| 应用层 | 仅允许签名认证的应用程序执行 | AppLocker / SELinux 策略 |
| 域名/URL | 仅允许访问业务必需的域名 | 代理白名单:*.company.com |
| 用户/角色 | 仅允许特定角色执行敏感操作 | RBAC + 特权账号管理 |
💡 最佳实践: 白名单应定期审计,移除不再使用的条目。建议采用“先记录后阻断”模式,在初期先记录违规流量,评估影响后再开启严格阻断。
4.2 默认关闭所有端口与服务
在服务器、网络设备、终端上,所有端口和服务默认处于关闭状态,仅按需开放必要的端口。这是减少攻击面的最直接手段。据统计,超过60%的安全事件与未关闭的闲置端口或服务有关。
端口与服务管理清单
| 服务类型 | 默认端口 | 建议策略 | 备注 |
|---|---|---|---|
| SSH (远程管理) | 22/TCP | 仅限内网或VPN访问 | 禁用密码登录,使用密钥 |
| HTTP/HTTPS | 80, 443/TCP | 仅开放443,80重定向至443 | 配置WAF防护 |
| 数据库 (MySQL/PostgreSQL) | 3306, 5432/TCP | 仅允许应用服务器访问 | 禁止公网暴露 |
| ICMP (Ping) | N/A | 默认关闭,按需开启 | 防止信息泄露 |
| 其他未知服务 | 所有 | 默认拒绝 | 定期扫描验证 |
🔧 落地工具: 使用
nmap 定期扫描开放端口,结合 netstat -tulpn 检查监听服务。容器环境建议使用最小化基础镜像,从源头减少服务数量。
4.3 例外审批流程
严格的默认拒绝策略在实际业务中可能遇到“合法但未被允许”的请求。此时需要建立例外审批流程,在安全与业务之间取得平衡。所有例外必须是临时、可追溯、有期限的。
例外审批流程关键要素
- 申请模板化: 统一《安全例外申请表》,包含申请原因、影响范围、持续时间、回退方案。
- 分级审批: 低风险例外由安全负责人审批;高风险例外需安全委员会 + 业务VP 双签。
- 强制有效期: 所有例外必须设置过期时间(最长不超过30天),到期自动失效并关闭权限。
- 审计与复盘: 每月汇总例外清单,分析是否存在可永久化的规则,减少例外数量。
⚠️ 重要提醒: 例外不等于永久豁免。每次例外到期后,应重新评估是否仍需保留。建议将例外管理纳入安全运营中心(SOC)的日常监控指标。
📊 本章总结
| 原则 | 核心动作 | 关键指标 | 常见误区 |
|---|---|---|---|
| 白名单机制 | 建立允许列表,拒绝其他所有 | 白名单覆盖率 100% | 白名单条目过多失去意义 |
| 默认关闭端口与服务 | 最小化开放,定期扫描验证 | 开放端口数 ≤ 业务必需数 | 忘记关闭测试端口 |
| 例外审批流程 | 申请→评估→审批→监控→回收 | 例外数量趋势下降 | 例外变成永久规则 |
🎯 行动清单:
- 本周内完成所有服务器端口扫描,关闭非必要端口。
- 建立应用白名单基线,配置默认拒绝策略。
- 制定例外审批流程文档,并在安全工具中配置自动过期。