Jak włączyć uwierzytelnianie dwuskładnikowe dla SSH w Fedora Linux

Jak włączyć uwierzytelnianie dwuskładnikowe dla SSH w Fedora Linux

W świecie technologii informatycznych bezpieczeństwo jest obecnie poważnym problemem. Każdego dnia rozpoczynają się nowe i wyrafinowane ataki przeciwko organizacjom. Administratorzy systemu używają różnych sposobów na stwardnienie bezpieczeństwa swoich serwerów. Jednym z powszechnych sposobów interakcji z serwerem jest korzystanie z SSH (lub Sekure CIIell) protokół, który jest szeroko stosowany do zdalnego logowania na serwerze. Oprócz zdalnych loginów powłoki, jest również używany do kopiowania plików między dwoma komputerami. W przeciwieństwie do innych metod, takich jak Telnet, RCP, FTP itp., Protokół SSH wykorzystuje mechanizm szyfrowania do zabezpieczenia komunikacji między dwoma hostami.

Bezpieczeństwo zapewnione przez protokół SSH można dalej ulepszyć za pomocą uwierzytelniania dwuskładnikowego. To dodatkowo umieści mocną ścianę między komputerem hosta a atakującymi. Aby połączyć się z serwerem zdalnym z SSH, będziesz wymagać hasła, a także kodu weryfikacji (lub OTP) z aplikacji uwierzytelniającego działającego na urządzeniu mobilnym. Jest to bardzo pomocne, jeśli atakujący kradnie twoje hasło, nie będzie mógł zalogować się na serwerze bez kodu weryfikacji.

Istnieje wiele aplikacji uwierzytelniających dla urządzeń mobilnych z systemem Android lub Apple iOS. W tym przewodniku wykorzystano aplikację Google Authenticator zarówno dla serwera Fedora, jak i urządzenia mobilnego.

Co obejmiemy

Ten przewodnik zobaczy, w jaki sposób możemy użyć uwierzytelniania dwuskładnikowego z protokołem SSH, aby zapobiec nieautoryzowanemu dostępowi do naszej stacji roboczej Fedora 30. Postaramy się zalogować się na naszym serwerze Fedora z komputera klienckiego Xubuntu, aby sprawdzić, czy konfiguracja działa zgodnie z oczekiwaniami. Zacznijmy konfigurować SSH z uwierzytelnianiem dwuskładnikowym.

Wymagania wstępne

  1. OS Fedora 30 zainstalowany na serwerze zdalnym z kontem użytkownika „sudo”.
  2. Maszyna Xubuntu do dostępu do powyższego serwera.
  3. Urządzenie mobilne z zainstalowaną na niej aplikację Google-Authenticator.

Przegląd konfiguracji

  1. Maszyna Fedora 30 z IP: 192.168.43.92
  2. Maszyna Xubuntu z IP: 192.168.43.71
  3. Urządzenie mobilne z aplikacją Google-Authenticator.

Krok 1. Zainstaluj Google-Authenticator na serwerze Fedora 30 za pomocą polecenia:

$ sudo dnf instaluj -y -Google -Authenticator

Krok 2. Uruchom poniższe polecenie, aby uruchomić Google-Authenticator na swoim serwerze:

$ Google-Authenticator

Zadaje kilka pytań, aby skonfigurować serwer do pracy z urządzeniem mobilnym:

Czy chcesz, aby tokeny uwierzytelniania były oparte na czasie (y/n) y [wprowadź tutaj „y”]

Wyświetli kod QR w oknie terminalu; Trzymaj na razie otwarte okno terminala.

Krok 3. Zainstaluj aplikację Google-Authenticator na swoim urządzeniu mobilnym i otwórz. Teraz kliknij opcję „Zeskanuj kod QR.„Teraz skoncentruj aparat mobilny na skanowaniu kodu QR w oknie terminali serwera.

Krok 4. Po skanowaniu kodu QR urządzenie mobilne doda konto dla twojego serwera i wygeneruje losowy kod, który będzie się zmieniać za pomocą obrotowego timera, jak pokazano na poniższym zdjęciu:

