Uwierzytelnianie dwuskładnikowe Linux

Uwierzytelnianie dwuskładnikowe Linux
Uwierzytelnianie dwuskładnikowe (2FA) to proces logowania składający się z mechanizmu podwójnego uwierzytelniania. Większość znanych implementacji obejmuje klasyczne potwierdzenie SMS -ów lub kodu e -mail dla nowych/nieznanych przeglądarek i urządzeń.

W tym scenariuszu, nawet jeśli haker otrzyma hasło PayPal lub hosting, nie będzie mógł się zalogować bez kodu potwierdzenia wysłanego na telefon lub e -mail ofiary.

Wdrożenie uwierzytelniania dwuskładnikowego jest jedną z najlepszych praktyk w zakresie ochrony naszego wiadomości e-mail, konta sieci społecznościowych, hostingu i innych. Niestety nasz system nie jest wyjątkiem.

Ten samouczek pokazuje, jak wdrożyć uwierzytelnianie dwuskładnikowe, aby chronić swój dostęp SSH za pomocą Google Authenticator lub Authy-Ssh. Google Authenticator umożliwia weryfikację logowania za pomocą aplikacji mobilnej, podczas gdy Authy-Ssh można zaimplementować bez aplikacji za pomocą weryfikacji SMS.

Uwierzytelnianie dwuskładnikowe Linux za pomocą Google Authenticator

Notatka: Przed kontynuowaniem upewnij się, że na urządzeniu mobilnym zainstalowano Google Authenticator.

Aby rozpocząć, wykonaj następujące polecenie, aby zainstalować Google Authenticator (Dystrybucje Linux z Linux z Debian):

sudo apt instal libpam-gogole-autenticator -y

Aby zainstalować Google Authenticator w Red Hat oparte na Linux dystrybucjach (CentOS, Fedora), uruchom następujące polecenie:

sudo dnf instaluj Google -Authenticator -y

Po zainstalowaniu uruchom Google Authenticator, jak pokazano na zrzucie ekranu poniżej.

Google-Authenticator

Jak widać, pojawia się kod QR. Musisz dodać nowe konto, klikając + Ikona w aplikacji mobilnej Google Authenticator i wybierz Skanowania QR code.

Google Authenticator dostarczy również kody tworzenia kopii zapasowych, które musisz wydrukować i zapisać na wypadek utraty dostępu do urządzenia mobilnego.

Zadasz kilka pytań, które są szczegółowe poniżej, i możesz zaakceptować wszystkie domyślne opcje, wybierając Y W przypadku wszystkich pytań:

  • Po skanowaniu kodu QR proces instalacji będzie wymagał zgody na edycję domu. Naciskać Y kontynuować następne pytanie.
  • Drugie pytanie zaleca wyłączenie wielu loginów za pomocą tego samego kodu weryfikacji. Naciskać Y kontynuować.
  • Trzecie pytanie odnosi się do czasu wygaśnięcia dla każdego wygenerowanego kodu. Ponownie możesz pozwolić na wypaczenie czasu, naciśnij Y kontynuować.
  • Włącz ograniczanie stawek, do 3 rejestrowanych próbami co 30s. Naciskać Y kontynuować.

Po zainstalowaniu Google Authenticator musisz edytować plik /etc/pam.D/sshd Aby dodać nowy moduł uwierzytelnienia. Użyj nano lub dowolnego innego edytora, jak pokazano na zrzucie ekranu poniżej, aby edytować plik /etc /pam.D/sshd:

nano /etc /pam.D/sshd

Dodaj następujący wiersz do /etc /pam.D/sshd, jak pokazano na poniższym obrazku:

Wymagane autoryzm PAM_GOOGLE_AUTHENTICATOR.Więc Nullok

Notatka: Instrukcje Red Hat wspominają o linii zawierającej #Auth suback hasło-auto. Jeśli znajdziesz tę linię w swoim /etc /pam.D./sshd, skomentuj to.

Zapisz /etc /pam.D./sshd i edytuj plik /etc/ssh/sshd_config Jak pokazano w poniższym przykładzie:

nano/etc/ssh/sshd_config

Znajdź linię:

#ChallengerEsponseautentication nr

Odkształcenie na nim i wymień NIE z Tak:

ChallengerEsponseAuthentication Tak

Wyjdź z oszczędzaniem zmian i uruchom ponownie usługę SSH:

sudo systemctl restart sshd.praca

Możesz przetestować uwierzytelnianie dwuskładnikowe, łącząc się z Localhost, jak pokazano poniżej:

SSH Localhost

