Jak skonfigurować PAM do inspekcji aktywności użytkownika powłoki rejestrującej
To nasza ciągła seria na temat audytu systemu Linux. W czwartej części tego artykułu wyjaśnimy, jak skonfigurować PAM do audytu danych wejściowych Linux TTY (rejestrowanie aktywności użytkownika powłoki). dla konkretnych użytkowników korzystających z narzędzia pam_tty_audit.
Linux PAM (Wtykowe moduły uwierzytelniające) to wysoce elastyczna metoda wdrażania usług uwierzytelniania w aplikacjach i różnych usługach systemowych; wyłonił się z oryginalnego Unix PAM.
Dzieli funkcje uwierzytelniania na cztery główne moduły zarządzania, a mianowicie: moduły konta, moduły uwierzytelniania, moduły haseł i moduły sesji . Szczegółowe wyjaśnienie tych grup zarządzania wykracza poza zakres tego samouczka.
Narzędzie auditd korzysta z modułu pam_tty_audit PAM, aby włączyć lub wyłączyć kontrolę danych wejściowych TTY dla określonych użytkowników. Gdy użytkownik zostanie skonfigurowany do audytu, pam_tty_audit współpracuje z auditd, aby śledzić działania użytkownika na terminalu i, jeśli jest skonfigurowany, rejestruje dokładne naciśnięcia klawiszy przez użytkownika, następnie zapisuje je w pliku /var/log/audit/audit.log.
Konfigurowanie PAM do sprawdzania danych wejściowych TTY użytkownika w systemie Linux
Możesz skonfigurować PAM do kontrolowania danych wejściowych TTY poszczególnych użytkowników w plikach /etc/pam.d/system-auth i /etc /pam.d/password-auth, używając opcji włączenia. Z drugiej strony, zgodnie z oczekiwaniami, wyłączenie wyłącza tę opcję dla określonych użytkowników, w poniższym formacie:
session required pam_tty_audit.so disable=username,username2... enable=username,username2..
Aby włączyć rejestrowanie rzeczywistych naciśnięć klawiszy użytkownika (w tym spacji, backspaceów, klawiszy Return, klawisza Control, klawisza Delete i innych), dodaj opcję log_passwd wraz z pozostałymi opcjami, korzystając z tego formularza:
session required pam_tty_audit.so disable=username,username2... enable=username log_passwd
Zanim jednak dokonasz jakichkolwiek konfiguracji, pamiętaj, że:
- Jak widać w powyższej składni, możesz przekazać wiele nazw użytkowników do opcji włączania lub wyłączania.
- Każda opcja wyłączania lub włączania zastępuje poprzednią opcję przeciwną, która odpowiada tej samej nazwie użytkownika.
- Po włączeniu audytu TTY jest on dziedziczony przez wszystkie procesy inicjowane przez zdefiniowanego użytkownika.
- Jeśli włączone jest rejestrowanie naciśnięć klawiszy, dane wejściowe nie są natychmiast rejestrowane, ponieważ audyt TTY najpierw przechowuje naciśnięcia klawiszy w buforze i zapisuje zawartość bufora w określonych odstępach czasu lub po wylogowaniu się kontrolowanego użytkownika do pliku /var/log /audit/audit.log plik.
Spójrzmy na poniższy przykład, w którym skonfigurujemy pam_tty_audit tak, aby rejestrował działania użytkownika tecmint
, w tym naciśnięcia klawiszy, na wszystkich terminalach, podczas gdy wyłączymy kontrolę TTY dla wszystkich pozostałych użytkowników systemu.
Otwórz te dwa następujące pliki konfiguracyjne.
vi /etc/pam.d/system-auth
vi /etc/pam.d/password-auth
Dodaj następujący wiersz do plików konfiguracyjnych.
wymagana sesja pam_tty_audit.so Disable=* Enable=tecmint
Aby przechwycić wszystkie naciśnięcia klawiszy wprowadzone przez użytkownika tecmint, możemy dodać pokazaną opcję log_passwd.
session required pam_tty_audit.so disable=* enable=tecmint log_passwd
Teraz zapisz i zamknij pliki. Następnie przejrzyj plik dziennika auditd pod kątem wszelkich zarejestrowanych danych wejściowych TTY, korzystając z narzędzia aureport.
aureport --tty
Z powyższych danych wynika, że użytkownik tecmint, którego UID wynosi 1000, użył edytora vi/vim, utworzył katalog o nazwie bin i przeniosłem się do niego, wyczyściłem terminal i tak dalej.
Aby wyszukać dzienniki wejściowe TTY zapisane ze znacznikami czasu równymi określonej godzinie lub późniejszymi, użyj -ts
, aby określić datę/godzinę początkową i -te
, aby ustawić koniec data/godzina.
Oto kilka przykładów:
aureport --tty -ts 09/25/2017 00:00:00 -te 09/26/2017 23:00:00
aureport --tty -ts this-week
Więcej informacji można znaleźć na stronie podręcznika pam_tty_audit.
man pam_tty_audit
Sprawdź poniższe przydatne artykuły.
- Skonfiguruj „Uwierzytelnianie kluczy SSH bez hasła” za pomocą PuTTY na serwerach Linux
- Konfigurowanie uwierzytelniania opartego na LDAP w RHEL/CentOS 7
- Jak skonfigurować uwierzytelnianie dwuskładnikowe (Google Authenticator) dla logowania SSH
- Logowanie bez hasła SSH za pomocą SSH Keygen w 5 prostych krokach
- Jak uruchomić polecenie „sudo” bez podawania hasła w systemie Linux
W tym artykule opisaliśmy, jak skonfigurować PAM do audytu danych wejściowych dla określonych użytkowników w CentOS/RHEL. Jeśli masz jakieś pytania lub dodatkowe pomysły, którymi chcesz się podzielić, skorzystaj z komentarza poniżej.