보안이 강화된 Linux(SELinux)로 CloudWatch 에이전트 설정 - Amazon CloudWatch

보안이 강화된 Linux(SELinux)로 CloudWatch 에이전트 설정

시스템에 보안이 강화된 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

    에이전트가 올바르게 구성되었다면 시작 시 출력에 enabledactive (running)가 표시될 것입니다.

에이전트에 대한 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 에이전트 구성 파일 생성 또는 편집 섹션을 참조하세요.