本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用安全增強型 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
如果代理程式已正確設定,輸出應該會指出它在啟動
enabled
時為active (running)
和 。
為代理程式設定 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 Agent 在受限網域中執行:
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 代理程式組態檔案。