

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

# 手動安裝安全代理程式
<a name="installing-gdu-security-agent-ec2-manually"></a>

GuardDuty 提供下列兩種方法，可在您的 Amazon EC2 執行個體上安裝 GuardDuty 安全代理程式。在繼續之前，請務必遵循 下的步驟[先決條件 – 手動建立 Amazon VPC 端點](creating-vpc-endpoint-ec2-agent-manually.md)。

選擇偏好的存取方法，在您的 Amazon EC2 資源中安裝安全代理程式。
+ [方法 1 - 使用 AWS Systems Manager](#install-gdu-by-using-sys-runtime-monitoring) – 此方法需要 AWS Systems Manager 管理 Amazon EC2 執行個體。
+ [方法 2 - 使用 Linux 套件管理員](#install-gdu-by-rpm-scripts-runtime-monitoring) – 無論您的 Amazon EC2 執行個體是否受 AWS Systems Manager 管，都可以使用此方法。根據您的[作業系統分佈](https://docs.aws.amazon.com/guardduty/latest/ug/prereq-runtime-monitoring-ec2-support.html#validating-architecture-req-ec2)，您可以選擇適當的方法來安裝 RPM 指令碼或 Debian 指令碼。如果您使用 *Fedora* 平台，則必須使用此方法來安裝代理程式。

## 方法 1 - 使用 AWS Systems Manager
<a name="install-gdu-by-using-sys-runtime-monitoring"></a>

若要使用此方法，請確定您的 Amazon EC2 執行個體受到 AWS Systems Manager 管理，然後安裝代理程式。

### AWS Systems Manager 受管 Amazon EC2 執行個體
<a name="manage-ssm-ec2-instance-runtime-monitoring"></a>

請使用下列步驟來管理 Amazon EC2 執行個體 AWS Systems Manager 。
+ [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) 可協助您end-to-end管理 AWS 應用程式和資源，並大規模啟用安全操作。

  若要使用 管理您的 Amazon EC2 執行個體 AWS Systems Manager，請參閱*AWS Systems Manager 《 使用者指南*》中的[設定 Amazon EC2 執行個體的 Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up-ec2.html)。
+ 下表顯示新的 GuardDuty 受 AWS Systems Manager 管文件：    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/guardduty/latest/ug/installing-gdu-security-agent-ec2-manually.html)

  如需詳細資訊 AWS Systems Manager，請參閱[《 使用者指南》中的 Amazon EC2 Systems Manager 文件](https://docs.aws.amazon.com/systems-manager/latest/userguide/documents.html)。 *AWS Systems Manager *
**針對 Debian 伺服器**  
提供的 AWS Debian Server Amazon Machine Image (AMIs) 需要您安裝 AWS Systems Manager 代理程式 (SSM 代理程式）。您需要執行額外的步驟來安裝 SSM 代理程式，讓 Amazon EC2 Debian Server 執行個體 SSM 受管。如需有關您需要採取之步驟的資訊，請參閱*AWS Systems Manager 《 使用者指南*》中的在 [Debian Server 執行個體上手動安裝 SSM 代理](https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-deb.html)程式。

**使用 安裝 Amazon EC2 執行個體的 GuardDuty 代理程式 AWS Systems Manager**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇**文件**

1. 在 **Amazon 擁有中**，選擇 `AmazonGuardDuty-ConfigureRuntimeMonitoringSsmPlugin`。

1. 選擇 **Run Command (執行命令)**。

1. 輸入下列 Run Command 參數
   + 動作：選擇**安裝**。
   + 安裝類型：選擇**安裝或解除安裝。**
   + 名稱：`AmazonGuardDuty-RuntimeMonitoringSsmPlugin`
   + 版本：如果保留空白，您會取得最新版本的 GuardDuty 安全代理程式。如需發行版本的詳細資訊，請參閱[Amazon EC2 執行個體的 GuardDuty 安全代理程式版本](runtime-monitoring-agent-release-history.md#ec2-gdu-agent-release-history)。

1. 選取目標 Amazon EC2 執行個體。您可以選取一或多個 Amazon EC2 執行個體。如需詳細資訊，請參閱*AWS Systems Manager 《 使用者指南*》中的[AWS Systems Manager 從主控台執行命令](https://docs.aws.amazon.com/systems-manager/latest/userguide/running-commands-console.html) 

1. 驗證 GuardDuty 代理程式安裝是否正常運作。如需詳細資訊，請參閱[驗證 GuardDuty 安全代理程式安裝狀態](#validate-ec2-gdu-agent-installation-healthy)。

## 方法 2 - 使用 Linux 套件管理員
<a name="install-gdu-by-rpm-scripts-runtime-monitoring"></a>

使用此方法，您可以執行 RPM 指令碼或 Debian 指令碼來安裝 GuardDuty 安全代理程式。根據作業系統，您可以選擇偏好的方法：
+ 使用 RPM 指令碼在作業系統分佈 AL2、AL2023、RedHat、CentOS 或 Fedora 上安裝安全代理程式。
+ 使用 Debian 指令碼在作業系統分佈 Ubuntu 或 Debian 上安裝安全代理程式。如需有關支援的 Ubuntu 和 Debian 作業系統分佈的資訊，請參閱 [驗證架構需求](prereq-runtime-monitoring-ec2-support.md#validating-architecture-req-ec2)。

------
#### [ RPM installation ]
**重要**  
建議您先驗證 GuardDuty 安全代理程式 RPM 簽章，再將其安裝在機器上。

1. 驗證 GuardDuty 安全代理程式 RPM 簽章

   1. 

**準備範本**

      使用適當的公有金鑰、x86\_64 RPM 的簽章、 arm64 RPM 的簽章，以及 Amazon S3 儲存貯體中託管之 RPM 指令碼的對應存取連結來準備命令。取代 AWS 區域、 AWS 帳戶 ID 和 GuardDuty 代理程式版本的值，以存取 RPM 指令碼。
      + **公有金鑰**：

        ```
        s3://{{694911143906}}-{{eu-west-1}}-guardduty-agent-rpm-artifacts/{{1.15.0}}/publickey.pem
        ```
      + **GuardDuty 安全代理程式 RPM 簽章**：  
x86\_64 RPM 的簽章  

        ```
        s3://{{694911143906}}-{{eu-west-1}}-guardduty-agent-rpm-artifacts/{{1.15.0}}/x86_64/amazon-guardduty-agent-{{1.15.0}}.x86_64.sig
        ```  
arm64 RPM 的簽章  

        ```
        s3://{{694911143906}}-{{eu-west-1}}-guardduty-agent-rpm-artifacts/{{1.15.0}}/arm64/amazon-guardduty-agent-{{1.15.0}}.arm64.sig
        ```
      + **Amazon S3 儲存貯體中 RPM 指令碼的存取連結**：  
x86\_64 RPM 的存取連結  

        ```
        s3://{{694911143906}}-{{eu-west-1}}-guardduty-agent-rpm-artifacts/{{1.15.0}}/x86_64/amazon-guardduty-agent-{{1.15.0}}.x86_64.rpm
        ```  
arm64 RPM 的存取連結  

        ```
        s3://{{694911143906}}-{{eu-west-1}}-guardduty-agent-rpm-artifacts/{{1.15.0}}/arm64/amazon-guardduty-agent-{{1.15.0}}.arm64.rpm
        ```    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/guardduty/latest/ug/installing-gdu-security-agent-ec2-manually.html)

   1. 

**下載範本**

      在下列命令中，下載適當的公有金鑰、x86\_64 RPM 的簽章、 arm64 RPM 的簽章，以及 Amazon S3 儲存貯體中託管之 RPM 指令碼的對應存取連結，請務必將帳戶 ID 取代為適當的 AWS 帳戶 ID，並將區域取代為目前區域。

      ```
      aws s3 cp s3://{{694911143906}}-{{eu-west-1}}-guardduty-agent-rpm-artifacts/{{1.15.0}}/x86_64/amazon-guardduty-agent-{{1.15.0}}.x86_64.rpm ./amazon-guardduty-agent-{{1.15.0}}.x86_64.rpm
      aws s3 cp s3://{{694911143906}}-{{eu-west-1}}-guardduty-agent-rpm-artifacts/{{1.15.0}}/x86_64/amazon-guardduty-agent-{{1.15.0}}.x86_64.sig ./amazon-guardduty-agent-{{1.15.0}}.x86_64.sig
      aws s3 cp s3://{{694911143906}}-{{eu-west-1}}-guardduty-agent-rpm-artifacts/{{1.15.0}}/publickey.pem ./publickey.pem
      ```

   1. 

**匯入公有金鑰**

      使用下列命令將公有金鑰匯入資料庫：

      ```
      gpg --import publickey.pem
      ```

      gpg 顯示匯入成功

      ```
      gpg: key 093FF49D: public key "AwsGuardDuty" imported
      gpg: Total number processed: 1
      gpg:               imported: 1  (RSA: 1)
      ```

   1. 

**驗證簽章**

      使用下列命令來驗證簽章

      ```
      gpg --verify amazon-guardduty-agent-{{1.15.0}}.x86_64.sig amazon-guardduty-agent-{{1.15.0}}.x86_64.rpm
      ```

      如果驗證通過，您會看到類似以下結果的訊息。您現在可以繼續使用 RPM 安裝 GuardDuty 安全代理程式。

      輸出範例：

      ```
      gpg: Signature made Fri 17 Nov 2023 07:58:11 PM UTC using ? key ID 093FF49D
      gpg: Good signature from "AwsGuardDuty"
      gpg: WARNING: This key is not certified with a trusted signature!
      gpg:          There is no indication that the signature belongs to the owner.
      Primary key fingerprint: 7478 91EF 5378 1334 4456  7603 06C9 06A7 093F F49D
      ```

      如果驗證失敗，表示 RPM 上的簽章可能遭到竄改。您必須從資料庫移除公有金鑰，然後重試驗證程序。

      範例：

      ```
      gpg: Signature made Fri 17 Nov 2023 07:58:11 PM UTC using ? key ID 093FF49D
      gpg: BAD signature from "AwsGuardDuty"
      ```

      使用下列命令從資料庫移除公有金鑰：

      ```
      gpg --delete-keys AwsGuardDuty
      ```

      現在，請再次嘗試驗證程序。

1. [從 Linux 或 macOS 連線至 SSH](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-linux-inst-ssh.html)。

1. 使用下列命令安裝 GuardDuty 安全代理程式：

   ```
   sudo rpm -ivh amazon-guardduty-agent-{{1.15.0}}.x86_64.rpm
   ```

1. 驗證 GuardDuty 代理程式安裝是否正常運作。如需步驟的詳細資訊，請參閱 [驗證 GuardDuty 安全代理程式安裝狀態](#validate-ec2-gdu-agent-installation-healthy)。

------
#### [ Debian installation ]
**重要**  
建議您先驗證 GuardDuty 安全代理程式 Debian 簽章，再將其安裝在機器上。

1. 驗證 GuardDuty 安全代理程式 Debian 簽章

   1. 

**為適當的公有金鑰、amd64 Debian 套件的簽章、 arm64 Debian 套件的簽章，以及 Amazon S3 儲存貯體中託管的 Debian 指令碼的對應存取連結準備範本**

      在下列範本中，取代 AWS 區域、 AWS 帳戶 ID 和 GuardDuty 代理程式版本的值，以存取 Debian 套件指令碼。
      + **公有金鑰**：

        ```
        s3://{{694911143906}}-{{eu-west-1}}-guardduty-agent-deb-artifacts/{{1.15.0}}/publickey.pem
        ```
      + **GuardDuty 安全代理程式 Debian 簽章**：  
amd64 的簽章  

        ```
        s3://{{694911143906}}-{{eu-west-1}}-guardduty-agent-deb-artifacts/{{1.15.0}}/amd64/amazon-guardduty-agent-{{1.15.0}}.amd64.sig
        ```  
arm64 的簽章  

        ```
        s3://{{694911143906}}-{{eu-west-1}}-guardduty-agent-deb-artifacts/{{1.15.0}}/arm64/amazon-guardduty-agent-{{1.15.0}}.arm64.sig
        ```
      + **Amazon S3 儲存貯體中 Debian 指令碼的存取連結**：  
amd64 的存取連結  

        ```
        s3://{{694911143906}}-{{eu-west-1}}-guardduty-agent-deb-artifacts/{{1.15.0}}/amd64/amazon-guardduty-agent-{{1.15.0}}.amd64.deb
        ```  
arm64 的存取連結  

        ```
        s3://{{694911143906}}-{{eu-west-1}}-guardduty-agent-deb-artifacts/{{1.15.0}}/arm64/amazon-guardduty-agent-{{1.15.0}}.arm64.deb
        ```    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/guardduty/latest/ug/installing-gdu-security-agent-ec2-manually.html)

   1. 

**下載適當的公有金鑰、amd64 的簽章、arm64 的簽章，以及 Amazon S3 儲存貯體中託管的 Debian 指令碼的對應存取連結**

      在下列命令中，將帳戶 ID 取代為適當的 AWS 帳戶 ID，並將區域取代為您目前的區域。

      ```
      aws s3 cp s3://{{694911143906}}-{{eu-west-1}}-guardduty-agent-deb-artifacts/{{1.15.0}}/amd64/amazon-guardduty-agent-{{1.15.0}}.amd64.deb ./amazon-guardduty-agent-{{1.15.0}}.amd64.deb
      aws s3 cp s3://{{694911143906}}-{{eu-west-1}}-guardduty-agent-deb-artifacts/{{1.15.0}}/amd64/amazon-guardduty-agent-{{1.15.0}}.amd64.sig ./amazon-guardduty-agent-{{1.15.0}}.amd64.sig
      aws s3 cp s3://{{694911143906}}-{{eu-west-1}}-guardduty-agent-deb-artifacts/{{1.15.0}}/publickey.pem ./publickey.pem
      ```

   1. 將公有金鑰匯入資料庫

      ```
      gpg --import publickey.pem
      ```

      gpg 顯示匯入成功

      ```
      gpg: key 093FF49D: public key "AwsGuardDuty" imported
      gpg: Total number processed: 1
      gpg:               imported: 1  (RSA: 1)
      ```

   1. 驗證簽章

      ```
      gpg --verify amazon-guardduty-agent-{{1.15.0}}.amd64.sig amazon-guardduty-agent-{{1.15.0}}.amd64.deb
      ```

      成功驗證後，您會看到類似下列結果的訊息：

      輸出範例：

      ```
      gpg: Signature made Fri 17 Nov 2023 07:58:11 PM UTC using ? key ID 093FF49D
      gpg: Good signature from "AwsGuardDuty"
      gpg: WARNING: This key is not certified with a trusted signature!
      gpg:          There is no indication that the signature belongs to the owner.
      Primary key fingerprint: 7478 91EF 5378 1334 4456  7603 06C9 06A7 093F F49D
      ```

      您現在可以繼續使用 Debian 安裝 GuardDuty 安全代理程式。

      不過，如果驗證失敗，表示 Debian 套件中的簽章可能遭到竄改。

      範例：

      ```
      gpg: Signature made Fri 17 Nov 2023 07:58:11 PM UTC using ? key ID 093FF49D
      gpg: BAD signature from "AwsGuardDuty"
      ```

      使用下列命令從資料庫移除公有金鑰：

      ```
      gpg --delete-keys AwsGuardDuty
      ```

      現在，請重試驗證程序。

1. [從 Linux 或 macOS 連線至 SSH](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-linux-inst-ssh.html)。

1. 使用下列命令安裝 GuardDuty 安全代理程式：

   ```
   sudo dpkg -i amazon-guardduty-agent-{{1.15.0}}.amd64.deb
   ```

1. 驗證 GuardDuty 代理程式安裝是否正常運作。如需步驟的詳細資訊，請參閱 [驗證 GuardDuty 安全代理程式安裝狀態](#validate-ec2-gdu-agent-installation-healthy)。

------

## 記憶體不足錯誤
<a name="out-of-memory-error-ec2-instal-agent-manual"></a>

如果您在手動安裝或更新 Amazon EC2 的 GuardDuty 安全代理程式`out-of-memory`時發生錯誤，請參閱 [故障診斷記憶體不足錯誤](troubleshooting-guardduty-runtime-monitoring.md#troubleshoot-ec2-cpu-out-of-memory-error)。

## 驗證 GuardDuty 安全代理程式安裝狀態
<a name="validate-ec2-gdu-agent-installation-healthy"></a>

在您執行安裝 GuardDuty 安全代理程式的步驟之後，請使用下列步驟來驗證代理程式的狀態：

**驗證 GuardDuty 安全代理程式是否正常運作**

1. [從 Linux 或 macOS 連線至 SSH](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-linux-inst-ssh.html)。

1. 執行下列命令來檢查 GuardDuty 安全代理程式的狀態：

   ```
   sudo systemctl status amazon-guardduty-agent
   ```

如果您想要檢視安全代理程式安裝日誌，可在 下使用`/var/log/amzn-guardduty-agent/`。

若要檢視日誌，請執行 `sudo journalctl -u amazon-guardduty-agent`。