解决OpenVPN服务在Debian 12上报告dh key too small无法启动的问题

问题

在将OpenVPN所在的服务器系统从Debian 11升级到Debian 12后,openvpn服务无法正常启动了,查看日志,报告dh key too small,这该如何处理?

尝试

降低全局openssl安全配置

印象中之前升级到 Debian 11时也出现过类似的问题,当时将openssl的配置文件中的信任级别调低即可,因此首先尝试这种方法。在/etc/ssl/openssl.cnf中增加如下配置

修改后发现dh key too small解决了,但是又卡在了下一个问题上

再次降低全局openssl安全配置

我们把安全配置要求降低到0如何?

修改后发现问题依旧

调整openvpn配置文件

经过搜索,发现此问题也有别人报告,他们采取了如下的方案,在openvpn的配置文件中增加如下一行

然后尝试重启openvpn服务,服务就正常运行了。

最终方案

为了兼顾可用性和安全性,达成以下目的

  • 不破坏全局的Openssl安全配置
  • 确保openvpn可以正常启动
  • 不调整已经分发的openvpn配置

使用以下方案进行配置

  • 使用环境变量为openvpn指定特定的openssl配置文件
  • 修改openvpn配置文件

即,拷贝原始openssl.cnf到/etc/ssl/openssl-old.cnf,再修改CipherString = DEFAULT:@SECLEVEL=1解决dh key too small问题。

我使用supervisor来启动openvpn服务,配置文件如下,添加环境变量配置节

然后添加/etc/openvpn/server.ovpn的配置文件

重启openvpn服务后问题解决

参考

发表评论

为防机器,验证码请直接输入4个数字1

*