

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 AL2023 容器中啟用 FIPS 模式
<a name="fips-mode-container"></a>

本節說明如何在 AL2023 容器中啟用聯邦資訊處理標準 (FIPS)。如需 FIPS 的詳細資訊，請參閱：
+ [美國聯邦資訊處理標準 (FIPS)](https://aws.amazon.com/compliance/fips/)
+ [法規遵循常見問題集：美國聯邦資訊處理標準](https://www.nist.gov/standardsgov/compliance-faqs-federal-information-processing-standards-fips)

**注意**  
本節說明如何在 AL2023 容器中啟用 FIPS 模式。它不涵蓋 AL2023 密碼編譯模組的認證狀態。

**先決條件**
+ 現有的 AL2023 (AL2023.2 或更新版本) Amazon EC2 執行個體可存取網際網路，以下載所需套件。如需啟動 AL2023 Amazon EC2 執行個體的詳細資訊，請參閱 [使用 Amazon EC2 主控台啟動 AL2023](ec2.md#launch-from-ec2-console)。
+ 您必須使用 SSH 或 AWS Systems Manager連線至 Amazon EC2 執行個體。如需詳細資訊，請參閱[連線至 AL2023 執行個體](connecting-to-instances.md)。

**重要**  
`fips-mode-setup` 命令無法從容器內正確運作。請閱讀下列步驟，在 AL2023 容器中正確設定 FIPS 模式。

**在 AL2023 容器中啟用 FIPS 模式**

1. 必須先在 AL2023 容器主機上啟用 FIPS 模式。依照 的指示[在 AL2023 上啟用 FIPS 模式](fips-mode.md)，在主機上啟用 FIPS 模式。

1. 使用 SSH 或 連線至 AL2023 容器主機執行個體 AWS Systems Manager。

1. 如果 AL2023 主機處於 FIPS 模式，且可從容器內存取`/proc/sys/crypto/fips_enabled`，則 AL2023 容器中會自動啟用 FIPS 模式。如果 的內容`/proc/sys/crypto/fips_enabled`為 `0`，則 FIPS 不會啟用，且 值`1`表示 FIPS 模式已啟用。

   您可以在 AL2023 主機和容器上執行下列命令，以確認 FIPS 已啟用：

   ```
   cat /proc/sys/crypto/fips_enabled
   ```

1. 接著，在容器內啟用 FIPS 加密政策。有幾種方法可以完成此操作，如以下選項所述。使用最適合您環境的選項。

   1. 使用 `update-crypto-policies`命令在容器內手動啟用 FIPS 加密政策：

      ```
      # Run these commands inside the container
      dnf install -y crypto-policies-scripts
      update-crypto-policies --set FIPS
      ```

   1. 在 AL2023 容器內建立`bind`掛載 （類似於在其他分發中的`podman`運作方式）：

      ```
      # Run these commands inside the container
      mount --bind /usr/share/crypto-policies/back-ends/FIPS /etc/crypto-policies/back-ends
      echo "FIPS" > /usr/share/crypto-policies/default-fips-config
      mount --bind /usr/share/crypto-policies/default-fips-config /etc/crypto-policies/config
      ```

   1. 您也可以建立繫結掛載，讓 AL2023 容器符合 AL2023 主機的加密政策。以下僅做為範例提供。如果容器和主機之間的加密政策和套件版本存在不相容的差異，則此組態可能會導致問題：

      ```
      sudo docker pull amazonlinux:2023
      sudo docker run --mount type=bind,readonly,src=/etc/crypto-policies,dst=/etc/crypto-policies -it amazonlinux:2023
      ```

1. 執行上述步驟後，您可以使用下列命令再次確認容器中已啟用 FIPS：

   ```
   $ cat /etc/crypto-policies/config
   FIPS
   
   $ cat /proc/sys/crypto/fips_enabled
   1
   ```