Diagnosticare e risolvere violazioni dei criteri SELinux di routine

By | Agosto 14, 2018

Nota: questo è un obiettivo d’esame RHCSA 7.
introduzione

In RHEL 7, ogni pacchetto non memorizza la propria politica SELinux. La politica di SELinux è memorizzata in un unico pacchetto chiamato selinux-policy-targeted.

Quando una politica è stata scritta per un determinato processo e SELinux è in modalità Permissive o Enforcing, tutte le azioni non consentite dalla politica di SELinux attiveranno una violazione.

La seguente procedura ti fornirà alcuni dettagli su qualsiasi violazione delle policy di SELinux.
Procedura principale

Installa il pacchetto setroubleshoot-server:

# yum install -y setroubleshoot-server

Nota: in effetti, è il pacchetto policycoreutils-python che contiene veramente il comando semanage. Tuttavia, ho sempre trovato il nome del pacchetto setroubleshoot-server, che contiene il pacchetto policycoreutils-python stesso, più facile da ricordare!

Mostra le violazioni dei criteri SELinux:

# sealert -a /var/log/audit/audit.log

Inoltre, quando si verifica un evento AVC (Access Vector Cache), è possibile acquisire la riga associata visualizzata nel file /var/log/audit/audit.log e inviarla al comando audit2why per ottenere una diagnostica.

Ad esempio, supponiamo che tu abbia questa linea nel tuo file /var/log/audit/audit.log:

type=AVC msg=audit(1415714880.156:29): avc:  denied  { name_connect } for  pid=1349 \
  comm="nginx" dest=8080 scontext=unconfined_u:system_r:httpd_t:s0 \
  tcontext=system_u:object_r:http_cache_port_t:s0 tclass=tcp_socket

Esegui questo comando per ottenere una diagnostica:

# grep 1415714880.156:29 /var/log/audit/audit.log | audit2why

        Was caused by:
        One of the following booleans was set incorrectly.
        Description:
        Allow httpd to act as a relay

        Allow access by executing:
        # setsebool -P httpd_can_network_relay 1
        Description:
        Allow HTTPD scripts and modules to connect to the network using TCP.

        Allow access by executing:
        # setsebool -P httpd_can_network_connect 1

 

Questo renderà le tue analisi molto più semplici!

One thought on “Diagnosticare e risolvere violazioni dei criteri SELinux di routine

  1. Pingback: Obiettivi esame RHCSA 7 - prometheusproject

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.