Samouczek Linux Pam

Samouczek Linux Pam
Linux-PAM to bogata kolekcja współdzielonych modułów, które interaktywnie uwierzytelniają użytkownika do programów (lub usług) w systemie Linux. Linux-PAM to akronim dla modułów uwierzytelniania wtyczki, który opracował z projektu Unix-Pam. Łączy wiele modułów uwierzytelniania niskiego poziomu z interfejsem API na wysokim poziomie, aby zapewnić dynamiczne uwierzytelnianie aplikacji. Pomimo podstawowego schematu uwierzytelniania umożliwia programistom tworzenie aplikacji wymagających uwierzytelnienia. Linux-PAM (znany również jako „PAM”) jest często obsługiwany domyślnie we współczesnych wariantach Linuksa.

Najważniejszą rzeczą dla administratora systemu do zrozumienia jest to, w jaki sposób pliki konfiguracyjne PAM zapewniają związek między usługami a PAM, które wykonują rzeczywiste działania uwierzytelniania. Nie musisz rozumieć wewnętrznych działań Pam. PAM może znacząco zmienić bezpieczeństwo systemu Linux. Nieprawidłowe ustawienia mogą w pełni lub częściowo zabronić dostępu do komputera.

Interfejsy Linux-Pam w Ubuntu 20.04

Cztery różne grupy zarządzania obsługują zadania uwierzytelniania PAM osobno. Gdy typowy użytkownik żąda ograniczonej usługi, grupy te obsługują różne części żądania:

  • Konto: Moduł ten służy do ustalenia, czy podanie rachunku jest ważne w obecnych okolicznościach. W tej kategorii sprawdzono kilka czynników, w tym wygaśnięcie konta, pora dnia lub jeśli użytkownik ma autoryzację do odpowiedniej usługi.
  • Uwierzytelnianie: W tym module tożsamość użytkownika jest sprawdzana po zweryfikowaniu wszystkich podstawowych informacji. Tożsamość użytkownika jest weryfikowana, umożliwiając mu dostarczenie logowania lub innych konkretnych danych, które tylko oni muszą wiedzieć.
  • Hasło: Moduł uwierzytelniania powinien współpracować z tym modułem, który pomaga użytkownikowi w aktualizacji haseł. Oba rezonanse zapewniają możliwość egzekwowania bezpiecznych haseł.
  • Sesja: Ten moduł przedstawia działania, które należy podjąć na początku i na końcu sesji, i nie jest to najmniej ważne z modułów, które składają się na kolejność, w której ogólna strategia PAM uzupełnia pożądane zadanie. Sesja zaczyna się, gdy jednostka z powodzeniem się uwierzytelniała.

Jak potwierdzić program Linux-PAM w Ubuntu 20.04

Aplikacja lub program musi być „świadomy PAM” lub wyraźnie zbudowany i skompilowany do korzystania z PAM. Użyj polecenia „LDD”, aby sprawdzić, czy program został zbudowany za pomocą biblioteki PAM, aby ustalić, czy jest to „PAM-Aware”, czy nie. Po wykonaniu polecenia „LDD /BIN /SU” plik „Libpam.więc ”jest podświetlone w drugiej linii, która obsługuje zapytanie. Walidacja jest pokazana na zrzucie ekranu poniżej:

Katalog /etc /pam.D/ zawiera konfigurację dla Linux-PAM. Przejdź do katalogu PAM, wprowadzając następujące polecenie w terminalu systemu operacyjnego Linux:

Poprzednia migawka pokazuje, że można zbadać treść, wprowadzając polecenie „LS” w katalogu PAM. Serwer SSHD musi być zainstalowany, jeśli nie jest wymieniony jako usługa, która implementuje PAM. SSH, znany również jako Secure Shell, to aplikacja sieciowa, która szyfruje transmisję danych i umożliwia różne typy komputerów i użytkowników bezpieczne i zdalne łączenie się w sieci z różnymi systemami z różnymi systemami. Poniższe polecenie nabywa pakiet OpenSsh-Server:

Następnie możesz ponownie wejść do katalogu PAM, sprawdzić usługi i zobaczyć, jak SSHD został dodany po zakończeniu instalacji wszystkich plików. Usługa SSHD jest podświetlona w „/etc/pam.D ”katalog.

Jak skonfigurować program Linux-PAM w Ubuntu 20.04

