Come posso eseguire una query per tutte le regole di selinux / i contesti di file predefiniti / ecc che riguardano un tipo


10

Devo sapere tutto ciò che riguarda un tipo di selinux sulle regole correnti di un sistema in esecuzione :

  • consentire, autorizzare, regole dontaudit.
  • file etichettati con un contesto usando il tipo.
  • transizioni.

... e qualsiasi altra informazione.

Esistono comandi che posso utilizzare per eseguire una query per tali informazioni o devo scaricare tutti i pacchetti "src" relativi a selinux, filtrare i moduli non in uso e grep ogni file per tali informazioni? Deve esserci un modo più semplice per farlo.

Risposte:


10

Alcuni dei comandi per ottenere queste informazioni sono (esempi di utilizzo httpd_log_t):

  1. seinfo

    # seinfo -x --type=httpd_log_t /etc/selinux/default/policy/policy.26
       httpd_log_t
          file_type
          non_security_file_type
          logfile
    
  2. sesearch

    # sesearch --dontaudit -t httpd_log_t /etc/selinux/default/policy/policy.26 | head
    Found 35 semantic av rules:
        dontaudit run_init_t file_type : dir { getattr search open } ;
        dontaudit staff_t non_security_file_type : file getattr ;
        dontaudit staff_t non_security_file_type : dir { ioctl read getattr lock search open } ;
        dontaudit staff_t non_security_file_type : lnk_file getattr ;
        dontaudit staff_t non_security_file_type : sock_file getattr ;
        dontaudit staff_t non_security_file_type : fifo_file getattr ;
        dontaudit unconfined_t non_security_file_type : file getattr ;
        dontaudit unconfined_t non_security_file_type : dir { ioctl read getattr lock search open } ;
        dontaudit unconfined_t non_security_file_type : lnk_file getattr ;
    
  3. semanage

    # semanage fcontext -l | grep httpd_log_t
    /etc/httpd/logs                                    all files          system_u:object_r:httpd_log_t:s0
    /var/log/apache(2)?(/.*)?                          all files          system_u:object_r:httpd_log_t:s0
    /var/log/apache-ssl(2)?(/.*)?                      all files          system_u:object_r:httpd_log_t:s0
    /var/log/cacti(/.*)?                               all files          system_u:object_r:httpd_log_t:s0
    /var/log/cgiwrap\.log.*                            regular file       system_u:object_r:httpd_log_t:s0
    /var/log/horde2(/.*)?                              all files          system_u:object_r:httpd_log_t:s0
    /var/log/httpd(/.*)?                               all files          system_u:object_r:httpd_log_t:s0
    /var/log/lighttpd(/.*)?                            all files          system_u:object_r:httpd_log_t:s0
    /var/log/piranha(/.*)?                             all files          system_u:object_r:httpd_log_t:s0
    /var/www(/.*)?/logs(/.*)?                          all files          system_u:object_r:httpd_log_t:s0
    

Riferimenti: manuale SELH RHEL6


c'è un modo per sapere quali moduli utilizzano un tipo specificato? cioè come collegare quelle informazioni al modulo di criteri selinux caricato (semodule -l)?
Yanko Hernández Álvarez,

OK, ridurrò l'ambito della domanda per contrassegnare questa risposta come accettata e separare il primo aspetto da un'altra domanda.
Yanko Hernández Álvarez,

@ YankoHernándezÁlvarez che ci crediate o no, sto cercando di capirlo. Ho postato le mie scoperte in un'altra domanda.
Dawud,

Per quelli che guardano, quell'altra domanda è qui .
Michael Mol,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.