Diagnozuj błędy logowania do SLES PAM bez blokowania dostępu

Komunikat „Błąd uwierzytelniania PAM” nie wskazuje na jedno uniwersalne rozwiązanie. Najpierw zidentyfikuj usługę i użytkowników, którzy nie przeszli pomyślnie, a następnie sprawdź dziennik w odpowiednim momencie. W systemie SUSE Linux Enterprise Server (SLES) napraw potwierdzony globalny problem z PAM za pomocą [brakuje kontekstu] pam-configi zmień plik pojedynczej usługi tylko wtedy, gdy jej własny stos jest nieprawidłowy. Podczas testowania utrzymuj otwartą sesję root lub administracyjną; uszkodzony stos PAM może blokować nowe logowania SSH i konsoli.

Aktualny podręcznik bezpieczeństwa i utwardzania SLES 15 SP7 opisuje PAM jako stos modułów uwierzytelniania, konta, hasła i sesji. To rozróżnienie ma znaczenie: poprawne hasło może przejść etap, autha mimo to zostać odrzucone później przez politykę konta lub regułę specyficzną dla usługi. Sam ogólny komunikat o błędzie nie pozwala na identyfikację, który etap zakończył się niepowodzeniem.

Co dowodzi błąd, a czego nie?

PAM pośredniczy między aplikacją, taką jak sshdlogowanie do konsoli, a skonfigurowanymi metodami uwierzytelniania. Każda usługa obsługująca PAM ma plik w katalogu /etc/pam.d/. Plik usługi może zawierać wspólne pliki SLES, takie jak , , common-authwięc common-accountawaria ograniczona do SSH może mieć inną przyczynę niż awarie wszystkich metod logowania.

Zweryfikowano: Udokumentowany stos SSH systemu SUSE zawiera pam_nologin.sotypowe pliki PAM. Jeśli /etc/nologinistnieje, udokumentowany moduł blokuje logowanie użytkowników innych niż root. Zależne od kontekstu: lokalnie edytowane reguły, usługi katalogowe i zewnętrzne moduły MFA mogą dodać dodatkowe kontrole. Nie można ustalić na podstawie samego komunikatu: że hasło jest nieprawidłowe, że pliki PAM są uszkodzone lub że konto jest zablokowane. Zamiast zastępować stos, należy zacząć od usługi, której dotyczy problem, i jej logu.

Która ścieżka logowania nie działa?

Powtórz błąd raz i zanotuj czas, nazwę użytkownika i metodę: SSH, lokalna konsola tekstowa, logowanie graficzne sudolub su. Jeśli możesz zalogować się jako administrator, sprawdź ostatnie komunikaty systemowe:

sudo journalctl -e

Poradnik rozwiązywania problemów SLES firmy SUSE zaleca sprawdzenie dziennika pod kątem błędów logowania i PAM. Sprawdź dokładny czas próby, aby znaleźć nazwę modułu lub przyczynę – na przykład odrzucone konto, niedostępna usługa katalogowa, brakujący moduł lub błąd pliku/uprawnień. Nie udostępniaj dzienników publicznie bez usunięcia nazw użytkowników, nazw hostów, adresów i innych poufnych informacji.

Terminal główny jest przygotowany do sprawdzenia ostatnich wpisów w dzienniku systemowym za pomocą polecenia journalctl -e.
Użyj dziennika systemowego z okresu nieudanego logowania, aby znaleźć komunikaty PAM i procesu logowania.

Jeśli występuje tylko awaria SSH, sprawdź dziennik demona SSH:

sudo journalctl -u sshd
Terminal główny jest przygotowany do odczytania dziennika demona SSH za pomocą polecenia journalctl -u sshd.
Sprawdź dziennik sshd, jeśli awaria wystąpi tylko podczas uwierzytelniania SSH.

Następnie porównaj ścieżki dostępu. Jeśli użytkownik może uwierzytelnić się na konsoli lokalnej, ale nie przez SSH, skup się na /etc/pam.d/sshdzasadach dostępu SSH lub module specyficznym dla SSH. Jeśli wiele usług odrzuca tych samych użytkowników lokalnych, sprawdź ich współdzielone common-*pliki. Jeśli uwierzytelnienie tylko jednego użytkownika nie powiedzie się, sprawdź stan konta i hasło przed zmianą uwierzytelniania w całym systemie.

Czy jest to konto lokalne czy tożsamość sieciowa?

W przypadku użytkownika lokalnego należy najpierw sprawdzić nazwę użytkownika, układ klawiatury i klawisz Caps Lock. Jeśli konieczne jest zresetowanie danych logowania, należy skorzystać z narzędzia do zmiany hasła zatwierdzonego przez administratora, takiego jak YaST User and Group Management, zamiast edytować je /etc/shadowręcznie. Jeśli wszyscy użytkownicy inni niż root mają zablokowane dostępy przez SSH, /etc/nologinprzed zmianą ustawień PAM należy sprawdzić, czy istnieje plik planowanej konserwacji, taki jak [brakujący element]. Należy go usunąć tylko wtedy, gdy blokada konserwacji okaże się nieaktualna i użytkownik ma odpowiednie uprawnienia.

