本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用安全增強型 Linux (SELinux) 設定 CloudWatch 代理程式
如果您的系統已啟用安全增強型 Linux (SELinux),必須套用適當的安全政策,以確保 CloudWatch 代理程式在受限網域中執行。
先決條件
請先確保滿足下列先決條件,再為代理程式設定 SELinux:
滿足將 CloudWatch 代理程式與 SELinux 搭配使用的先決條件
-
安裝下列 SELinux 政策開發套件 (若尚未安裝):
sudo yum update sudo yum install -y selinux-policy-devel policycoreutils-devel rpm-build git -
執行下列命令以檢查系統的 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 目前已停用,執行下列動作:
-
輸入下列命令以開啟 SELinux 檔案:
sudo vi /etc/selinux/config -
將
SELINUX參數設為permissive或enforcing。例如:SELINUX=enforcing -
儲存檔案並重新啟動系統以套用變更。
sudo reboot
-
-
確保 CloudWatch 代理程式正在以
systemd服務身分執行。這是在受限的 SELinux 網域內使用的必要條件。sudo systemctl status amazon-cloudwatch-agent如果代理程式已正確設定,啟動時的輸出應指示其狀態為
active (running)和enabled。
為代理程式設定 SELinux
滿足先決條件之後,可以設定 SELinux。
為 CloudWatch 代理程式設定 SELinux
-
輸入下列命令,以複製 CloudWatch 代理程式的 SELinux 政策:
git clone https://github.com/aws/amazon-cloudwatch-agent-selinux.git -
導覽至複製的儲存庫,然後輸入下列命令來更新指令碼許可:
cd amazon-cloudwatch-agent-selinux chmod +x amazon_cloudwatch_agent.sh -
輸入下列命令,以使用
sudo執行 SELinux 政策安裝指令碼。在執行期間,指令碼會提示您輸入y或n以允許自動重新啟動。此重新啟動可確保代理程式轉換至正確的 SELinux 網域。sudo ./amazon_cloudwatch_agent.sh -
如果 CloudWatch 代理程式未重新啟動,請重新啟動以確保其轉換到正確的 SELinux 網域:
sudo systemctl restart amazon-cloudwatch-agent -
輸入下列命令,以確認 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 代理程式組態檔案。