

# Configure o agente do CloudWatch com o Linux com segurança aprimorada (SELinux)
<a name="CloudWatch-Agent-SELinux"></a>

Se seu sistema tiver o Linux com segurança aprimorada (SELinux) habilitado, você deverá aplicar as políticas de segurança apropriadas para garantir que o agente do CloudWatch seja executado em um domínio confinado. 

## Pré-requisitos
<a name="CloudWatch-Agent-SELinux-prerequisites"></a>

Antes de configurar o SELinux para o agente, verifique os seguintes **pré-requisitos**:

**Para concluir os pré-requisitos para usar o agente do CloudWatch com o SELinux**

1. Caso você ainda não tenha feito isso, instale os seguintes pacotes de desenvolvimento de políticas do SELinux:

   ```
   sudo yum update
   sudo yum install -y selinux-policy-devel policycoreutils-devel rpm-build git
   ```

1. Execute o seguinte comando para verificar o status do SELinux do sistema:

   ```
   sestatus
   ```

   Resultado do exemplo:

   ```
   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
   ```

   Se você descobrir que o SELinux está desabilitado no momento, faça o seguinte:

   1. Abra o arquivo do SELinux ao inserir o seguinte comando:

      ```
      sudo vi /etc/selinux/config
      ```

   1. Defina o parâmetro `SELINUX` como `permissive` ou `enforcing`. Por exemplo:

      ```
      SELINUX=enforcing
      ```

   1. Salve o arquivo e reinicie o sistema para aplicar as alterações.

      ```
      sudo reboot
      ```

1. Certifique-se de que o agente do CloudWatch esteja em execução como um serviço `systemd`. Isso é necessário para uso em um domínio SELinux confinado.

   ```
   sudo systemctl status amazon-cloudwatch-agent
   ```

   Se o agente estiver configurado corretamente, a saída deverá indicar que ele está `active (running)` e `enabled` na inicialização.

## Configurar o SELinux para o agente
<a name="CloudWatch-Agent-SELinux-configure"></a>

Depois que concluir os pré-requisitos, você poderá configurar o SELinux.

**Para configurar o SELinux para o agente do CloudWatch**

1. Clone a política do SELinux para o agente do CloudWatch ao inserir o seguinte comando:

   ```
   git clone https://github.com/aws/amazon-cloudwatch-agent-selinux.git
   ```

1. Navegue até o repositório clonado e, em seguida, atualize as permissões do script ao inserir os seguintes comandos:

   ```
   cd amazon-cloudwatch-agent-selinux  
   chmod +x amazon_cloudwatch_agent.sh
   ```

1. Use `sudo` para executar o script de instalação da política do SELinux ao inserir o comando a seguir. Durante a execução, o script solicita que você insira `y` ou `n` para permitir a reinicialização automática. Essa reinicialização garante que o agente faça a transição para o domínio SELinux correto.

   ```
   sudo ./amazon_cloudwatch_agent.sh
   ```

1. Se o agente do CloudWatch ainda não tiver sido reiniciado, reinicie-o para garantir que ele faça a transição para o domínio SELinux correto:

   ```
   sudo systemctl restart amazon-cloudwatch-agent
   ```

1. Verifique se o agente do CloudWatch está em execução no domínio confinado ao inserir o seguinte comando:

   ```
   ps -efZ | grep amazon-cloudwatch-agent
   ```

   Se o agente estiver confinado corretamente, a saída deverá indicar um domínio SELinux confinado em vez de `unconfined_service_t`.

   A seguir, é mostrado um exemplo de saída quando o agente está confinado corretamente.

   ```
   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
   ```

Depois que o SELinux for configurado, você poderá continuar com a configuração do agente para coletar métricas, logs e rastreamentos. Para obter mais informações, consulte [Criar ou editar manualmente o arquivo de configuração do atendente do CloudWatch](CloudWatch-Agent-Configuration-File-Details.md).