上周我启用 openSSH FIPS 140-2 模块服务器“A”上,并且该系统运行完美(包括对 SQL Server 实例的 tsql 查询)。
我最近启用 openSSH FIPS 140-2 模块在 CentOS 6.7 系统上。重新启动后,fips 显示已启用并测试正常 - 但tsql
停止工作并出现以下错误:
[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 实例。
为什么(或如何)在 grub 中启用 FIPS 导致libgcrypt
在这台机器上失败?
注意#1:
我可以tsql
通过创建一个空文件来重现该问题,而无需在 grub 中启用 FIPS 140-2 /etc/gcrypt/fips_enabled
。删除此文件将使系统恢复正常并tsql
再次运行。
附加信息
libgcrypt version 1.4.5
freetds version 0.91
openssl version 1.0.1e
CentOS version 6.7