主密钥轮换实践:七个步骤,三大陷阱a

关于在 Panorama、PAN-OS 防火墙及日志收集器上轮换主密钥的原则与陷阱

以下内容阐述了在 Panorama、PAN-OS 防火墙和日志收集器上轮换主密钥(Master Key)的原则与常见陷阱。具体的命令、菜单选项和检查清单请参阅完整的实施指南。

影响操作流程的硬性事实:密钥长度必须精确为 16 个字符,不能多也不能少。密钥无法从设备中读取或导出,因此一旦丢失无法恢复,且更换后无法回滚(除非恢复出厂设置)。若密钥过期,设备将重启进入维护模式,内部 SSH 密钥和证书密钥将被清零,必须执行恢复出厂设置。主密钥不会在 HA 对等体之间自动同步,必须在两个节点上手动设置。更换密钥会触发自动提交(commit),因此必须先提交所有待处理的更改。最大有效期为 18,250 天(50 年),尽管 Palo Alto Networks 建议最长为两年。无论如何,“提醒时间”(Time for Reminder)不能超过 365 天。另请注意:没有加密所用的密钥,导出的配置文件毫无用处,因此请务必将密钥与配置备份一同存档。

操作顺序:先防火墙,后 Panorama
七步原则:在 Panorama 中提交所有待处理内容并推送到设备;关闭防火墙 HA 对上的配置同步;先在受管防火墙(含 HA 对)上更换密钥;重新开启 HA 配置同步并验证;在 Panorama 上逐节点更换密钥(临时关闭 HA,并在两个对等体上手动设置相同的密钥);在日志收集器上更换密钥(其必须与 Panorama 使用相同密钥);最后重新开启 Panorama HA,重新同步所有设备并验证。防火墙先于 Panorama 操作,因为 Panorama 需要一条正常工作的管理通道来向外推送密钥。

请注意,网上最常搜到的相关操作流程(KB 文档 kA10g000000PPboCAG)已经过时。该流程描述的是 PAN-OS 8.1/9.x 版本的做法,其中会禁用防火墙上的 Panorama 配置,并会导致文档化的停机时间。从 PAN-OS 10.1 起,可通过“部署主密钥”(Deploy Master Key)直接从 Panorama 推送密钥,无需重启数据平面,也不会造成流量中断。尽管如此,仍建议在维护窗口内执行操作,因为提交时间不为零,且故障场景后果严重。

密钥策略:分割以限制影响范围
从 PAN-OS 10.1 开始,支持为每台防火墙或每个 HA 对设置唯一密钥。但有两个绑定规则始终适用:HA 对必须共享同一密钥,日志收集器必须与 Panorama 共享同一密钥。按环境自然边界(如管理平台、数据中心、分布式站点)进行三分法划分,能在风险限制和可管理性之间取得比“全局一钥”或“每设备一钥”更好的平衡。必须明确接受共享密钥的残余风险:如果共享同一密钥的组中有一台设备失陷,则该组所有设备的秘密都会暴露。必须事先定义应急场景,以便一旦发生问题,立即更换该组所有设备的密钥。密钥值应在保管库(vault)中随机生成,并放弃“每类字符至少一个”的要求——当值由工具生成时,这一要求只会降低熵值,毫无益处。

有效期:设备端设长,流程端设短
建议将设备端有效期设为十年,同时以两年为周期进行轮换操作,该周期由工单系统(而非设备自身)驱动。这是有意偏离 Palo Alto 建议的两年期限,应在风险登记册中作为偏差处理。理由如下:过期密钥比旧密钥更危险,因为忘记轮换的后果是灾难性且不可逆的,而延长有效期的后果则更多是理论上的。

Palo Alto Networks 指出,每把主密钥可生成最多 2³² 次唯一加密(在初始化向量重复之前),并以此为依据建议两年期限,但从未明确定义一次“加密”具体指什么。我们的推论(请注意这是推论,并非官方计算)是:文档所指应是与存储配置对象相关,而非流量体积——主密钥加密的是 SSL 正向代理使用的私钥,而不是每一个解密会话。另需注意,初始化向量重用问题特指 AES-256-GCM(级别 2),并不以同样方式影响 AES-256-CBC(级别 1)。

尽管如此,Palo Alto Networks 仍建议使用级别 2。我们建议在轮换过程中保持级别不变,并将可能的升级计划作为单独事项处理,具体理由见实施指南。

由于“提醒时间”最大只能设为 365 天,设备自身的提醒会在十年有效期中的第 9 年才触发,因此无法驱动两年轮换周期。轮换周期应依赖于保管库标记和带有截止日期的工单,在设置密钥的同一天创建。此外,主密钥也应列入任何保管库、Panorama 或防火墙迁移的检查清单,因为密钥丢失只会在有人需要使用它时才会被发现。

三项试点发现
在全部设备之前先对一台防火墙进行测试,发现了三个未公开的情况:

  • 正在进行的内容更新会暂时阻止密钥更换,但该错误是无害的,且只影响单台设备。

  • Panorama 可能在设备实际完成之前就报告“成功”,因此请先检查任务管理器,再查看系统日志。

  • 部署对话框中的设备选择器会记住上一次的选择,所以每次务必检查所选范围,否则某些设备可能被取消选择,从而停留在默认密钥上而不被察觉。

从 12.2.2 开始的自动部署,附带一个陷阱
从 PAN-OS 12.2.2 起,Panorama 上的设备主密钥可以在新防火墙首次连接时自动推送。这需要同时满足两个条件:在“自动部署设备的主密钥配置”(Master Key Configuration for Auto Deployed Devices)中设置密钥,并在正确的模板堆栈(Template Stack)中勾选“自动推送”选项。如果未勾选,则不会执行任何操作,也不会显示任何错误信息。此时防火墙将保持在默认密钥状态,并带有一个无人知晓的倒计时期限。请在 Panorama > Managed Devices > Summary 中逐设备验证:列“Default Master Key Enabled”应显示 No,“Days Remaining to Configure Custom Master Key”应显示 Not Applicable。