O problema é que eu criptografei os volumes antes de ativar o FIPS. Como garethTheRed mencionado em comentário , LUKS usou um algoritmo aprovado não FIPS foi maluco.
A solução é para
- Ativar FIPS
- Criptografar volumes
nessa ordem.
Este guia também foi útil na solução do problema. É demorado com uma explicação extra, então não vou copiar e colar a coisa toda aqui. Aqui está o jist:
HABILITAR FIPS
-
Verifique se o FIPS está ativado usando um dos dois métodos:
cat /proc/sys/crypto/fips_enabled 0 = not enabled 1 = enabled openssl md5 /any/file valid hash = not enabled "Error setting digest md5" = enabled (likely)
-
Verifique se você está preparando o prelinking.
vi /etc/sysconfig/prelink Change PRELINKING=yes to PRELINKING=no
-
Desfazer todos os pré-testes atuais
[root@centos64]# prelink -ua
-
Instale
dracut-fips
[root@centos64]# yum install dracut-fips
-
Reconstrua seu initramfs
[root@centos64]# dracut -f
-
Encontre o caminho do dispositivo de
/boot
[root@centos64]# df /boot Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda2 487652 115447 346605 25% /boot
-
cp /etc/grub.conf /etc/grub.bak
-
Edite o
/etc/grub.conf
Add in the "fips=1" and "boot=/dev/***" lines to the kernel command line Example: kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/mapper/vg_centos6464bittempl-lv_root rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 rd_LVM_LV=vg_centos6464bittempl/lv_swap rd_LVM_LV=vg_centos6464bittempl/lv_root rd_NO_MD crashkernel=auto SYSFONT=latarcyrheb-sun16 rd_NO_DM rhgb quiet fips=1 boot=/dev/sda2
-
Reinicializar
-
Verifique se o FIPS está ativado (consulte a Etapa 1 acima).
B. ENCRYPT VOLUME
-
Tem certeza de que o FIPS está ativado? Caso contrário, não continue - volte para ENABLE FIPS e verifique se a peça está funcionando antes de continuar ...
-
Obtenha o caminho do dispositivo do volume lógico que você deseja criptografar. No meu exemplo, isso é
/dev/mapper/vg_mybox-LogVol03
-
BACK UP TODOS OS DADOS DO VOLUME. Será DESTRUÍDO.
-
umount
volume.No meu caso,
umount /db_fips
-
shred -v -n1 /dev/mapper/vg_mybox-LogVol03
-
Criptografar volume e definir frase secreta
cryptsetup -v --verify-passphrase luksFormat /dev/mapper/vg_mybox-LogVol03
OBSERVAÇÃO : uma instalação mínima do RHEL pode não incluir o cryptsetup por padrão. Apenas
yum install cryptsetup
para obter o que você precisa. O pacote mínimo de pacotes do CentOS 6.7 incluicryptsetup
. -
Abra o dispositivo e alias para "somename" de sua escolha (neste caso, "db_fips")
cryptsetup luksOpen /dev/mapper/vg_mybox-LogVol03 db_fips
-
Verificar se o mapeador tem o caminho
[root@centos64]# ls /dev/mapper/db_fips At this point, treat /dev/mapper/db_fips as you would any ordinary filesystem or device
-
Crie um sistema de arquivos como normalmente faria
[root@centos64]# mkfs -t ext4 /dev/mapper/db_fips
-
Monte-o e verifique-o
[root@centos64]# mount /dev/mapper/db_fips /db_fips [root@centos64]# date >> /db_fips/today.txt
-
¡¡¡IMPORTANTE !!! : Comente a entrada
/etc/fstab
existente para o volume de destino, para evitar dores de cabeça durante a reinicialização.:-)
vi /etc/fstab
# /dev/mapper/vg_mybox-LogVol03 /some/path ext4 defaults 1,2
-
Reinicialize para garantir que as etapas acima estejam funcionando.
-
obtenha
UUID
do volume criptografadoblkid
/dev/mapper/vg_mybox-LogVol03: UUID="2e52ffee-7a02-4c91-b6bf-223b05f90ded" TYPE="crypto_LUKS"
-
Adicione volume criptografado a
/etc/crypttab
- para que ele possa ser descriptografado na inicialização. Você pode especificar um passfile aqui, mas não é recomendado. Instale o DRAC no servidor, se ele for administrado remotamente (para que você possa inserir a frase secreta durante a inicialização). página de manual do crypttab[root@centos64]# vi /etc/crypttab db_fips UUID="2e52ffee-7a02-4c91-b6bf-223b05f90ded"
-
Reinicialize para testar.