SELinux Policy: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 28: Zeile 28:
 
== Welche Programme darf ''user_t'' ausführen? ==
 
== Welche Programme darf ''user_t'' ausführen? ==
  
* sesearch -s user_t -p execute --allow -ds
+
* sesearch -s user_t -p execute --allow -ds | head
 +
 
 +
<!----->
 +
allow user_t application_exec_type:file { execute execute_no_trans getattr ioctl lock map open read };
 +
allow user_t bin_t:file { entrypoint execute execute_no_trans getattr ioctl lock map open read };
 +
allow user_t bluetooth_helper_exec_t:file { execute getattr ioctl map open read };
 +
allow user_t cdrecord_exec_t:file { execute getattr ioctl map open read };
 +
allow user_t checkpolicy_exec_t:file { execute execute_no_trans getattr ioctl lock map open read };
 +
allow user_t chfn_exec_t:file { execute getattr ioctl map open read };
 +
allow user_t chkpwd_exec_t:file { execute getattr ioctl map open read };
 +
allow user_t chromium_exec_t:file { execute getattr ioctl map open read };
 +
allow user_t chroot_exec_t:file { execute execute_no_trans getattr ioctl lock map open read };
 +
allow user_t cifs_t:file { execute execute_no_trans getattr ioctl map open read }; [ use_samba_home_dirs ]:True
 +
* sesearch -s user_t -p execute --allow -ds | grep ping_
 +
 
 +
<!----->
 +
allow user_t ping_exec_t:file { execute getattr ioctl map open read }; [ user_ping ]:True

Version vom 9. Januar 2023, 13:28 Uhr

Regelstruktur

  • sesearch -t ping_t -c tcp_socket --allow -dt
  • Attribute werden benutzt, um Typen zu gruppieren.
  • Attribute wirken sich nicht direkt auf Berechtigungen aus, sondern entscheiden über Dinge wie File- und Portlabeling
  • Klassen werden in allow/disallow Regeln bestimmten Typen zugeordnet
  • Klassen fassen Berechtigungen zusammen

Regeln suchen

  • mit sesearch können SELinux-Regeln gesucht werden
  • suchbare Felder sind Quell (-s)-/Zieltypen (-t), Objektklasse (-c), Berechtigungen (-p) und mit der Regel assoziierte Booleans (-b)
  • mit -ds und -dt wird explizit nach dem Namen des jeweiligen Quell- und Zieltyp gesucht, statt nur nach passenden Attributen zu matchen
  • Man muss angeben, ob man nach allow-Regeln (--allow) oder nach Typentransitionsregeln (-T) sucht

Berechtigungsstruktur anhand von user_t und dem ping-Programm

Welche Programme darf user_t ausführen?

  • sesearch -s user_t -p execute --allow -ds | head
allow user_t application_exec_type:file { execute execute_no_trans getattr ioctl lock map open read };
allow user_t bin_t:file { entrypoint execute execute_no_trans getattr ioctl lock map open read };
allow user_t bluetooth_helper_exec_t:file { execute getattr ioctl map open read };
allow user_t cdrecord_exec_t:file { execute getattr ioctl map open read };
allow user_t checkpolicy_exec_t:file { execute execute_no_trans getattr ioctl lock map open read };
allow user_t chfn_exec_t:file { execute getattr ioctl map open read };
allow user_t chkpwd_exec_t:file { execute getattr ioctl map open read };
allow user_t chromium_exec_t:file { execute getattr ioctl map open read };
allow user_t chroot_exec_t:file { execute execute_no_trans getattr ioctl lock map open read };
allow user_t cifs_t:file { execute execute_no_trans getattr ioctl map open read }; [ use_samba_home_dirs ]:True
  • sesearch -s user_t -p execute --allow -ds | grep ping_
allow user_t ping_exec_t:file { execute getattr ioctl map open read }; [ user_ping ]:True