W przypadku użytkowników LDAP, Active Directory lub innych użytkowników korzystających z usług katalogowych, działające hasło na innym serwerze nie dowodzi, że dany host SLES może nawiązać połączenie z dostawcą tożsamości. SUSE wymienia problemy z siecią i DNS, przesunięcie zegara Kerberos, błędnie skonfigurowane reguły PAM, zasady dostępu do hosta oraz niedostępne katalogi domowe jako możliwe przyczyny. Sprawdź, czy inny użytkownik domeny może się zalogować i czy dany użytkownik może zalogować się do innego hosta. Następnie sprawdź skonfigurowaną usługę tożsamości i łączność z serwerem.

Jeśli host używa SSSD, sprawdź jego usługę i to, czy PAM jest skonfigurowany do jej używania:

systemctl status sssd
sudo pam-config --query --sss
W terminalu wyświetlane są polecenia tylko do odczytu dotyczące konfiguracji PAM SSSD i stanu usługi SSSD.
Sprawdź, czy usługa SSSD jest uwzględniona w PAM i działa, gdy użytkownicy obsługiwani przez domenę nie mogą się uwierzytelnić.

Usługa SSSD może buforować informacje o użytkowniku i umożliwiać uwierzytelnianie, gdy katalog jest tymczasowo niedostępny, ale to zachowanie zależy od konfiguracji i danych uwierzytelniających zapisanych w pamięci podręcznej. Nieaktualna lub brakująca pamięć podręczna to zatem tylko jedna z możliwości, a nie ostateczny wniosek. Przed wyczyszczeniem pamięci podręcznej lub zmianą modułów sprawdź DNS, synchronizację czasu dla Kerberos, dostępność katalogu oraz dzienniki SSSD. Jeśli dostawca tożsamości zgłasza komunikat „Konto zablokowane” lub „Konto wyłączone”, poproś administratora katalogu o sprawdzenie zasad dotyczących tego konta; PAM raportuje decyzję, a niekoniecznie ją tworzy.

Jak naprawić potwierdzony problem z konfiguracją PAM?

Sprawdź plik specyficzny dla usługi i zawarte w nim współdzielone reguły:

sudo grep -nE '^(auth|account|password|session)' /etc/pam.d/sshd
sudo pam-config --query --sss
Polecenie terminala umożliwia sprawdzenie wpisów uwierzytelniania, konta, hasła i sesji w pliku usługi sshd PAM.
Przed zmianą typowych reguł uwierzytelniania należy sprawdzić stos PAM specyficzny dla danej usługi dla protokołu sshd.

W systemie SLES pam-configpliki globalne są przechowywane w sekcji /etc/pam.d/common-*; poszczególne pliki usług, takie jak te, /etc/pam.d/sshdktóre są przechowywane oddzielnie. Nie edytuj ręcznie wygenerowanych plików wspólnych, chyba że celowo pam-configje wyłączono. Jeśli potwierdzisz, że ten host ma korzystać z SSSD, a jego reguły PAM SSSD są niedostępne, SUSE zaleca sudo pam-config --add --sssich dodanie. Użyj tej funkcji dopiero po potwierdzeniu, że sam SSSD jest skonfigurowany i uruchomiony, a następnie przetestuj nowe logowanie, gdy aktywna sesja administracyjna pozostaje otwarta.

Częstym, ale ryzykownym błędnym przekonaniem jest to, że pam-config --createjest to nieszkodliwe polecenie naprawy. SUSE twierdzi, że tworzy ono podstawową konfigurację uwierzytelniania Unix i nadpisuje istniejące pliki, którymi nie zarządza, zachowując kopie zapasowe. Może to spowodować usunięcie niestandardowego działania uwierzytelniania MFA lub katalogów. Nie należy uruchamiać tego polecenia jako ogólnego kroku odzyskiwania. W przypadku literówki w pliku usługi, należy przywrócić znaną, dobrą konfigurację usługi, zgodną z wersją, z zaufanej kopii zapasowej lub zmienić konkretny wadliwy wiersz w ramach procesu zmian w organizacji.

Jak można potwierdzić naprawę?

