跳到主要内容

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.