Security-Enhanced Linux (SELinux) で CloudWatch エージェントをセットアップする - Amazon CloudWatch

Security-Enhanced Linux (SELinux) で CloudWatch エージェントをセットアップする

システムで Security-Enhanced Linux (SELinux) が有効になっている場合は、適切なセキュリティポリシーを適用して、CloudWatch エージェントが制限のあるドメインで実行されるようにする必要があります。

前提条件

エージェントに SELinux を設定する前に、次の[前提条件]を確認してください。

SELinux で CloudWatch エージェントを使用するための前提条件を満たすには
  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 パラメータを permissive または enforcing に設定します。例:

      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 ポリシーのインストールスクリプトを実行します。実行中、スクリプトは y または n を入力して自動再起動を許可するように求めます。この再起動によって、エージェントが正しい SELinux ドメインに移行されます。

    sudo ./amazon_cloudwatch_agent.sh
  4. CloudWatch エージェントをまだ再起動していない場合は、再起動して正しい SELinux ドメインに移行されることを確認します。

    sudo systemctl restart amazon-cloudwatch-agent
  5. 次のコマンドを入力して、CloudWatch エージェントが制限されているドメイン内で実行中であることを確認します。

    ps -efZ | grep amazon-cloudwatch-agent

    エージェントが正しく制限されている場合、出力は unconfined_service_t ではなく SELinux で制限されているドメインを示します。

    以下は、エージェントが正しく制限されている場合の出力の例です。

    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 エージェント設定ファイルを手動で作成または編集する」を参照してください。