我有一台带 stunnel 的服务器,客户端可以连接到该服务器。每个客户端都有自己的自签名证书,该证书的副本位于服务器上的 CApath 目录中 - 因此我可以控制谁可以访问服务器,谁不能访问。
当我需要禁止某些客户端的访问时,我会删除证书并运行“service stunnel4 restart”。它工作正常,但它肯定会在重启时中断正在进行的连接。
有没有办法让 stunnel 在不重新启动的情况下看到证书不再有效?
答案1
尝试killall -HUP stunnel
版本4.30,发布日期:2010.01.21包含以下增强功能:
在 Unix 上使用 HUP 信号进行优雅配置重新加载,在 Windows 上使用 GUI 进行优雅配置重新加载。
答案2
/etc/ssl/certs
您可以为每个用户配置一个专用端口号,并将客户端证书放在具有该端口号的子目录中,例如/etc/ssl/certs/34221
。
使用该端口配置您的客户端 stunnel.conf。
每个端口启动一个 stunnel 服务器,其中stunnel.conf
包含
cert = /etc/ssl/certs/myserver_cert.pem
CAfile = /etc/ssl/certs/cacert.pem
CApath = /etc/ssl/certs/34221
这样您就分离了您的用户访问权限。