Як я можу запитувати всі правила selinux / контекст файлів за замовчуванням / тощо, що впливають на тип


10

Мені потрібно знати все, що стосується типу selinux, у поточних правилах запущеної системи :

  • дозволити, дозволити, донтаудити правила.
  • файли, позначені контекстом, використовуючи тип.
  • переходи.

... та будь-яку іншу інформацію.

Чи є якась команда (я), яку я можу використовувати для запиту цієї інформації, або мені слід завантажити всі "src" пакети, пов'язані з selinux, відфільтрувати модулі, які не використовуються, та зіткнути кожен файл за цією інформацією? Має бути простіший спосіб зробити це.

Відповіді:


10

Деякі команди для отримання цієї інформації є (приклади використання 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
    

Посилання: Посібник RHEL6 SELinux


чи є спосіб дізнатися, які модулі використовують вказаний тип? тобто як підключити цю інформацію до завантаженого модуля політики selinux (semodule -l)?
Янко Ернандес Альварес

Гаразд, я скорочу сферу запитання, щоб позначити цю відповідь прийнятою, і розділити перший аспект на інше.
Янко Ернандес Альварес

@ YankoHernándezÁlvarez віриш чи ні, я намагаюся це зрозуміти. Я розміщую свої висновки у вас інше питання.
dawud

Для тих, хто шукає, це інше питання тут .
Майкл Мол
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.