Проблема была в том, что я зашифровал тома до включения FIPS. Как garethTheRed упомянул в комментарии, LUKS использовал алгоритм, не одобренный FIPS, поэтому, когда FIPS был включен, все пошло наперекосяк.
Решение состоит в том, чтобы
В таком порядке.
Это руководство также было полезно для решения проблемы. Оно длинное, с дополнительными объяснениями, поэтому я не буду вставлять его здесь полностью. Вот суть:
A. ENABLE FIPS
Проверьте, включен ли FIPS, используя один из двух методов:
cat /proc/sys/crypto/fips_enabled
0 = не включен
1 = включен
openssl md5 /any/file
действительный хэш = не включен
"Error setting digest md5" = включено (вероятно)
Проверьте, включена ли у вас предварительная перелинковка.
vi /etc/sysconfig/prelink
Измените
PRELINKING=yes
на
PRELINKING=no
Отмените все текущие предварительные подключения
[root@centos64]# prelink -ua
Install dracut-fips
[root@centos64]# yum install dracut-fips
Пересоберите вашу initramfs
[root@centos64]# dracut -f
Найдите путь к устройству /boot
[root@centos64]# df /boot
Файловая система 1K-блоки Используется Доступно Использование% Смонтирована на
/dev/sda2 487652 115447 346605 25% /boot
cp /etc/grub.conf /etc/grub.bak
Редактируем /etc/grub.conf
Добавляем строки "fips=1" и "boot=/dev/***" в командную строку ядра
Пример:
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
Перезагрузка
Проверьте, включен ли FIPS (см. Шаг 1 выше).
B. ENCRYPT VOLUME
Вы уверены, что FIPS включен? Если нет, не продолжайте - вернитесь к ENABLE FIPS и убедитесь, что эта часть работает, прежде чем продолжать...
Получите путь к устройству логического тома, который вы хотите зашифровать. В моем примере это /dev/mapper/vg_mybox-LogVol03
СОХРАНИТЕ ВСЕ ДАННЫЕ НА ЭТОМ ТОМЕ. Он будет уничтожен.
umount
том.
В моем случае, umount /db_fips
shred -v -n1 /dev/mapper/vg_mybox-LogVol03
Зашифровать том и установить парольную фразу
cryptsetup -v --verify-passphrase luksFormat /dev/mapper/vg_mybox-LogVol03
ПРИМЕЧАНИЕ: минимальная установка RHEL может не включать cryptsetup по умолчанию. Просто yum install cryptsetup
, чтобы получить то, что вам нужно. Минимальный набор пакетов CentOS 6.7 включает cryptsetup
.
Откройте устройство и присвойте ему имя "somename" по вашему выбору (в данном случае "db_fips")
cryptsetup luksOpen /dev/mapper/vg_mybox-LogVol03 db_fips
Проверьте, что маппер имеет путь
[root@centos64]# ls /dev/mapper/db_fips
На этом этапе обращайтесь с /dev/mapper/db_fips так же, как и с любой другой файловой системой или устройством
Создайте файловую систему как обычно
[root@centos64]# mkfs -t ext4 /dev/mapper/db_fips
Смонтируйте его и проверьте
[root@centos64]# mount /dev/mapper/db_fips /db_fips
[root@centos64]# date >> /db_fips/today.txt
¡¡¡¡IMPORTANT!!! : Закомментируйте существующую запись /etc/fstab
для целевого тома, Чтобы у вас не было головной боли при перезагрузке. :-)
vi /etc/fstab
# /dev/mapper/vg_mybox-LogVol03 /some/path ext4 defaults 1,2
Перезагрузитесь, чтобы убедиться, что вышеописанные шаги работают.
получить UUID
зашифрованного тома
blkid
/dev/mapper/vg_mybox-LogVol03: UUID="2e52ffee-7a02-4c91-b6bf-223b05f90ded" TYPE="crypto_LUKS"
Добавьте зашифрованный том в /etc/crypttab
- чтобы он мог быть расшифрован при загрузке. Вы можете указать здесь passfile, но это не рекомендуется. Установите DRAC на сервер, если он будет администрироваться удаленно (чтобы можно было ввести парольную фразу при загрузке). crypttab man page
[root@centos64]# vi /etc/crypttab
db_fips UUID="2e52ffee-7a02-4c91-b6bf-223b05f90ded"
Перезагрузитесь для проверки.
Вы должны включить модуль env apache .
a2enmod env
Не регистрировать запросы, сделанные AWS ELB.
SetEnvIFNoCase User-Agent "ELB-HealthChecker/2.0" dontlog
Вам необходимо перезапустить службу Apache.
/etc/init.d/apache2 restart