<分区>
我正在尝试设计一种方法来保护我的 HAProxy SSL 证书,同时在磁盘上休息,这样如果负载平衡器主机被黑,SSL 证书就不会坐在那里供攻击者采摘。
我意识到,至少,证书必须在内存中可用,以便 HAProxy 使用它来协商 SSL 连接。但是,我想尽一切可能确保证书安全。
如何将 ssl-cert 目录设置为 protected 和/或加密,并仅在 HAProxy 需要信息时(大概是在服务启动时)可用?
目前我看到有两种方法可以实现这一目标。
- 使用某种 linux/*nix 文件系统级加密。
这意味着修改 HAProxy init/upstart 脚本以要求特定密码或 key 文件存在于磁盘上。然后使用此密码将证书从加密的存档文件(例如 RAR 或其他什么?)中提取到 HAProxy/etc/haproxy/certs 目录中。在 HAproxy 服务启动后,使用 srm
密码/ key 文件以及/etc/haproxy/certs 目录。
- 创建一个在不同( super 安全)主机上运行的外部 API 服务管理层。该服务将存储证书并协调负载均衡器服务的重新启动和重新加载。此服务将
rsync
到 haproxy certs 目录,通过 ssh 重新启动或重新加载它,然后ssh … srm
certs 目录以安全地删除/etc/haproxy/certs 目录.
对于这些想法、任何相关经验或可以实现此安全目标的任何其他方式,我将不胜感激。
其他资源:
Here is a relevant related question on SO regarding multi-ssl HAproxy.