私のアプリケーションの1つでソフトウェアディスク暗号化を使用している間は、OpenSSL用のFIPSを有効にする必要があります。
仮想マシン#1
インストール中にソフトウェア暗号化を使用してCentOS VMインスタンスを起動しました。システムは正常に起動します(起動復号化パスワードを入力した後)。
次に、次のステップを完了しました。FIPS-OpenSSLを有効にするそして再起動してください。システムは、私の起動復号化パスワード(意図的に入力しやすいパスワード)を許可しません。
仮想マシン #2
別の同じOS /構成を使用して2番目のVMを設定しました。ソフトウェア暗号化なし。上記の手順を使用してFIPSを有効にして再起動し、すべてが正常に動作し、再起動時に問題はありませんでした。
仮想マシン #3
3番目のCentOS VMインスタンスを起動し、インストール中にシステム暗号化を無効にすることを選択しました。インストールとデフォルト設定の後、luksを使用してテストボリュームを暗号化して再起動しました。パスワードの入力を求められたら、システムは正常に起動します。
次に私はFIPS-OpenSSLを有効にする、再起動 - エラーがたくさん発生します。通常、起動パスワードが表示され、システムは起動しません。
このVMをシングルユーザーモードで起動し、カーネルラインからfips = 1を取得して再起動しました。今回はスタートパスワードが承認されました。
...
OpenSSL用のFIPSを有効にすると起動暗号化が失敗するのはなぜですか?
ベストアンサー1
問題は、FIPSを有効にする前にボリュームを暗号化したことです。 〜のようにガレスレッドで言及コメント、LUKS は FIPS が承認されていないアルゴリズムを使用するため、FIPS が有効になると状況が異常になる可能性があります。
解決策は
- FIPSの有効化
- 暗号化されたボリューム
そのような順序で。
このガイドトラブルシューティングにも役立ちます。かなり長くて追加の説明があるので、ここに全内容をコピーして貼り付けません。ポイントは次のとおりです。
A. FIPS 有効化
次の 2 つの方法のいずれかを使用して、FIPS が有効になっていることを確認します。
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)
事前接続がオンになっていることを確認してください。
vi /etc/sysconfig/prelink Change PRELINKING=yes to PRELINKING=no
現在のすべての辞書リンクを元に戻す
[root@centos64]# prelink -ua
インストールする
dracut-fips
[root@centos64]# yum install dracut-fips
initramfsを再構築してください。
[root@centos64]# dracut -f
デバイスパスを探す
/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
編集する
/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
再起動
FIPSが有効になっていることを確認してください(上記のステップ1を参照)。
B. 暗号化されたボリューム
FIPSは有効ですか?それ以外の場合は続行しないでください。 - 戻る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 At this point, treat /dev/mapper/db_fips as you would any ordinary filesystem or device
通常どおりファイルシステムを作成します。
[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
重要! ! !
/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
起動時に復号化できるように、暗号化されたボリュームを-に追加します。ここではパスワードファイルを指定できますが、これはお勧めできません。 サーバーをリモートで管理するには、サーバーにDRACをインストールします(起動中にパスワードを入力できるように)。 crypttab のマニュアルページ[root@centos64]# vi /etc/crypttab db_fips UUID="2e52ffee-7a02-4c91-b6bf-223b05f90ded"
テストのために再起動してください。