[8] SELinux – SETroubleShoot

16 marca 2022 Wyłączono przez Adam [zicherka] Nogły

Uż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