FIPSの有効化

Version: 10.2
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

メモ

xConnectを含むXPサービス ロールは、この機能をサポートしていません。

WindowsでUse FIPS compliant algorithms for encryption, hashing, and signingセキュリティ ポリシー オプションを有効にする場合は、Sitecoreの正しい暗号化クラスを有効にする必要があります。

このトピックでは、次の方法について説明します。

Sitecore FIPSサポートを有効にする

Sitecore FIPSサポートを有効にするには:

  1. Sitecoreインスタンスの /Website/binフォルダーに移動します。

  2. Sitecore.Kernel.dllファイルを右クリックし、Propertiesをクリックします。

  3. Detailsタブで、File versionプロパティの値を確認します。

  4. machine.configファイルを開きます。このファイルは、32ビットシステムと64ビットシステムでは異なるフォルダにあります。

    • 32ビットシステムでは、%windir%\Microsoft.NET\Framework\<DotNetVersion>\Config\machine.configフォルダにあります。

    • 64ビット システムでは、%windir%\Microsoft.NET\Framework64\<DotNetVersion>\Config\machine.configフォルダにあります。

  5. 次のノードをファイルに追加します。

    RequestResponse
    <configuration>
        <!-- Other configuration settings -->
        <mscorlib>
            <cryptographySettings>
                <cryptoNameMapping>
                    <cryptoClasses>
                        <cryptoClass AESPROXY="Sitecore.SecurityModel.Cryptography.AesCryptoServiceProviderProxy, Sitecore.Kernel, Version=XX.X.X.XXXX, Culture=neutral"/>
                    </cryptoClasses>
                    <nameEntry name="Rijndael" class="AESPROXY"/>
                    <nameEntry name="System.Security.Cryptography.Rijndael" class="AESPROXY"/>
                    <nameEntry name="System.Security.Cryptography.RijndaelManaged" class="AESPROXY"/>
                    <nameEntry name="AesManaged" class="AESPROXY"/>
                   <nameEntry name="System.Security.Cryptography.AesManaged" class="AESPROXY"/>
                </cryptoNameMapping>
            </cryptographySettings>
        </mscorlib>
    </configuration>
    

    手順3でメモしたファイル バージョン値をSitecore.Kernel.Versionの値 ( XX.X.X.XXXXとしてマーク) として使用します。

  6. 必要に応じて、インターネット インフォメーション サービスをリセットします。

WebアプリでのFIPSの暗号化の追加

WebApp自体のマシンレベルでWebAppを確実に調整することはできません。ただし、スケールアップする場合、または別の場所にCDサーバーがある場合は、次の例を使用して同じ標準キーを有効にすることができます。これらはすべて同じ暗号化を必要とするためです。

RequestResponse
protected void Application_Start()
{
    /* ... */

    var mkType = typeof(MachineKeySection);
    var mkSection = ConfigurationManager.GetSection("system.web/machineKey") as MachineKeySection;
    var rwMethod = mkType.GetMethod("Reset", BindingFlags.NonPublic | BindingFlags.Instance);

    var newConfig = new MachineKeySection();
    newConfig.ApplicationName = mkSection.ApplicationName;
    newConfig.CompatibilityMode = mkSection.CompatibilityMode;
    newConfig.DataProtectorType = mkSection.DataProtectorType;
    newConfig.Validation = mkSection.Validation;

    newConfig.ValidationKey = "XXXXXXXXXX";
    newConfig.DecryptionKey = "XXXXXXXXXX";
    newConfig.Decryption = "AES";
    newConfig.ValidationAlgorithm = "SHA1";

    rwMethod.Invoke(mkSection, new object[] { newConfig });

    /* ... */
}

何かフィードバックはありますか?

この記事を改善するための提案がある場合は、