Bagaimana saya bisa meminta semua aturan selinux / konteks file default / dll yang mempengaruhi suatu jenis

10

Saya perlu tahu segala sesuatu yang terkait dengan jenis selinux pada aturan saat ini sistem berjalan :

  • bolehkan, allowaudit, jangan aturanaudit.
  • file yang dilabeli dengan konteks menggunakan tipe.
  • transisi.

... dan info lainnya.

Apakah ada perintah yang dapat saya gunakan untuk menanyakan informasi itu atau haruskah saya mengunduh semua paket "src" yang terkait dengan selinux, memfilter modul-modul yang tidak digunakan dan menerima setiap file untuk info itu? Pasti ada cara yang lebih mudah untuk melakukan itu.

Yanko Hernández Álvarez
sumber

Jawaban:

10

Beberapa perintah untuk mendapatkan info ini adalah (contoh gunakan 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
    

Referensi: RHEL6 SELinux manual

dawud
sumber
apakah ada cara untuk mengetahui modul mana yang menggunakan tipe yang ditentukan? yaitu bagaimana menghubungkan info itu ke modul kebijakan selinux yang dimuat (semodule -l)?
Yanko Hernández Álvarez
OK, saya akan mengurangi cakupan pertanyaan untuk menandai jawaban ini diterima dan memisahkan aspek pertama dengan pertanyaan lain.
Yanko Hernández Álvarez
@ YankoHernándezÁlvarez percaya atau tidak, saya sudah mencoba mencari tahu. Saya sudah memposting temuan saya di Anda pertanyaan lain.
dawud
Bagi mereka yang mencari, pertanyaan lain ada di sini .
Michael Mol