4

asp .net x64 アプリケーションで fips を無効にしたい。web.configに追加しました

<runtime>
    <enforceFIPSPolicy enabled = "false">
</runtime>

デバッグを false に設定しました。

しかし、私のアプリケーションは動作しません。< configSections > で実行時セクションを宣言する必要がありますか? はいの場合、それは適切な行ですか

<section name="runtime" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
4

1 に答える 1

7

ソリューションは IIS >= 7.5 でのみ機能します

IIS では、Web アプリケーションの web.config を介してこの設定を操作できるようには見えません。回避策の 1 つは、専用のアプリケーション プール (または複数) を作成し、アプリケーション プールの CLR を FIPS 強制を無効にして構成することです。 IIS 7.5 では、アプリケーション プールの .NET 構成ファイルを指定するために使用できるCLRConfigFile プロパティが導入されました。これにより、machine.config またはグループ ポリシー設定で無効にするショットガン アプローチの代わりに、構成が影響を与えるアプリケーションをより細かく制御できます。

1.c:\inetpub\AppPoolClrConfig\noFipsWeb.config次の内容の構成ファイルを作成します (ファイルの場所と名前は重要ではありません)。

<configuration>
    <runtime>
        <enforceFIPSPolicy enabled = "false" />
    </runtime> 
</configuration>

2. アプリケーション プールを実行する ID に、ファイルの読み取りアクセス許可を付与します。

icacls c:\inetpub\AppPoolClrConfig\noFipsWeb.config /grant "IIS APPPOOL\YourAppPoolName":(R)

3. プールのCLRConfigFileプロパティを設定して、この構成ファイルをロードするようにアプリケーション プールを構成します。

コマンド:

%windir%\System32\inetsrv\appcmd.exe set config  -section:system.applicationHost/applicationPools /[name='{AppPoolName}'].CLRConfigFile:"{FilePath}"  /commit:apphost

サンプル:

%windir%\System32\inetsrv\appcmd.exe set config  -section:system.applicationHost/applicationPools /[name='YourAppPoolName'].CLRConfigFile:"c:\inetpub\AppPoolClrConfig\noFipsWeb.config"  /commit:apphost

IIS 7.5 のバグにより、managedRuntimeLoaderプロパティもクリアする必要があります。クリアしないCLRConfigFileと無視されます。

%windir%\System32\inetsrv\appcmd.exe set config  -section:system.applicationHost/applicationPools /[name='YourAppPoolName'].managedRuntimeLoader:""  /commit:apphost

4.IIS を再起動します。上記のアプリケーション プールを使用している Asp.NET アプリケーションは、FIPS を無視する必要があります。

クレジット:

Scott Forsythは、標準の aspnet.config ファイルとは異なる CLR ファイルを使用するようにアプリ プールを構成する方法を説明してくれました。

CLRConfigFile プロパティを無視した IIS 7.5 のバグを文書化してくれた Jose Reyes

于 2016-08-10T08:17:21.673 に答える