Kod można znaleźć w aplikacji mobilnej Google Authentication. Bez tego kodu nikt nie będzie mógł uzyskać dostępu do twojego urządzenia za pośrednictwem SSH. Uwaga: ten kod zmienia się po 30 sekundach. Dlatego musisz to szybko zweryfikować.

Jak widać, proces 2FA działał pomyślnie. Below you can find the instructions for a different 2FA implementation using SMS instead of a mobile app.

Uwierzytelnianie dwuskładnikowe Linux za pomocą Authy-Ssh (SMS)

Możesz także zaimplementować uwierzytelnianie dwuskładnikowe za pomocą Authy (Twilio). W tym przykładzie aplikacja mobilna nie będzie wymagana, a proces zostanie wykonany poprzez weryfikację SMS.

Aby zacząć, idź do https: // www.Twilio.com/try-twilio i wypełnij formularz rejestracyjny.

Napisz i sprawdź swój numer telefonu:

Sprawdź numer telefonu za pomocą kodu wysyłanego przez SMS:

Po zarejestrowaniu przejdź do https: // www.Twilio.com/konsola/autystyka i naciśnij Zaczynaj przycisk:

Kliknij Sprawdź numer telefonu przycisk i wykonaj kroki, aby potwierdzić swój numer:

Sprawdź swój numer:

Po zweryfikowaniu wróć do konsoli, klikając Wróć do konsoli:

Wybierz nazwę API i kliknij Utwórz aplikację:

Wypełnij żądane informacje i naciśnij Zrób prośbę:

Wybierać Token SMS i naciśnij Zrób prośbę:

Przejdź do https: // www.Twilio.com/console/authy/aplikacje i kliknij aplikację utworzoną w poprzednich krokach:

Po wybraniu opcja zobaczysz w lewym menu Ustawienia. Kliknij Ustawienia i skopiuj Klucz API produkcji. Użyjemy go w następujących krokach:

Z konsoli, pobierz Authy-Ssh Uruchomienie następujące polecenie:

Git Clone https: // github.com/authy/authy-ssh

Następnie wprowadź katalog Authy-Ssh:

CD Authy-Ssh

Wewnątrz autoryjnego katalogu:

Sudo Bash Authy-Ssh Instalacja/USR/Local/Bin

Zostaniesz poproszony o wklej Klucz API produkcji Poprosiłem cię o kopiowanie, wklejanie i naciśnięcie WCHODZIĆ kontynuować.

Zapytany o akcję domyślną podczas API.Authy.Com nie można się skontaktować, wybierz 1. I naciśnij WCHODZIĆ.

Notatka: Jeśli wklejesz niewłaściwy klawisz API, możesz go edytować w pliku /USR/Local/bin/Authy-Ssh.conf Jak pokazano na poniższym obrazku. Wymień zawartość po „api_key =” na klucz API:

Włącz Authy-Ssh, uruchamiając:

sudo/usr/local/bin/authy-ssh włącza „whoami”

Wypełnij wymagane informacje i naciśnij Y:

Możesz przetestować wykonanie Authy-Ssh:

Test Authy-Ssh

Jak widać, 2FA działa poprawnie. Uruchom ponownie usługę SSH, uruchom:

Sudo Service SSH Restart

Możesz również przetestować go, łącząc SSH do LocalHost:

Jak ilustrowano, 2FA działało pomyślnie.

Authy oferuje dodatkowe opcje 2FA, w tym weryfikacja aplikacji mobilnych. Możesz zobaczyć wszystkie dostępne produkty pod adresem https: // authy.com/.

Wniosek:

Jak widać, 2FA można łatwo zaimplementować według dowolnego poziomu użytkownika Linux. Obie opcje wymienione w tym samouczku można zastosować w ciągu kilku minut.

SSH-Authy to doskonała opcja dla użytkowników bez smartfonów, którzy nie mogą zainstalować aplikacji mobilnej.

Dwustopniowa implementacja weryfikacji może zapobiec wszelkiego rodzaju atakowi logowania, w tym atakom inżynierii społecznej, z których wiele stało się przestarzałe w tej technologii, ponieważ hasło ofiary nie wystarczy, aby uzyskać dostęp do informacji o ofiary.

Inne alternatywy Linux 2FA obejmują Freeotp (Red Hat), World Authenticator, i klient OTP, ale niektóre z tych opcji oferują tylko podwójne uwierzytelnianie z tego samego urządzenia.

Mam nadzieję, że ten samouczek przydatny. Kontynuuj podążaj za Linux, aby uzyskać więcej wskazówek i samouczków Linux.