ฉันจะค้นหากฎ selinux / บริบทไฟล์เริ่มต้น / etc ทั้งหมดที่มีผลต่อประเภทได้อย่างไร


10

ฉันจำเป็นต้องรู้ทุกอย่างที่เกี่ยวข้องกับชนิด selinux ในกฎปัจจุบันของระบบที่กำลังทำงานอยู่ :

  • อนุญาต, อนุญาต, ตรวจสอบ, ไม่ได้ตรวจสอบกฎ
  • ไฟล์ที่มีป้ายกำกับบริบทโดยใช้ประเภท
  • การเปลี่ยน

... และข้อมูลอื่น ๆ

มีคำสั่งใดบ้างที่ฉันสามารถใช้เพื่อค้นหาข้อมูลนั้นหรือฉันควรดาวน์โหลดแพ็คเกจ "src" ที่เกี่ยวข้องกับ selinux ทั้งหมดกรองโมดูลที่ไม่ได้ใช้งานและ grep ทุกไฟล์สำหรับข้อมูลนั้นหรือไม่ ต้องมีวิธีที่ง่ายกว่าในการทำเช่นนั้น

คำตอบ:


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)
Yanko HernándezÁlvarez

ตกลงฉันจะลดขอบเขตของคำถามเพื่อทำเครื่องหมายคำตอบนี้ว่ายอมรับแล้วแยกส่วนแรกออกเป็นคำถามอื่น
Yanko HernándezÁlvarez

@ YankoHernándezÁlvarezเชื่อหรือไม่ว่าฉันพยายามจะเข้าใจมัน ฉันโพสต์สิ่งที่ฉันพบในคำถามอื่น ๆ
dawud

สำหรับผู้ที่มองว่าคำถามอื่น ๆที่นี่
Michael Mol
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.