SELinux User: Unterschied zwischen den Versionen
| Zeile 34: | Zeile 34: | ||
<li><p>Den genauen Verstoß kann man mit '''ausearch''' anzeigen und die Behebung mit '''audit2allow''':</p> | <li><p>Den genauen Verstoß kann man mit '''ausearch''' anzeigen und die Behebung mit '''audit2allow''':</p> | ||
<ul> | <ul> | ||
| − | <li>ausearch -m AVC -ts recent</ | + | <li><p>ausearch -m AVC -ts recent</p> |
| − | + | <p>time->Tue Nov 29 09:02:06 2022 type=AVC msg=audit(1669708926.962:629): avc: denied { create } for pid=13973 comm=“ping” scontext=user_u:user_r:user_t:s0 tcontext=user_u:user_r:user_t:s0 tclass=icmp_socket permissive=0 —- time->Tue Nov 29 09:02:06 2022 type=AVC msg=audit(1669708926.962:630): avc: denied { create } for pid=13973 comm=“ping” scontext=user_u:user_r:user_t:s0 tcontext=user_u:user_r:user_t:s0 tclass=rawip_socket permissive=0 —- time->Tue Nov 29 09:02:06 2022 type=AVC msg=audit(1669708926.962:631): avc: denied { create } for pid=13973 comm=“ping” scontext=user_u:user_r:user_t:s0 tcontext=user_u:user_r:user_t:s0 tclass=icmp_socket permissive=0 —- time->Tue Nov 29 09:02:06 2022 type=AVC msg=audit(1669708926.962:632): avc: denied { create } for pid=13973 comm=“ping” scontext=user_u:user_r:user_t:s0 tcontext=user_u:user_r:user_t:s0 tclass=rawip_socket permissive=0</p></li> | |
| − | + | <li><p>ausearch -m AVC -ts recent | audit2allow -R</p></li></ul> | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | < | ||
| − | <li>ausearch -m AVC -ts recent | audit2allow -R</li></ul> | ||
<p>require { type user_t; class icmp_socket create; class rawip_socket create; }</p> | <p>require { type user_t; class icmp_socket create; class rawip_socket create; }</p> | ||
Version vom 29. November 2022, 08:34 Uhr
SELinux-Kontext des jetzigen Benutzers ausgeben
- id -Z (Ausgangseinstellung für jeden Benutzer):
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
User xinux dem SELinux User user_u zuordnen und user_ping ausschalten
- semanage login -a -s user_u xinux
- id -Z (als xinux):
user_u:user_r:user_t:s0
- setsebool user_ping 0
Ping für SELinux User user_u per eigenes Modul freischalten
- xinux
- ping localhost
Bedeutung dieser Fehlermeldung
ping sagt, dass der Socket keine Berechtigung hat
Den genauen Verstoß kann man mit ausearch anzeigen und die Behebung mit audit2allow:
ausearch -m AVC -ts recent
time->Tue Nov 29 09:02:06 2022 type=AVC msg=audit(1669708926.962:629): avc: denied { create } for pid=13973 comm=“ping” scontext=user_u:user_r:user_t:s0 tcontext=user_u:user_r:user_t:s0 tclass=icmp_socket permissive=0 —- time->Tue Nov 29 09:02:06 2022 type=AVC msg=audit(1669708926.962:630): avc: denied { create } for pid=13973 comm=“ping” scontext=user_u:user_r:user_t:s0 tcontext=user_u:user_r:user_t:s0 tclass=rawip_socket permissive=0 —- time->Tue Nov 29 09:02:06 2022 type=AVC msg=audit(1669708926.962:631): avc: denied { create } for pid=13973 comm=“ping” scontext=user_u:user_r:user_t:s0 tcontext=user_u:user_r:user_t:s0 tclass=icmp_socket permissive=0 —- time->Tue Nov 29 09:02:06 2022 type=AVC msg=audit(1669708926.962:632): avc: denied { create } for pid=13973 comm=“ping” scontext=user_u:user_r:user_t:s0 tcontext=user_u:user_r:user_t:s0 tclass=rawip_socket permissive=0
ausearch -m AVC -ts recent | audit2allow -R
require { type user_t; class icmp_socket create; class rawip_socket create; }
#============= user_t ============== allow user_t self:icmp_socket create; allow user_t self:rawip_socket create;
audit2allow Vorschlag installieren
- In diesem Fall ist der Vorschlag von audit2allow relativ sinnvoll, da der icmp_socket schon vordefiniert ist.