

# Configuración del agente de CloudWatch con Linux con seguridad mejorada (SELinux)
<a name="CloudWatch-Agent-SELinux"></a>

Si su sistema tiene habilitado Linux con seguridad mejorada (SELinux), debe aplicar las políticas de seguridad adecuadas para garantizar que el agente de CloudWatch se ejecute en un dominio confinado. 

## Requisitos previos
<a name="CloudWatch-Agent-SELinux-prerequisites"></a>

Antes de poder configurar SELinux para el agente, compruebe los siguientes **requisitos previos:**

**Cómo completar los requisitos previos para usar el agente de CloudWatch con SELinux**

1. Si aún no lo ha hecho, instale los siguientes paquetes de desarrollo de políticas de SELinux:

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

1. Ejecute el siguiente comando para comprobar el estado de SELinux de su sistema:

   ```
   sestatus
   ```

   Ejemplo de código de salida:

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

   Si encuentra que SELinux está actualmente deshabilitado, haga lo siguiente:

   1. Abra el archivo SELinux introduciendo el siguiente comando:

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

   1. Establezca el parámetro `SELINUX` en `permissive` o `enforcing`. Por ejemplo:

      ```
      SELINUX=enforcing
      ```

   1. Guarde el archivo y reinicie el sistema para aplicar los cambios.

      ```
      sudo reboot
      ```

1. Asegúrese de que el agente de CloudWatch se esté ejecutando como un servicio de `systemd`. Esto es necesario para usarlo dentro de un dominio SELinux confinado.

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

   Si el agente está configurado correctamente, la salida debería indicar que está `active (running)` y `enabled` al iniciarse.

## Configuración de SELinux para el agente
<a name="CloudWatch-Agent-SELinux-configure"></a>

Después de completar los requisitos previos, puede configurar SELinux.

**Configuración de SELinux para el agente de CloudWatch**

1. Clone la política de SELinux para el agente de CloudWatch introduciendo el siguiente comando:

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

1. Navegue hasta el repositorio clonado y, a continuación, actualice los permisos del script introduciendo los siguientes comandos:

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

1. Utilice `sudo` para ejecutar el script de instalación de la política de SELinux introduciendo el siguiente comando. Durante la ejecución, el script le pide que introduzca `y` o `n` para permitir el reinicio automático. Este reinicio garantiza que el agente pase al dominio SELinux correcto.

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

1. Si el agente de CloudWatch aún no se ha reiniciado, reinícielo para asegurarse de que pasa al dominio SELinux correcto:

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

1. Verifique que el agente de CloudWatch se está ejecutando en el dominio confinado el ingresar el siguiente comando:

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

   Si el agente está confinado correctamente, la salida debería indicar un dominio confinado a SELinux en lugar de `unconfined_service_t`.

   A continuación se muestra un ejemplo de salida cuando el agente está confinado correctamente.

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

Una vez configurado SELinux, puede continuar con la configuración del agente para recopilar métricas, registros y seguimientos. Para obtener más información, consulte [Cree o edite de forma manual el archivo de configuración del agente de CloudWatch](CloudWatch-Agent-Configuration-File-Details.md).