GNU/Linux >> Linux Esercitazione >  >> Linux

3 Spiegazione dell'output del comando di SELinux sestatus con esempi

sestatus sta per SELinux status.

Questo comando viene utilizzato per visualizzare lo stato corrente di SELinux in esecuzione sul sistema.

Questo tutorial spiega quanto segue:

  1. Spiegazione dell'output del comando sestatus con dettagli
  2. Visualizza il contesto di sicurezza degli oggetti selezionati in stato
  3. Visualizza i valori booleani in stato

1. sestatus Spiegazione dell'output del comando

sestatus visualizzerà se SELinux è abilitato o disabilitato. Questo mostrerà anche informazioni aggiuntive su alcune delle impostazioni di SELinux che sono spiegate qui.

Quello che segue è il comando sestatus sul sistema CentOS 7. Nella versione precedente di CentOS/RedHat questo output sarà leggermente diverso.

# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28

Nota:nell'output sopra, "modalità corrente" è la riga più importante a cui dovresti prestare attenzione, come spiegato di seguito.

Stato di SELinux: Questo indica se il modulo SELinux stesso è abilitato o disabilitato sul tuo sistema. Tieni presente che anche se questo potrebbe dire abilitato, ma SELinux potrebbe ancora non essere tecnicamente abilitato (applicato), il che è effettivamente indicato dalla riga "modalità corrente" spiegata di seguito.

Montaggio SELinuxfs: Questo è il punto di montaggio del filesystem temporaneo di SELinux. Questo è usato internamente da SELinux. Questo è ciò che farai se provi a fare un ls su questo filesystem SELinux. Per il nostro scopo pratico, non possiamo manipolare nulla in questa directory, poiché è gestita internamente da SELinux.

# ls -l /sys/fs/selinux
total 0
-rw-rw-rw-.  1 root root    0 Jun  4 22:16 access
dr-xr-xr-x.  2 root root    0 Jun  4 22:16 avc
dr-xr-xr-x.  2 root root    0 Jun  4 22:16 booleans
-rw-r--r--.  1 root root    0 Jun  4 22:16 checkreqprot
..
..
-r--r--r--.  1 root root    0 Jun  4 22:16 policy
-rw-rw-rw-.  1 root root    0 Jun  4 22:16 relabel
-r--r--r--.  1 root root    0 Jun  4 22:16 status
-rw-rw-rw-.  1 root root    0 Jun  4 22:16 user

Directory principale di SELinux: Qui è dove si trovano tutti i file di configurazione di SELinux. Per impostazione predefinita, vedrai i seguenti file e directory. Questa directory contiene tutti i file di configurazione necessari per il funzionamento di SELinux. Puoi modificare questi file.

# ls -l /etc/selinux
total 8
-rw-r--r--. 1 root root  546 May  1 19:08 config
drwx------. 2 root root    6 May  1 19:09 final
-rw-r--r--. 1 root root 2321 Jan 17 18:33 semanage.conf
drwxr-xr-x. 7 root root  215 May  1 19:09 targeted
drwxr-xr-x. 2 root root    6 Jan 17 18:33 tmp

Nome criterio caricato: Questo indicherà quale tipo di politica SELinux è attualmente caricata. In quasi tutte le situazioni comuni, vedrai "mirato" come la politica di SELinux, poiché questa è la politica predefinita. Di seguito sono riportate le possibili policy di SELinux disponibili:

  • mirato – Ciò significa che solo i processi mirati sono protetti da SELinux
  • minimo:si tratta di una leggera modifica della politica mirata. In questo caso, solo pochi processi selezionati sono protetti.
  • mls – Questo è per la protezione di sicurezza multilivello. MLS è piuttosto complesso e praticamente non utilizzato nella maggior parte delle situazioni.

Modalità attuale: Questo indica se SELinux sta attualmente applicando le politiche o meno. In altre parole, tecnicamente questo ti dirà se SELinux è attualmente abilitato e in esecuzione sul tuo sistema o meno.

Di seguito sono elencate le possibili modalità di SELinux:

  • enforcing:indica che la politica di sicurezza di SELinux è stata applicata (ovvero SELinux è abilitato)
  • permissivo – Indica che SELinux stampa avvisi invece di imporre. Questo è utile durante il debug quando vuoi sapere cosa potrebbe potenzialmente bloccare SELinux (senza bloccarlo realmente) guardando i log di SELinux.
  • disabilitato – Nessuna politica SELinux caricata.

Per il nostro scopo pratico, far rispettare è uguale a abilitato. permissive e disabilitato è uguale a disabilitato.

Lo stato della politica MLS indica lo stato corrente della politica MLS. Per impostazione predefinita sarà abilitato.

Lo stato di negazione_sconosciuta della politica indica lo stato corrente del flag di negazione_sconosciuta nella nostra politica. Per impostazione predefinita, verrà impostato su consentito.

La versione massima della politica del kernel indica la versione corrente della politica di SELinux che è in noi. In questo esempio, è la versione 28.

Quello che segue è l'output di sestatus su CentOS e RedHat 6.

# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   enforcing
Mode from config file:          enforcing
Policy version:                 24
Policy from config file:        targeted

Se vuoi disabilitare SELinux sul tuo sistema, puoi usare uno di questi metodi:4 metodi efficaci per disabilitare SELinux temporaneamente o permanentemente

2. Visualizza il contesto di sicurezza degli oggetti selezionati in stato

Usando l'opzione -v, insieme al normale stato di selinux, puoi anche visualizzare il contesto di SELinux per file e processi selezionati.

Quello che segue è l'output predefinito dell'opzione sestatus -v:

# sestatus -v
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28

Process contexts:
Current context:                unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Init context:                   system_u:system_r:init_t:s0
/usr/sbin/sshd                  system_u:system_r:sshd_t:s0-s0:c0.c1023

File contexts:
Controlling terminal:           unconfined_u:object_r:user_devpts_t:s0
/etc/passwd                     system_u:object_r:passwd_file_t:s0
/etc/shadow                     system_u:object_r:shadow_t:s0
/bin/bash                       system_u:object_r:shell_exec_t:s0
/bin/login                      system_u:object_r:login_exec_t:s0
/bin/sh                         system_u:object_r:bin_t:s0 -> system_u:object_r:shell_exec_t:s0
/sbin/agetty                    system_u:object_r:getty_exec_t:s0
/sbin/init                      system_u:object_r:bin_t:s0 -> system_u:object_r:init_exec_t:s0
/usr/sbin/sshd                  system_u:object_r:sshd_exec_t:s0

Nell'output sopra:

  • La sezione Contesti di processo mostra il contesto SELinux di alcuni processi selezionati. Puoi aggiungere il tuo processo a questo elenco aggiungendolo al file /etc/sestatus.conf. Come vedi qui, mostra il contesto di sicurezza del processo sshd.
  • La sezione Contesti dei file mostra il contesto SELinux di alcuni file selezionati. Puoi aggiungere i tuoi file personalizzati a questo elenco aggiungendoli al file /etc/sestatus.conf. Come puoi vedere nell'output sopra, mostra il contesto di sicurezza di password, shadow e pochi altri file.
  • Inoltre, se il file che hai specificato è un collegamento simbolico, verrà visualizzato anche il contesto del file di destinazione.
    Questa sezione mostrerà sempre il contesto di sicurezza del processo corrente, del processo init e del controllo contesto del file dei terminali.

Quella che segue è l'impostazione predefinita del file /etc/sestatus.conf. Aggiungi i tuoi file personalizzati alla sezione [file] e aggiungi il tuo processo personalizzato alla sezione [processo].

# cat /etc/sestatus.conf 
[files]
/etc/passwd
/etc/shadow
/bin/bash
/bin/login
/bin/sh
/sbin/agetty
/sbin/init
/sbin/mingetty
/usr/sbin/sshd
/lib/libc.so.6
/lib/ld-linux.so.2
/lib/ld.so.1

[process]
/sbin/mingetty
/sbin/agetty
/usr/sbin/sshd

3. Visualizza valori booleani in stato

Usando l'opzione -b, puoi visualizzare lo stato corrente dei booleani come mostrato di seguito.

Come mostrato di seguito, a parte il tipico output di sestatus, nella sezione "Policy booleans:", questo visualizzerà i valori booleani di SELinux correnti per tutti i parametri.

# sestatus -b | more
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28

Policy booleans:
abrt_anon_write                             off
abrt_handle_event                           off
abrt_upload_watch_anon_write                on
antivirus_can_scan_system                   off
antivirus_use_jit                           off
auditadm_exec_content                       on
authlogin_nsswitch_use_ldap                 off
authlogin_radius                            off
authlogin_yubikey                           off
awstats_purge_apache_log_files              off
boinc_execmem                               on
cdrecord_read_content                       off
...
...
...
xend_run_blktap                             on
xend_run_qemu                               on
xguest_connect_network                      on
xguest_exec_content                         on
xguest_mount_media                          on
xguest_use_bluetooth                        on
xserver_clients_write_xshm                  off
xserver_execmem                             off
xserver_object_manager                      off
zabbix_can_network                          off
zarafa_setrlimit                            off
zebra_write_config                          off
zoneminder_anon_write                       off
zoneminder_run_sudo                         off

L'output sopra in genere mostra ciò che vedresti nell'output del comando getsebool. cioè il comando "sestatus -b" sopra è equivalente a eseguire i seguenti due comandi:

sestatus

getsebool -a

Linux
  1. Spiegazione del comando di taglio di Linux con 6 esempi

  2. Comando di spegnimento di Linux spiegato con esempi

  3. Il comando nslookup Linux spiegato con esempi

  4. Comando Traceroute di Linux, spiegato con esempi

  5. comando whoami in Linux spiegato con esempi

Il comando Tr in Linux spiegato con esempi

w Comando spiegato con esempi in Linux

Wait Command in Linux spiegato con esempi pratici

Spiegazione del comando tee di Linux (con esempi)

Spiegazione del comando csplit di Linux (con esempi)

sestatus Esempi di comandi in Linux