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!
Pingback: Obiettivi esame RHCSA 7 - prometheusproject