启用FIPS会导致libgcrypt错误

时间:2015-08-10 19:23:19

标签: centos freetds fips libgcrypt

我有两台CentOS 6.7机器(服务器A和B)。每个系统上都安装了相同的软件包版本。

上周我在服务器A上enabled the openSSH FIPS 140-2 module,该系统完美运行(包括对SQL Server实例的tsql查询)。

今天我在服务器B上执行了相同的步骤(在上面的链接中)。重新启动后,fips显示已启用并已经过测试确定 - 但是tsql(对于同一个SQL Server实例)已停止使用以下错误:

[serverB ~]# tsql -S egServer80 -U myusername
Password: 
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20002 (severity 9):
    Adaptive Server connection failed
There was a problem connecting to the server

我检查日志文件并找到它:

tsql: Libgcrypt warning: MD5 used - FIPS mode inactivated

在freetds中启用调试会产生以下额外错误:

14:56:46.617196 3577 (net.c:1366):'''handshake failed: GnuTLS internal error.

退出FIPS模块(从grub.conf中删除fips = 1)并重新启动设置,我又能tsql进入我的SQL Server实例。

两台CentOS计算机都使用相同的libgcrypt版本(1.4.5)。

为什么(或如何)在grub中启用FIPS导致libgcrypt在这台机器上失败?显然机器之间的某些配置已关闭,但我无法发现它,并且有耗尽资源,寻找下一步的目标。

注意#1:

我可以通过创建空文件tsql来重现服务器B上的/etc/gcrypt/fips_enabled问题,而无需在grub中启用FIPS 140-2。删除此文件会将系统恢复正常,tsql会再次运行。

注意#2:

在服务器A上添加文件/etc/gcrypt/fips_enabled根本不会影响tsql功能。

其他信息

libgcrypt version 1.4.5
freetds version 0.91
openssl version 1.0.1e
CentOS version 6.7

0 个答案:

没有答案