Configurer l’agent CloudWatch avec Security-Enhanced Linux (SELinux) - Amazon CloudWatch

Configurer l’agent CloudWatch avec Security-Enhanced Linux (SELinux)

Si votre système utilise Security-Enhanced Linux (SELinux), vous devez appliquer les politiques de sécurité appropriées afin que l’agent CloudWatch s’exécute dans un domaine confiné.

Prérequis

Avant de configurer SELinux pour l’agent, vérifiez que les prérequis suivants sont remplis :

Pour remplir les prérequis pour l’utilisation de l’agent CloudWatch avec SELinux
  1. Si ce n’est pas déjà fait, installez les packages de développement SELinux suivants :

    sudo yum update sudo yum install -y selinux-policy-devel policycoreutils-devel rpm-build git
  2. Exécutez la commande suivante pour vérifier l’état de SELinux sur votre système :

    sestatus

    Exemple de sortie :

    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 vous constatez que SELinux est actuellement désactivé, procédez comme suit :

    1. Ouvrez le fichier SELinux en saisissant la commande suivante :

      sudo vi /etc/selinux/config
    2. Définissez le paramètre SELINUX sur permissive ou enforcing. Par exemple :

      SELINUX=enforcing
    3. Enregistrez le fichier et redémarrez le système pour appliquer les modifications.

      sudo reboot
  3. Assurez-vous que l’agent CloudWatch s’exécute comme un service systemd. Cela est nécessaire pour qu’il puisse fonctionner dans un domaine SELinux confiné.

    sudo systemctl status amazon-cloudwatch-agent

    Si l’agent est correctement configuré, la sortie doit indiquer qu’il est active (running) et enabled au démarrage.

Configuration de SELinux pour l’agent

Une fois les prérequis terminés, vous pouvez configurer SELinux.

Pour configurer SELinux pour l’agent CloudWatch
  1. Cloner la politique SELinux pour l’agent CloudWatch en saisissant la commande suivante :

    git clone https://github.com/aws/amazon-cloudwatch-agent-selinux.git
  2. Accédez au référentiel cloné, puis mettez à jour les autorisations du script en saisissant les commandes suivantes :

    cd amazon-cloudwatch-agent-selinux chmod +x amazon_cloudwatch_agent.sh
  3. Utilisez sudo pour exécuter le script d’installation de la politique SELinux en saisissant la commande suivante. Pendant l’exécution, le script vous invite à saisir y ou n pour autoriser le redémarrage automatique. Ce redémarrage garantit que l’agent passe dans le domaine SELinux correct.

    sudo ./amazon_cloudwatch_agent.sh
  4. Si l’agent CloudWatch n’a pas encore été redémarré, redémarrez-le pour vous assurer qu’il passe dans le domaine SELinux correct :

    sudo systemctl restart amazon-cloudwatch-agent
  5. Vérifiez que l’agent CloudWatch s’exécute dans le domaine confiné en saisissant la commande suivante :

    ps -efZ | grep amazon-cloudwatch-agent

    Si l’agent est correctement confiné, la sortie doit indiquer un domaine confiné SELinux au lieu de unconfined_service_t.

    Voici un exemple de sortie lorsque l’agent est correctement confiné.

    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

Une fois SELinux configuré, vous pouvez procéder à la configuration de l’agent afin qu’il collecte les métriques, les journaux et les suivis. Pour de plus amples informations, consultez Création ou édition manuelle du fichier de configuration d'agent CloudWatch.