Configurazione dell'agente CloudWatch con Linux con sicurezza avanzata (SELinux) - Amazon CloudWatch

Configurazione dell'agente CloudWatch con Linux con sicurezza avanzata (SELinux)

Se sul sistema è abilitato Linux con sicurezza avanzata (SELinux), è necessario applicare le policy di sicurezza appropriate per garantire che l'agente CloudWatch funzioni in un dominio confinato.

Prerequisiti

Prima di poter configurare SELinux per l'agente, verifica i seguenti prerequisiti:

Per soddisfare i prerequisiti per l'utilizzo dell'agente CloudWatch con SELinux
  1. Se questa verifica non è ancora stata eseguita, installa i seguenti pacchetti di sviluppo di policy SELinux:

    sudo yum update sudo yum install -y selinux-policy-devel policycoreutils-devel rpm-build git
  2. Esegui il comando seguente per verificare lo stato SELinux del tuo sistema:

    sestatus

    Output di esempio:

    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 rilevi che SELinux è attualmente disabilitato, procedi come indicato di seguito:

    1. Apri il file SELinux immettendo il seguente comando:

      sudo vi /etc/selinux/config
    2. Imposta il parametro SELINUX su permissive o enforcing. Per esempio:

      SELINUX=enforcing
    3. Salva il file e riavvia il sistema per applicare le modifiche.

      sudo reboot
  3. Verifica che l'agente CloudWatch sia in esecuzione come servizio systemd. Questo è necessario per utilizzarlo all'interno di un dominio SELinux confinato.

    sudo systemctl status amazon-cloudwatch-agent

    Se l'agente è configurato correttamente, l'output dovrebbe indicare che è active (running) e enabled all'avvio.

Configurazione di SELinux per l'agente

Dopo aver sodisfatto tutti i prerequisiti, puoi configurare SELinux.

Per configurare SELinux per l'agente CloudWatch
  1. Clona la policy SELinux per l'agente CloudWatch immettendo il seguente comando:

    git clone https://github.com/aws/amazon-cloudwatch-agent-selinux.git
  2. Passa al repository clonato e quindi aggiorna le autorizzazioni dello script immettendo i seguenti comandi:

    cd amazon-cloudwatch-agent-selinux chmod +x amazon_cloudwatch_agent.sh
  3. Utilizza sudo per eseguire lo script di installazione della policy SELinux immettendo il seguente comando. Durante l'esecuzione, lo script richiede di inserire y o n per consentire il riavvio automatico. Questo riavvio assicura che l'agente passi al dominio SELinux corretto.

    sudo ./amazon_cloudwatch_agent.sh
  4. Se l'agente CloudWatch non è ancora stato riavviato, riavvialo per assicurarti che passi al dominio SELinux corretto:

    sudo systemctl restart amazon-cloudwatch-agent
  5. Immetti il comando seguente per confermare che l'agente CloudWatch è in esecuzione nel dominio confinato:

    ps -efZ | grep amazon-cloudwatch-agent

    Se l'agente è confinato correttamente, l'output dovrebbe indicare un dominio confinato con SELinux anziché unconfined_service_t.

    Di seguito è riportato un esempio di output quando l'agente è confinato correttamente.

    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

Dopo la configurazione di SELinux, è possibile procedere alla configurazione dell'agente per raccogliere metriche, log e tracce. Per ulteriori informazioni, consulta Creazione o modifica manuale del file di configurazione dell'agente CloudWatch.