我有两个不同的 Watchguard XTM 515 防火墙。每个都有自己的一组 VPN 在其中创建。
现在我只需要使用一个防火墙来处理两者的 VPN。但问题是我不知道 VPN 的 PSK(我加入我的工作后继承了那些防火墙)。要求客户更改 PSK 对我来说不是一个选择。
现在我知道当我导出防火墙的配置(XML 文件)时,它包括所有 VPN 的 PSK。这就是将该配置恢复到另一个防火墙的原因。但我不知道如何获得这些 PSK。我用纯文本编辑器检查配置 XML 文件,似乎它们是加密的(这并不奇怪)。但它们必须使用静态密钥加密,因为此配置可以上传到任何防火墙。只是我不知道解密方案和密钥。
现在我的目标当然不是破解 Watchguard XML 配置文件的加密。我需要做的就是将两个防火墙合并为一个。我考虑过手动合并从两个防火墙导出的 XML 配置文件的部分,但这似乎是一项艰巨的任务。
请您帮忙推荐一种将两个不同 Watchguard 防火墙的 VPN 合并为一个的方法吗?
没错,它们是用静态密钥加密的,方案是AES Key Wrap Algorithm (RFC 3394)。你可以解密它们。
我采用了这个公共领域的 C# 库,将其剥离为仅解密函数并将其移植到 PowerShell,因此它适合 StackOverflow 答案,不需要编译或二进制文件。
它不漂亮,没有错误检查或任何东西,但它似乎工作:
例如
我不认为发布这是一个安全问题 - 任何可以获取防火墙配置文件的攻击者都已经通过了安全性,在防火墙或管理工作站上。配置不包含设备管理登录凭据。在不权衡许多其他问题的情况下,他们无法做太多其他事情来加密配置文件中的内容。阻止密码出现在纯文本搜索和索引中确实是一个实用层。
除了@TessellatingHeckler 发布的答案之外,还有另一种非技术方法可以将 VPN 从一个守卫转移到另一个守卫。我最终使用了这种方法,它就像一个魅力。
old.xml
。new.xml
。old.xml
。覆盖 VPN 中的 PSK 字符串new.xml
。new.xml
背面应用到新防火墙。这个想法是我们对 PSK 的价值不感兴趣。我们只想迁移它。那么为什么不直接迁移加密值呢?由于每个 Firebox 的加密都是相同的,我们可以迁移加密的 PSK。
同时重置两端网关的密码,并记录新的密码。将该新密码应用于新配置并保存到 firebox。