centos - Habilitar FIPS causa un error de libgcrypt
freetds (0)
Tengo dos máquinas CentOS 6.7 (servidor A y B). Las mismas versiones de paquete están instaladas en cada sistema.
La semana pasada habilité el módulo openSSH FIPS 140-2 en el Servidor A, y ese sistema funciona sin problemas (incluidas las consultas tsql a una instancia de SQL Server).
Hoy pasé por los mismos pasos en el Servidor B (en el enlace de arriba). Después de reiniciar, los fips mostraron que OK estaba habilitado y probado, pero tsql
(en la misma instancia de SQL Server) dejó de funcionar con el siguiente error:
[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
Reviso los archivos de registro y encuentro esto:
tsql: Libgcrypt warning: MD5 used - FIPS mode inactivated
Al habilitar la depuración en freetds se produjo este error adicional:
14:56:46.617196 3577 (net.c:1366):''''''handshake failed: GnuTLS internal error.
Copia de seguridad del módulo FIPS (eliminando fips = 1 de grub.conf) y reiniciando cosas configuradas y pude volver a realizar tsql
en mi instancia de SQL Server.
Ambas máquinas CentOS usan la misma versión de libgcrypt (1.4.5).
¿Por qué (o cómo) está habilitando FIPS en grub causando que libgcrypt
falle en esta máquina? Es evidente que hay algo de configuración entre las máquinas, pero no puedo detectarlo, y he agotado los recursos para encontrar dónde mirar.
NOTA 1:
Puedo reproducir el problema tsql
en el Servidor B sin habilitar FIPS 140-2 in grub, creando un archivo vacío /etc/gcrypt/fips_enabled
. Al eliminar este archivo, el sistema vuelve a la normalidad y tsql
vuelve a funcionar.
NOTA 2:
Agregar el archivo /etc/gcrypt/fips_enabled
en el Servidor A no afecta la función tsql
.
Información Adicional
libgcrypt version 1.4.5
freetds version 0.91
openssl version 1.0.1e
CentOS version 6.7