linux - 如何保护 HAProxy SSL 证书即服务?

标签 linux ubuntu ssl encryption haproxy

<分区>

我正在尝试设计一种方法来保护我的 HAProxy SSL 证书,同时在磁盘上休息,这样如果负载平衡器主机被黑,SSL 证书就不会坐在那里供攻击者采摘。

我意识到,至少,证书必须在内存中可用,以便 HAProxy 使用它来协商 SSL 连接。但是,我想尽一切可能确保证书安全。

如何将 ssl-cert 目录设置为 protected 和/或加密,并仅在 HAProxy 需要信息时(大概是在服务启动时)可用?

目前我看到有两种方法可以实现这一目标。

  1. 使用某种 linux/*nix 文件系统级加密。

这意味着修改 HAProxy init/upstart 脚本以要求特定密码或 key 文件存在于磁盘上。然后使用此密码将证书从加密的存档文件(例如 RAR 或其他什么?)中提取到 HAProxy/etc/haproxy/certs 目录中。在 HAproxy 服务启动后,使用 srm 密码/ key 文件以及/etc/haproxy/certs 目录。

  1. 创建一个在不同( super 安全)主机上运行的外部 API 服务管理层。该服务将存储证书并协调负载均衡器服务的重新启动和重新加载。此服务将 rsync 到 haproxy certs 目录,通过 ssh 重新启动或重新加载它,然后 ssh … srm certs 目录以安全地删除/etc/haproxy/certs 目录.

对于这些想法、任何相关经验或可以实现此安全目标的任何其他方式,我将不胜感激。

其他资源:

Here is a relevant related question on SO regarding multi-ssl HAproxy.

HAProxy SSL termination documentation

最佳答案

虽然这不是您问题的正确论坛,但这里有一个答案:

只需使用密码保护您的 SSL 证书。

启动 HAProxy 后,您的 SSL 库将要求输入密码。

请记住,每次启动/重新启动 HAProxy 时都需要输入密码。

关于linux - 如何保护 HAProxy SSL 证书即服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29354110/

相关文章:

linux - 通过守护进程获取当前用户登录到 Linux

Linux API : is it possible to specify `O_SYNC` option for a single `write` syscall

ubuntu - Ubuntu 14.04 LTS 中的 Genymotion 错误

ssl - LittleProxy 和公司证书

ssl - 是 golang 中的 tls.Conn "goroutine safe"吗?

node.js - 如何在Nodejs中使用Crypto加密和解密二进制数据

linux - 没有更多的镜子可用

linux - 如何在 Docker 中包含容器?

ubuntu - Pentaho 9.1 CE 服务器 - MySQL 错误时间戳

bash - 使用命令行输出将 AWK 模式与变量一起使用