FIPS を有効にしているとファイアウォール ポリシーのインポートが失敗する

Windows プラットフォーム サポートの望月です。

Federal Information Processing Standard (FIPS) に関するポリシーを有効にしている場合に発生する現象についてご報告致します。
FIPS は、暗号化ソフトウェアを認定するために設計されたセキュリティの実装標準を定めたもので、Windows にはこれを強制させるポリシーが存在致します。

システム暗号化: 暗号化、ハッシュ、署名のための FIPS 準拠アルゴリズムを使う
 

このポリシーを有効化した場合、TLS/SSL を用いた暗号化通信や、暗号化ファイル システム (EFS)、リモート デスクトップ サービス (RDS)、BitLocker などの機能において、FIPS に準拠しないアルゴリズムを使用するとエラーとなります。
エラーの内容として、以下のような公開情報を提供しております。

OAB generation fails if FIPS is used in an Exchange Server 2013 environment

FIX: You cannot run an ASP.NET 3.5-based application that uses a ScriptManager control

You may receive an error message when you access ASP.NET Web pages ...

"PRB: Cannot visit SSL sites after you enable FIPS compliant cryptography

"System cryptography: Use FIPS compliant algorithms for encryption, ...
 

これらは FIPS のセキュリティ要件を満たさないために発生する仕様動作ですが、今回ご報告する内容は同様の設定を起因として発生する製品不具合に該当致します。
当該事象に合致する問題が確認されました際には、大変恐れ入りますが以下の内容をご確認のうえ、対処の実施をご検討くださいますようお願い致します。

 


- 現象

セキュリティが強化された Windows ファイアウォール管理コンソールからファイアウォール ポリシー ファイル (.wfw) のインポートしようとすると、「エラー: アクセスが拒否されました。」 というダイアログ ボックスがポップアップし処理が失敗します。
受信の規則と送信の規則の設定が空になるため、既定の状態では受信方向の通信が全てブロックされます。

 


- 原因

以下のレジストリが設定されていることにより、ファイアウォール ポリシーのインポート処理において不正に権限不足と判断され処理が失敗します。
 

- キー:HKLM\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy
- 値:Enabled
- 種類:REG_DWORD
- 設定値:1 (初期値: 0)

※ レジストリ エディター (regedit.exe) より、以下の設定をご確認下さい。

 

上記設定はグループ ポリシーからも設定が可能です。

- 場所: コンピューターの構成\Windows の設定\セキュリティの設定\ローカル ポリシー\セキュリティ オプション
- ポリシー: [システム暗号化: 暗号化、ハッシュ、署名のための FIPS 準拠アルゴリズムを使う]

※ ローカル グループ ポリシー エディター (gpedit.msc) の設定箇所は以下の通りです。
※ ドメイン コントローラー上のグループ ポリシー エディター (gpmc.msc) より設定を配布している場合もございます。

 


- 対処方法

後継 OS バージョンにおいて修正を検討しております。
暫定回避策として、レジストリを以下の通り設定した後で、ファイアウォール ポリシーのインポートを実行下さい。

キー:HKLM\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy
値:Enabled
種類:REG_DWORD
設定値:0

 

 注意事項
上記レジストリを手動で変更した場合、FIPS の制限が解除されます。上記の設定の間は FIPS に準拠しないアルゴリズムの利用が可能になりますので、ファイアウォール ポリシーのインポート後は、すぐに設定を戻すことをお勧め致します。

なお、FIPS の制限を手動解除せずにファイアウォール ポリシー ファイル (拡張子 .wfw のファイル) をインポート可能なバッチ スクリプトを以下に添付致します。本スクリプトを使用することで、FIPS ポリシーの設定に依存せずインポートすることが可能です。

importwfw.zip
実行手順:
(1) ファイアウォール ポリシー ファイルをインポートするマシンに管理者権限でログオンします。
(2) 上記 importwfw.zip をダウンロードし、任意の場所に格納します。
(3) 解凍したフォルダー配下に importwfw.bat ファイルが存在することを確認します。
(4) 以下いずれかの方法でファイアウォール ポリシー ファイルのインポートを実行します。
    a. importwfw.bat ファイルを右クリックし、管理者権限で実行を選択、ファイルパスを指定してリターン キーを押下
    b. 管理者権限でコマンド プロンプトを起動し、 importwfw.bat ファイルを実行、ファイルパスを指定してリターン キーを押下
    c. 管理者権限でコマンド プロンプトを起動し、 importwfw.bat の引数にファイルパスを指定して実行

 


 対象 OS
・ Windows Vista
・ Windows 7
・ Windows 8.1
・ Windows 10 (TH1/TH2/RS1/RS2/RS3)
・ Windows Server 2008
・ Windows Server 2008 R2
・ Windows Server 2012
・ Windows Server 2012 R2
・ Windows Server 2016 (RS1/RS2/RS3)