使用安全增強型 Linux (SELinux) 設定 CloudWatch 代理程式 - Amazon CloudWatch

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

使用安全增強型 Linux (SELinux) 設定 CloudWatch 代理程式

如果您的系統已啟用安全增強型 Linux (SELinux),必須套用適當的安全政策,以確保 CloudWatch 代理程式在受限網域中執行。

先決條件

請先確保滿足下列先決條件,再為代理程式設定 SELinux:

滿足將 CloudWatch 代理程式與 SELinux 搭配使用的先決條件
  1. 安裝下列 SELinux 政策開發套件 (若尚未安裝):

    sudo yum update sudo yum install -y selinux-policy-devel policycoreutils-devel rpm-build git
  2. 執行下列命令以檢查系統的 SELinux 狀態:

    sestatus

    輸出範例:

    SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: permissive Mode from config file: permissive Policy MLS status: enabled Policy deny_unknown status: allowed Memory protection checking: actual (secure) Max kernel policy version: 33

    如果發現 SELinux 目前已停用,執行下列動作:

    1. 輸入下列命令以開啟 SELinux 檔案:

      sudo vi /etc/selinux/config
    2. SELINUX 參數設為 permissiveenforcing。例如:

      SELINUX=enforcing
    3. 儲存檔案並重新啟動系統以套用變更。

      sudo reboot
  3. 確保 CloudWatch 代理程式正在以 systemd 服務身分執行。這是在受限的 SELinux 網域內使用的必要條件。

    sudo systemctl status amazon-cloudwatch-agent

    如果代理程式已正確設定,啟動時的輸出應指示其狀態為 active (running)enabled

為代理程式設定 SELinux

滿足先決條件之後,可以設定 SELinux。

為 CloudWatch 代理程式設定 SELinux
  1. 輸入下列命令,以複製 CloudWatch 代理程式的 SELinux 政策:

    git clone https://github.com/aws/amazon-cloudwatch-agent-selinux.git
  2. 導覽至複製的儲存庫,然後輸入下列命令來更新指令碼許可:

    cd amazon-cloudwatch-agent-selinux chmod +x amazon_cloudwatch_agent.sh
  3. 輸入下列命令,以使用 sudo 執行 SELinux 政策安裝指令碼。在執行期間,指令碼會提示您輸入 yn 以允許自動重新啟動。此重新啟動可確保代理程式轉換至正確的 SELinux 網域。

    sudo ./amazon_cloudwatch_agent.sh
  4. 如果 CloudWatch 代理程式未重新啟動,請重新啟動以確保其轉換到正確的 SELinux 網域:

    sudo systemctl restart amazon-cloudwatch-agent
  5. 輸入下列命令,以確認 CloudWatch 代理程式正在受限的網域中執行:

    ps -efZ | grep amazon-cloudwatch-agent

    如果已正確限制代理程式,輸出應指示 SELinux 受限的網域,而非 unconfined_service_t

    以下是正確限制代理程式時的輸出範例。

    system_u:system_r:confined_t:s0 root 1234 1 0 12:00 ? 00:00:10 /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent

設定 SELinux 之後,您可以繼續設定代理程式,讓其收集指標、日誌和追蹤。如需詳細資訊,請參閱手動建立或編輯 CloudWatch 代理程式組態檔案