Jednak użycie tylko nazwy użytkownika i hasła do uzyskania dostępu do SSH może naruszyć twoje systemy na ataki brutalnej siły, zgadywanie haseł i inne zagrożenia bezpieczeństwa. W tym miejscu przydaje się uwierzytelnianie wieloskładnikowe (MFA).
Jest to dodatkowa warstwa bezpieczeństwa, która wymaga od użytkowników zapewnienia dwóch lub więcej form uwierzytelnienia w celu uzyskania dostępu do systemu. Wymagając od użytkowników przedstawienia wielu czynników, MFA może znacznie poprawić bezpieczeństwo dostępu do SSH.
MFA ma kluczowe znaczenie dla systemów obsługujących wrażliwe lub poufne dane, ponieważ pomaga zapobiegać nieautoryzowanemu dostępowi i naruszeniu danych. Wdrażając MFA, możesz znacznie poprawić bezpieczeństwo systemu Linux i lepiej chronić swoje dane i zasoby.
Ten artykuł ilustruje instalację, konfigurowanie i włączanie MFA dla SSH Access w systemach Linux. Zakładamy wymagane kroki w celu skonfigurowania obsługiwanej metody MFA, takiej jak Google Authenticator lub Security Duo, i przetestuj konfigurację dostępu do SSH.
Przygotowanie systemu Linux do MFA
Przed zainstalowaniem i skonfigurowaniem MFA w systemie Linux, upewnienie się, że system jest aktualny i ma zainstalowane niezbędne pakiety, ma kluczowe znaczenie. Zaktualizuj swój system za pomocą następującego narzędzia:
sudo apt aktualizacja && sudo apt uaktualnienie -y
Gdy system jest aktualny, musisz zainstalować pakiet PAM (moduły uwierzytelniania wtyczki), który umożliwia MFA dla SSH.
Instalowanie i konfigurowanie obsługiwanej metody MFA
Dostępnych jest kilka metod MFA dla SSH Access, w tym Google Authenticator, Duo Security i Yubikey. W tej sekcji skupimy się na skonfigurowaniu uwierzytelniacza Google, która jest szeroko stosowaną i łatwą do zorganizowania metody MFA dla SSH.
Oto kroki, aby zainstalować i skonfigurować uwierzytelnik Google dla SSH MFA:
Krok 1: Utwórz nowego użytkownika
Najpierw musisz utworzyć nowego użytkownika do SSH Access. Możesz utworzyć nowego użytkownika, uruchamiając następujący kod:
sudo adduser
Zastępować z odpowiednią nazwą użytkownika, który chcesz utworzyć.
Krok 2: Przełącz się na nowego użytkownika
Następnie przejdź do nowego użytkownika, uruchamiając następujące polecenie:
Su -
Twój system poprosi o wprowadzenie hasła dla nowego użytkownika.
Krok 3: Zainstaluj Google Authenticator
Zainstaluj Google Authenticator za pomocą tego narzędzia:
sudo apt instal libpam-gogole-autenticator -y
Poniżej znajduje się przykładowe dane wyjściowe dla poprzedniego polecenia:
To wyjście pokazuje menedżer pakietów, który jest „apt”, instalując pakiet „LiBPam-Google-Authenticator” i jego zależności, które są „LiBQRenCode4”. Opcja -y automatycznie potwierdza monit instalacyjny. Wynik pokazuje również postęp procesu instalacji, w tym pobieranie i instalowanie pakietów oraz wszelkie dodatkowe miejsce na dysku, które zostanie użyte. Wreszcie pokazuje, że instalacja i wszelkie odpowiednie wyzwalacze do przetwarzania po instalacji są skuteczne.
Krok 4: Wygeneruj nowy tajny klucz
To narzędzie pomoże Ci wygenerować nowy tajny klucz dla użytkownika:
Google-Authenticator
Twój system poprosi o odpowiedź na kilka pytań, w tym następujące:
Możesz zaakceptować wartości domyślne dla większości pytań. Jednak na pytanie ”Czy chcesz, żebym zaktualizował twoje „/dom //.Plik Google_authenticator ”?„Wybierz„ Y ”, aby zaktualizować plik konfiguracyjny.
Poprzedni wiersz poleceń generuje nowy tajny klucz dla użytkownika, który jest używany do tworzenia jednorazowych haseł dla MFA.
Krok 5: Otwórz aplikację uwierzytelniającego na telefonie
Otwórz aplikację Google Authenticator na smartfonie i zeskanuj kod QR, który jest wyświetlany na ekranie. To dodaje nowego użytkownika do aplikacji Google Authenticator.
Krok 6: Edytuj plik konfiguracyjny
Edytuj plik konfiguracyjny SSH, uruchamiając następujące polecenie:
sudo nano/etc/ssh/sshd_config
Dodaj następujący wiersz na końcu pliku:
ChallengerEsponseAuthentication Tak
Ta linia umożliwia uwierzytelnianie odpowiedzi na rzecz SSH.
Krok 7: Edytuj plik konfiguracyjny PAM
To polecenie edytuje plik konfiguracyjny PAM dla SSH:
sudo nano /etc /pam.D/sshd
Dodaj następujący wiersz na końcu pliku, aby wypełnić ten krok:
Wymagane autoryzm PAM_GOOGLE_AUTHENTICATOR.Więc
To narzędzie umożliwia moduł uwierzytelniający Google dla SSH.
Krok 8: Zapisz swoje zmiany
Zapisz zmiany w plikach konfiguracyjnych i uruchom ponownie usługę SSH za pomocą następującego polecenia:
Sudo Service SSH Restart
To polecenie ponownie uruchamia usługę SSH z nową konfiguracją.
Kiedy zalogujesz się do systemu Linux za pomocą SSH, zostaniesz poproszony o hasło jednorazowe, które jest generowane przez aplikację Google Authenticator. Wprowadź jednorazowe hasło, aby ukończyć proces logowania.
Testowanie konfiguracji MFA pod kątem dostępu SSH
Po zainstalowaniu i skonfigurowaniu MFA dla SSH w systemie Linux, ważne jest, aby przetestować konfigurację, aby upewnić się, że działa poprawnie. Oto kroki, aby przetestować konfigurację MFA dla SSH Access:
1. Otwórz nowe okno terminala i połącz się z systemem Linux za pomocą SSH, jak zwykle. Na przykład:
ssh@
Zastąp z dokładną nazwą użytkownika, który utworzyłeś wcześniej i z adresem IP lub nazwą hosta systemu Linux. W takim przypadku używamy Victorii jako nazwy użytkownika. Wyjście wygląda na to, co jest na poniższym rysunku:
W tym przykładzie używamy polecenia SSH, aby zalogować się na zdalnym komputerze z adresem IP 192.168.1.100 Jako użytkownik „Victoria”. Polecenie wynika z potwierdzenia autentyczności hosta zdalnego, a następnie prosi o hasło dla użytkownika „Victoria”. Po uwierzytelnieniu zostajemy powitani montorem powłoki na zdalnym komputerze, co wskazuje, że pomyślnie ustanowiliśmy sesję SSH.
2. Wprowadź hasło dla użytkownika po montażu.
3. Po wprowadzeniu hasła powinieneś zostać poproszony o jednorazowe hasło z aplikacji MFA. Otwórz aplikację Google Authenticator na smartfonie i wprowadź kod odpowiadający użytkownikowi, który utworzyłeś wcześniej.
4. Jeśli jednorazowe hasło jest poprawne, należy zalogować się do systemu Linux. Jeśli hasło jest nieprawidłowe, zostaniesz poproszony o wprowadzenie innego kodu z aplikacji MFA.
5. Po pomyślnym zalogowaniu możesz sprawdzić, czy MFA działa poprawnie, sprawdzając dzienniki SSH. Uruchom to narzędzie, aby wyświetlić dzienniki:
sudo ogon -f/var/log/auth.dziennik
Poprzednie polecenie wyświetla dzienniki uwierzytelniania SSH w czasie rzeczywistym w czasie rzeczywistym.
Poszukaj wiersza w dzienniku z napisem „Zaakceptowany klejek”, a następnie „zaakceptowana klawiatura interaktywna/PAM”.
17 kwietnia 10:45:24 Server SSHD [2998]: Zaakceptowany KLEY PUBLICKE DLA VICTORIA od 192.168.0.2 port 57362 SSH2: RSA SHA256: XXXXXXXXXXXXXXXXXXXXX
17 kwietnia 10:45:27 serwer SSHD [2998]: Zaakceptowana klawiatura-interaktywna/PAM dla Victoria z 192.168.0.2 port 57362 SSH2
Na przykład:
Pierwsze dwa wiersze pokazują, że użytkownik „Victoria” jest z powodzeniem uwierzytelniany za pomocą klawisza publicznego i metod interaktywnych klawiatury z adresu IP 192.168.0.2.
Jeśli wszystko działa poprawnie, możesz zalogować się do systemu Linux za pomocą SSH z włączoną MSZ.
Wniosek
Wdrożenie uwierzytelniania wieloskładnikowego (MFA) dla SSH Access w systemie Linux może znacznie zwiększyć bezpieczeństwo systemu, dodając dodatkową warstwę uwierzytelniania. Wymagając od użytkowników podania jednorazowego hasła oprócz zwykłego hasła, MFA znacznie utrudnia atakom dostęp do systemu.