Pozostaw oryginalną sesję roota lub administratora otwartą. Uruchom drugą sesję za pośrednictwem tej samej usługi, która uległa awarii – na przykład nowego połączenia SSH – i przetestuj konto, którego dotyczy problem. Upewnij się, że dziennik nie rejestruje już tej samej odmowy uwierzytelnienia PAM i że inna skonfigurowana metoda uwierzytelniania nadal działa. Jeśli awaria nadal występuje, zapisz dokładny znacznik czasu, usługę, nazwę modułu PAM i odpowiednie zdezynfekowane wiersze dziennika; te dane są bardziej przydatne niż ogólny komunikat o błędzie uwierzytelniania.

Oficjalne źródła

Zostaw komentarz

Konfiguracja SLES 15 KVM: uruchamianie wybranych maszyn wirtualnych podczas rozruchu

Konfiguracja SLES 15 KVM: uruchamianie wybranych maszyn wirtualnych podczas rozruchu

Zainstaluj narzędzia SLES 15 KVM i libvirt, włącz odpowiednią usługę hosta i skonfiguruj wybrane maszyny wirtualne tak, aby uruchamiały się po ponownym uruchomieniu.

Diagnozowanie serwera SUSE zawieszającego się na ekranie wyłączania systemd

Diagnozowanie serwera SUSE zawieszającego się na ekranie wyłączania systemd

Użyj zadań systemd i poprzedniego dziennika rozruchowego, aby zlokalizować powolną usługę, punkt montowania lub zależność od magazynu, a następnie napraw ją, nie maskując przyczyny.

Otwórz tylko ruch sieciowy, którego potrzebuje Twój serwer SLES 15

Otwórz tylko ruch sieciowy, którego potrzebuje Twój serwer SLES 15

Użyj polecenia firewall-cmd, aby sprawdzić aktywną strefę, bezpiecznie zezwolić na protokół HTTP, zachować dostęp SSH i zweryfikować, czy reguła przetrwa ponowne załadowanie w systemie SLES 15.

Diagnozuj błędy logowania do SLES PAM bez blokowania dostępu

Diagnozuj błędy logowania do SLES PAM bez blokowania dostępu

Znajdź przyczynę awarii PAM w odniesieniu do usługi, zasad konta lub dostawcy tożsamości, a następnie napraw właściwą konfigurację SLES, zachowując jednocześnie działającą sesję administracyjną.

Jak skonfigurować sieć VPN typu punkt-lokacja WireGuard w systemie Debian 12

Jak skonfigurować sieć VPN typu punkt-lokacja WireGuard w systemie Debian 12

Skonfiguruj serwer VPN WireGuard z systemem Debian 12 dla jednego zdalnego klienta. Skonfiguruj klucze, przekierowanie IPv4, NAT w NFTables, dostęp do zapory sieciowej i sprawdzanie połączeń.

Zautomatyzuj spójne kopie zapasowe Nextcloud za pomocą Restic i Cron

Zautomatyzuj spójne kopie zapasowe Nextcloud za pomocą Restic i Cron

Twórz kopie zapasowe plików Nextcloud i MariaDB, planuj zaszyfrowane migawki Restic za pomocą cron i weryfikuj odzyskiwanie bez narażania serwera na ryzyko.

Tworzenie kopii zapasowej i przywracanie skrzynki pocztowej Zimbra CE za pomocą eksportów TGZ

Tworzenie kopii zapasowej i przywracanie skrzynki pocztowej Zimbra CE za pomocą eksportów TGZ

Eksportuj pojedynczą skrzynkę pocztową Zimbra Community Edition, sprawdzaj poprawność kopii zapasowej TGZ i przywracaj brakujące elementy bez nadpisywania istniejącej poczty.

Umożliw zatwierdzonym użytkownikom tworzenie pokoi Jitsi z logowaniem przez Keycloak

Umożliw zatwierdzonym użytkownikom tworzenie pokoi Jitsi z logowaniem przez Keycloak

Zezwalaj tylko zatwierdzonym kontom na otwieranie pokoi Jitsi Meet przy użyciu Keycloak i uwierzytelniania tokenem, jednocześnie zapewniając możliwość dołączania gościom, gdy będzie to potrzebne.

Synchronizuj użytkowników usługi Active Directory z usługą ONLYOFFICE DocSpace za pośrednictwem protokołu LDAP

Synchronizuj użytkowników usługi Active Directory z usługą ONLYOFFICE DocSpace za pośrednictwem protokołu LDAP

Połącz ONLYOFFICE DocSpace z usługą Active Directory lub OpenLDAP, bezpiecznie importuj użytkowników i grupy, mapuj pola kont i planuj niezawodną synchronizację.

Dodawanie czcionek do serwera dokumentów ONLYOFFICE: Docker kontra Linux

Dodawanie czcionek do serwera dokumentów ONLYOFFICE: Docker kontra Linux

Zainstaluj niestandardowe czcionki w serwerze dokumentów ONLYOFFICE, porównaj trwałe instalacje Docker z kopiami bezpośrednimi, utwórz ponownie listę czcionek i zweryfikuj wynik.