[8] SELinux – SETroubleShoot
16 marca 2022Używając SETroubleShoot, możliwe jest wygenerowanie dodatkowych informacji do rozwiązywania problemów związanych z SELinux.
[1] Komunikaty z SETroubleShoot są wysyłane przez Audit Event Dispatcher do Systemd Journald (lub [/var/log/messages], jeśli Rsyslog jest włączony).
Więc musisz uruchomić Auditd, patrz tutaj.
[2] SETroubleShoot jest instalowany domyślnie, jeśli środowisko podstawowe to [Server] lub inne, ale jeśli nie, zainstaluj je.
[root@vlsr01 ~]# dnf install setroubleshoot-server
[3] Dodatkowe dzienniki odmowy AVC są rejestrowane w Systemd Journald lub [/var/log/messages], jeśli Rsyslog jest włączony.
Poniższe dzienniki to te w [/var/log/messages].
Jako, że na szybko nie posiadam logów z SELinux’a w maszynach wirtualnych pokaże logi z rzeczywistego systemu pracującego 24/7/365. Jedynie zmienię/zamarzę kluczowe dane
[root@XXXXXX ~]# grep -E 'setroubleshoot|preventing' /var/log/messages | less 4 -900 setroubleshootd Mar 14 04:00:12 lsr01 kernel: [3533895] 990 3533895 55539 14282 466944 0 -900 setroubleshootd Mar 14 04:00:12 lsr01 kernel: [3533906] 990 3533906 32618 1790 282624 0 -900 setroubleshootd . . . . . Mar 14 19:18:53 lsr01 setroubleshoot[3745486]: SELinux is preventing rhsmcertd-worke from using the sys_resource capability. For complete SELinux messages run: sealert -l c1c923b6-a251-49b7-a676-bec8efaa6c8d Mar 14 19:18:53 lsr01 setroubleshoot[3745486]: SELinux is preventing rhsmcertd-worke from using the sys_resource capability.#012#012***** Plugin sys_resource (91.4 confidence) suggests **********************#012#012If you do not want processes to require capabilities to use up all the system resources on your system;#012Then you need to diagnose why your system is running out of system resources and fix the problem.#012#012According to /usr/include/linux/capability.h, sys_resource is required to:#012#012/* Override resource limits. Set resource limits. */#012/* Override quota limits. */#012/* Override reserved space on ext2 filesystem */#012/* Modify data journaling mode on ext3 filesystem (uses journaling#012 resources) */#012/* NOTE: ext2 honors fsuid when checking for resource overrides, so#012 you can override using fsuid too */#012/* Override size restrictions on IPC message queues */#012/* Allow more than 64hz interrupts from the real-time clock */#012/* Override max number of consoles on console allocation */#012/* Override max number of keymaps */#012#012Do#012fix the cause of the SYS_RESOURCE on your system.#012#012***** Plugin catchall (9.59 confidence) suggests **************************#012#012If you believe that rhsmcertd-worke should have the sys_resource capability by default.#012Then you should report this as a bug.#012You can generate a local policy module to allow this access.#012Do#012allow this access for now by executing:#012# ausearch -c 'rhsmcertd-worke' --raw | audit2allow -M my-rhsmcertdworke#012# semodule -X 300 -i my-rhsmcertdworke.pp#012 Mar 14 19:18:54 lsr01 setroubleshoot[3745486]: SELinux is preventing rhsmcertd-worke from using the sys_resource capability. For complete SELinux messages run: sealert -l c1c923b6-a251-49b7-a676-bec8efaa6c8d
[4] W czwartym wierszu w powyższym przykładzie podano polecenie, aby zobaczyć więcej szczegółów i wyświetl logi, jak poniżej.
[root@lsr01 ~]# sealert -l 0a062f6a-4ced-4cbe-9c9d-fa8b5cb14e8f SELinux powstrzymuje /usr/bin/bash przed używaniem możliwości sys_resource. ***** Wtyczka sys_resource (91.4 zaufania) sugeruje *********************** Jeśli procesy nie powinny wymagać możliwości, aby użyć wszystkich zasobów systemowych na komputerze; Wtedy należy zdiagnozować, dlaczego systemowi brakuje zasobów systemowych i naprawić problem. Zgodnie z /usr/include/linux/capability.h, sys_resource jest wymagane do: /* Zastąpienie ograniczeń zasobów. Ustawienie ograniczeń zasobów. */ /* Zastąpienie ograniczeń przydziałów. */ /* Zastąpienie zastrzeżonego miejsca na systemie plików ext2 */ /* Modyfikacja trybu księgowania danych na systemie plików ext3 (używa zasobów księgowania) */ /* UWAGA: ext2 uwzględnia fsuid podczas sprawdzania zastąpień zasobów, więc można zastąpić także za pomocą fsuid */ /* Zastąpienie ograniczeń rozmiaru kolejek komunikatów IPC */ /* Zezwolenie na więcej niż 64 Hz przerwań z zegara czasu rzeczywistego */ /* Zastąpienie maksymalnej liczby konsol przy przydzielaniu konsol */ /* Zastąpienie maksymalnej liczby map klawiszy */ Wykonać fix the cause of the SYS_RESOURCE on your system. ***** Wtyczka catchall (9.59 zaufania) sugeruje *************************** Jeśli bash powinno mieć domyślnie możliwość sys_resource. Wtedy proszę to zgłosić jako błąd. ożna utworzyć lokalny moduł polityki, aby umożliwić ten dostęp. Wykonać można tymczasowo zezwolić na ten dostęp wykonując polecenia: # ausearch -c 'sendmail' --raw | audit2allow -M my-sendmail # semodule -X 300 -i my-sendmail.pp Dodatkowe informacje: Kontekst źródłowy system_u:system_r:system_mail_t:s0-s0:c0.c1023 Kontekst docelowy system_u:system_r:system_mail_t:s0-s0:c0.c1023 Obiekty docelowe Unknown [ capability ] Źródło sendmail Ścieżka źródłowa /usr/bin/bash Port <Unknown> Komputer lsr01.zicher.net.local Źródłowe pakiety RPM bash-4.4.20-3.el8.x86_64 Docelowe pakiety RPM Pakiet RPM polityki SELinuksa selinux-policy-targeted-3.14.3-93.el8.noarch Lokalny pakiet RPM polityki selinux-policy-targeted-3.14.3-93.el8.noarch SELinux jest włączony True Typ polityki targeted Tryb wymuszania Enforcing Nazwa komputera lsr01.zicher.net.local Platforma Linux lsr01.zicher.net.local 4.18.0-365.el8.x86_64 #1 SMP Thu Feb 10 16:11:23 UTC 2022 x86_64 x86_64 Liczba alarmów 7714 Po raz pierwszy 2022-03-15 05:20:16 CET Po raz ostatni 2022-03-15 05:22:07 CET Lokalny identyfikator 0a062f6a-4ced-4cbe-9c9d-fa8b5cb14e8f Surowe komunikaty audytu type=AVC msg=audit(1647318127.490:168011): avc: denied { sys_resource } for pid=3976205 comm="sendmail" capability=24 scontext=system_u:system_r:system_mail_t:s0-s0:c0.c1023 tcontext=system_u:system_r:system_mail_t:s0-s0:c0.c1023 tclass=capability permissive=0 type=AVC msg=audit(1647318127.490:168011): avc: denied { sys_admin } for pid=3976205 comm="sendmail" capability=21 scontext=system_u:system_r:system_mail_t:s0-s0:c0.c1023 tcontext=system_u:system_r:system_mail_t:s0-s0:c0.c1023 tclass=capability permissive=0 type=SYSCALL msg=audit(1647318127.490:168011): arch=x86_64 syscall=pipe success=yes exit=0 a0=7ffc88af7a18 a1=55905797a300 a2=15 a3=7ffc88af7a1c items=0 ppid=1 pid=3976205 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=677 comm=sendmail exe=/usr/bin/bash subj=system_u:system_r:system_mail_t:s0-s0:c0.c1023 key=(null) Hash: sendmail,system_mail_t,system_mail_t,capability,sys_resource