10. Security Considerations (安全注意事项)
10. Security Considerations (安全注意事项)
Overview (概述)
本节讨论 Kerberos 实现与部署中的安全注意事项. 理解这些事项对安全运行至关重要.
Fundamental Security Properties (基本安全性质)
What Kerberos Provides (Kerberos 提供的保护)
- 主体 (principal) 的身份鉴别
- 防窃听 (借助加密)
- 防篡改 (借助完整性保护)
- 防重放 (借助时间戳与 nonce)
What Kerberos Does NOT Provide (Kerberos 不提供的保护)
- 不缓解拒绝服务 (denial of service)
- 主体密钥泄露时无法继续保证安全
- 无法完全防止口令猜测
- 不提供授权 (authorization), 仅提供身份鉴别 (authentication)
Cryptographic Considerations (密码学考虑)
Key Management (密钥管理)
- 长期密钥必须保密
- 由口令派生密钥会带来脆弱性
- 强口令必不可少
- 密钥泄露影响面大
Algorithm Selection (算法选择)
- 使用强加密算法
- 弃用弱算法
- 遵循当前密码学最佳实践
- 规划算法敏捷性 (algorithm agility)
Clock Synchronization (时钟同步)
Requirements (要求)
- 各节点时钟须大致同步
- 时钟偏差容限会形成重放窗口
- 安全的时间同步必不可少
- 须保护 NTP 或同类机制
Network Considerations (网络相关考虑)
DNS Security (DNS 安全)
- DNS 响应未必可信
- 建议对 KDC 发现使用 DNSSEC
- 主机名规范化 (canonicalization) 存在风险
- 服务主体名 (service principal name) 的校验至关重要
Address Restrictions (地址限制)
- IP 地址可被伪造
- NAT 使基于地址的限制更复杂
- 可考虑无地址约束的票据 (addressless tickets)
- 不要仅依赖地址做授权决策
Cross-Realm Authentication (跨域身份鉴别)
Trust Considerations (信任相关考虑)
- 必须校验 transited realm 路径
- 不可信域可能破坏身份鉴别
- 应用服务器应校验 transited 字段
- 域间密钥建立信任关系
Password-Based Authentication (基于口令的身份鉴别)
Vulnerabilities (脆弱性)
- 可能存在离线字典攻击
- 预认证 (pre-authentication) 可降低但不能消除风险
- 强口令策略必不可少
- 可考虑额外鉴别因素
Ticket Management (票据管理)
Credential Storage (凭据存储)
- 票据生命周期越长暴露面越大
- 可续票据 (renewable tickets) 在寿命与安全间折中
- 凭据缓存 (credential cache) 须安全存储
- 须考虑前向保密 (forward secrecy)
Ticket Forwarding (票据转发)
- 转发的凭据会授予较广访问权限
- 仅向可信服务转发
- OK-AS-DELEGATE 标志提供指引
- 限制凭据转发范围
Implementation Security (实现安全)
Common Pitfalls (常见陷阱)
- 报文解析中的缓冲区溢出
- 检查时间与使用时间 (time-of-check to time-of-use) 类问题
- 针对密码实现的侧信道攻击
- 随机数生成薄弱
Best Practices (最佳实践)
- 校验所有输入
- 使用恒定时间比较 (constant-time comparisons)
- 使用安全的随机数生成
- 及时应用安全更新
Operational Security (运维安全)
Key Distribution (密钥分发)
- 初始密钥建立必须安全
- 带外 (out-of-band) 密钥分发
- 口令注册流程
- 密钥轮换策略
Monitoring and Auditing (监控与审计)
- 记录身份鉴别事件
- 监控异常活动
- 事件响应流程
- 入侵发现与处置
Deployment Considerations (部署考虑)
- 在安全与易用性间权衡
- 纵深防御 (defense in depth)
- 定期安全评估
- 遵循最小权限原则 (principle of least privilege)
Reference (参考)
更完整的安全讨论见 RFC 4120 Section 10.