Krok 5. Teraz wróć do okna terminali serwera i wprowadź tutaj kod weryfikacji z urządzenia mobilnego. Po potwierdzeniu kodu wygeneruje zestaw kodu zarysowania. Te kody zarysowania można użyć do zalogowania się do serwera na wypadek utraty urządzenia mobilnego. Więc zapisz je w jakimś bezpiecznym miejscu.

Krok 6. W kolejnych krokach zadaje kilka pytań, aby zakończyć konfigurację. Podaliśmy poniżej zestaw pytań i ich odpowiedzi, aby skonfigurować konfigurację. Możesz zmienić te odpowiedzi zgodnie z potrzebami:

Czy chcesz, żebym zaktualizował swoje "/home/linuxhint/.Google_authenticator „Plik? (y/n) y [Wprowadź „y” tutaj]
Czy chcesz odrzucić wiele zastosowań tego samego tokena uwierzytelniania? Ogranicza to do jednego logowania co około 30 lat, ale zwiększa twoje szanse na zauważenie, a nawet zapobieganie atakom man-wtłań (T/N) y [Wprowadź tutaj „y” tutaj]
Domyślnie nowy token jest generowany co 30 sekund przez aplikację mobilną.Aby zrekompensować ewentualne przemieszczenie czasu między klientem a serwerem, zezwalamy na dodatkowy token przed i po bieżącym czasie. Pozwala to na czas przekraczania do 30 sekund między serwerem uwierzytelniania a klientem. Jeśli masz problemy ze słabą synchronizacją czasu, możesz zwiększyć okno z domyślnego rozmiaru 3 dozwolonych kodów (jeden poprzedni kod, bieżący kod, następny kod) do 17 dozwolonych kodów (8 poprzednich kodów, bieżący kod i 8 następnych kodów). Pozwoli to na czas przekrzywiania do 4 minut między klientem a serwerem. Chcesz to zrobić? (y/n) y [Wprowadź „y” tutaj]
Jeśli komputer, na który się zalogujesz, nie jest stwardniał przed próbami logowania z siły brutalnej, możesz włączyć ograniczenie prędkości dla modułu uwierzytelniania. Domyślnie ogranicza to atakujących do nie więcej niż 3 prób logowania co 30 lat. Czy chcesz włączyć ograniczenie stawki? (y/n) y [Wprowadź „y” tutaj]

Krok 7. Teraz otwórz plik sshd_config z dowolnym edytorem

$ sudo vi/etc/ssh/sshd_config

i wykonaj następujące kroki:

  1. Uznanie i ustaw HasłoAuthentication Do tak.
  2. Uznanie i ustaw ChallengerEsponseAutentication Do tak.
  3. Uznanie i ustaw Uspam Do tak.

Zapisz i zamknij plik.

Krok 8. Następnie otwórz /etc /pam.plik d/sshd

$ sudo vi /etc /pam.D/sshd

i dodaj następujące wiersze poniżej wiersza 'Auth STAPACK Hasło Auth:

Wymagane autoryzm PAM_GOOGLE_AUTHENTICATOR.Więc

Krok 9. Rozpocznij i włącz usługę SSH na serwerze Fedora za pomocą polecenia:

$ sudo systemctl start sshd
$ sudo systemctl włącz SSHD

Wszystkie kroki konfiguracji serwera są już wykonane. Teraz przeprowadzimy się do naszego komputera klienckiego, tj.mi., Xubuntu, w naszym przypadku.

Krok 10. Teraz spróbuj zalogować się z SSH z maszyny Xubuntu do serwera Fedora 30:

$ ssh [email protected]

Jak widać, SSH najpierw pyta o hasło serwera, a następnie kod weryfikacji z urządzenia mobilnego. Po prawidłowym wprowadzeniu kodu weryfikacji możesz zalogować się na zdalnym serwerze Fedora.

Wniosek

Gratulacje, pomyślnie skonfigurowaliśmy dostęp SSH z uwierzytelnianiem dwuskładnikowym w systemie OS Fedora 30. Możesz dalej skonfigurować SSH do użycia tylko kodu weryfikacji do zalogowania się bez hasła do serwera zdalnego.