Bir türü etkileyen tüm selinux kurallarını / varsayılan dosya bağlamlarını / vb. Nasıl sorgulayabilirim


10

Çalışan bir sistemin geçerli kurallarında bir selinux türü ile ilgili her şeyi bilmek gerekir :

  • izin ver, izin ver, kurallara izin ver.
  • türünü kullanarak bir bağlamla etiketlenmiş dosyalar.
  • geçişler.

... ve diğer bilgiler.

Bu bilgiyi sorgulamak için kullanabileceğim herhangi bir komut (lar) var mı yoksa selinux ile ilgili tüm "src" paketlerini indirmeli, kullanılmayan modülleri filtrelemeli ve bu bilgi için her dosyayı grep etmeliyim? Bunu yapmanın daha kolay bir yolu olmalı.

Yanıtlar:


10

Bu bilgiyi elde etmek için kullanılan bazı komutlar şunlardır (örnek kullanım 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
    

Kaynaklar: RHEL6 SELinux kılavuzu


hangi modüllerin belirli bir tip kullandığını bilmenin bir yolu var mı? yani bu bilgiyi yüklü selinux politika modülüne (semodule -l) nasıl bağlayabilirim?
Yanko Hernández Álvarez

Tamam, bu cevabı kabul edilmiş olarak işaretlemek ve ilk yönü başka bir soruya ayırmak için sorunun kapsamını azaltacağım.
Yanko Hernández Álvarez

@ YankoHernándezÁlvarez inan ya da inanma, anlamaya çalışıyorum. Bulgularımı sana başka bir soruya gönderdim.
dawud

Bakanlar için, bu başka soru burada .
Michael Mol
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.