Wezwanie każdego modułu PAM powoduje sukces lub porażkę. Wynik jest obsługiwany przez PAM za pomocą flag kontrolnych. Flagi kontrolne określają względne znaczenie sukcesu każdego modułu lub braku ogólnego celu ustalenia tożsamości użytkownika za pomocą usługi, a moduły można ułożyć w określonej kolejności. Dostępne są cztery wstępnie skonfigurowane flagi kontrolne:

  • Wymagane: Aby uwierzytelnianie się naprzód, odpowiedź pakietu musi się udać. Użytkownik nie zostanie powiadomiony, jeśli próba nie powiedzie.
  • Wymagane: zgodnie z argumentami, jeśli to się zepsuje, wszystko inne również. PAM również zostanie zakończony, a zawiadomienie o awarii zostanie dostarczone.
  • Wystarczy: jeśli ten moduł się powiódł i wszystkie wcześniej wymagane moduły również się powiodą, nie wywołują żadnych wymaganych modułów.
  • Opcjonalnie: Wskazuje, że moduł nie jest niezbędny do tego, czy żądanie usługi użytkownika zakończy się powodzeniem, czy nie powiodło się. Jego wartość jest rozpatrywana tylko przy braku rozstrzygających sukcesów lub błędów wcześniejszych lub późniejszych modułów.
  • Uwzględnij: Po dopasowaniu pasującego parametru, każda linia w pliku konfiguracyjnym jest pobierana przez tę flagę kontrolną.

Po prostu wpisz następujące polecenie w katalogu PAM:

Jak widać, termin FLAGS Control, który opisaliśmy wcześniej w następującym pliku PAM:

Podczas pisania głównej konfiguracji należy użyć następujących ogólnych wytycznych:

  • Praca: prawdziwa nazwa programu
  • Typ: interfejs/kontekst/typ modułu
  • FLAG CONTROL: Jeśli moduł nie ukończy zadania uwierzytelniania, flaga kontroli określa, w jaki sposób PAM-API będzie się zachowywać
  • Moduł: Bezwzględna lub względna nazwa nazwy ścieżki PAM
  • Argument modułu: Parametry modułów to lista tokenów, które można wykorzystać do wpływania na funkcjonalność modułu

Jeśli chcesz zapobiec łączeniu użytkowników root z dowolnym systemem przez SSH, musisz ograniczyć dostęp do usługi SSHD. Ponadto dostęp do usług logowania ma być ograniczony.

Kilka modułów ogranicza dostęp do uprawnień i dotacji, ale możemy wykorzystać niewiarygodnie elastyczny i bogaty w funkcje moduł/lib/bezpieczeństwo/pam lista.Więc. Przejdź do /etc /pam.D/ Directory, otwórz plik usługi docelowej i wprowadzaj niezbędne zmiany w następujący sposób:

Do pliku należy włożyć następujące rozporządzenie:

Wcześniej typ modułu to autoryzacja (lub kontekst). Flaga kontrolna wskazuje, że pomimo tego, jak dobrze działają inne moduły, jeśli moduł jest wykorzystywany, musi się udać, w przeciwnym razie ogólny wynik będzie awarią. Środki do włączenia lub odmowy usług na podstawie dowolnego pliku są dostarczane przez PAM ListFile.Więc moduł. Oneerr = sukces to argument dla modułu. Użytkownik pozycji jest argumentem modułu opisującym zawartość pliku, którą należy zweryfikować. Opcja modułu sense = odmawianie wskazuje, że działanie należy podjąć, jeśli element znajduje się w pliku. W przeciwnym razie wymagane jest przeciwny sposób działania. Plik z jednym elementem na wiersz jest określony przez plik opcji modułu =/etc/ssh/deveniedusers.

Nazwa root musi zostać dodana do pliku/etc/ssh/deniedusers po jego utworzeniu:

Po dokonaniu niezbędnych uprawnień zapisz modyfikacje i zamknij plik:

Z poprzednią zasadą, PAM zostanie poinstruowany, aby sprawdzić/etc/ssh/DEMNIEDUSERS i uniemożliwić wszystkim użytkownikom korzystania z usług SSH i logowania do przodu.

Wniosek

Programy zależne od uwierzytelnienia mogą zapewnić, że tylko autoryzowane aplikacje znajdują się w systemie operacyjnym Linux ze względu na solidny interfejs API na wysokim poziomie znany jako PAM. Ma dużą moc, ale jest również dość trudne do zrozumienia i obsługi. W przypadku aplikacji i usług działających w Linux, PAM oferuje dynamiczne wsparcie uwierzytelniania. Wydajność modułu można ocenić za pomocą dowolnej flagi sterowania wymienionymi w niniejszej instrukcji. PAM jest często używany w wielu bezpiecznych systemach, ponieważ jest bardziej przyjazny dla użytkownika i niezawodny niż konwencjonalny mechanizm uwierzytelniania hasła i użytkowania.