If-Koubou

Jak zabezpieczyć SSH za pomocą dwustopniowego uwierzytelniania Google Authenticator

Jak zabezpieczyć SSH za pomocą dwustopniowego uwierzytelniania Google Authenticator (Jak)

Chcesz zabezpieczyć swój serwer SSH za pomocą łatwego w użyciu uwierzytelniania dwuskładnikowego? Google dostarcza niezbędne oprogramowanie do zintegrowania systemu jednorazowych haseł Google Authenticator z TOTP z serwerem SSH. Będziesz musiał wprowadzić kod z telefonu po podłączeniu.

Google Authenticator nie "kontaktuje się z Google" z Google - cała praca odbywa się na serwerze SSH i telefonie. W rzeczywistości Google Authenticator jest całkowicie otwarty, więc możesz samodzielnie sprawdzić jego kod źródłowy.

Zainstaluj Google Authenticator

Aby zaimplementować uwierzytelnianie wieloczynnikowe w Google Authenticator, potrzebujemy modułu PAM z oprogramowaniem Google Authenticator o otwartym kodzie źródłowym. PAM oznacza "pluggable authentication module" - jest to sposób na łatwe podłączanie różnych form uwierzytelniania do systemu Linux.

Repozytoria oprogramowania Ubuntu zawierają łatwy do zainstalowania pakiet dla modułu PAM Google Authenticator. Jeśli twoja dystrybucja Linuksa nie zawiera pakietu, musisz pobrać ją ze strony Google Authenticator do pobrania w Google Code i skompilować ją samodzielnie.

Aby zainstalować pakiet w systemie Ubuntu, uruchom następujące polecenie:

sudo apt-get install libpam-google-authenticator

(To tylko zainstaluje moduł PAM w naszym systemie - będziemy musieli ręcznie aktywować go dla logowania SSH.)

Utwórz klucz uwierzytelniający

Zaloguj się jako użytkownik, z którego będziesz logować się zdalnie i uruchom google-authenticator polecenie, aby utworzyć tajny klucz dla tego użytkownika.

Zezwól na aktualizację pliku Google Authenticator, wpisując y. Zostaniesz poproszony o kilka pytań, które pozwolą ci ograniczyć użycie tego samego tymczasowego tokena zabezpieczającego, zwiększyć okno czasowe, w którym mogą zostać użyte tokeny i ograniczyć dozwolone próby dostępu, aby powstrzymać próby złamania brutalnej siły. Wszystkie te opcje wymieniają pewne zabezpieczenia na łatwość użycia.

Google Authenticator przedstawi tajny klucz i kilka "awaryjnych kodów zdrapek". Zapisz awaryjne kody zdrapek w bezpiecznym miejscu - można ich używać tylko jeden raz i są one przeznaczone do użycia, jeśli zgubisz telefon.

Wprowadź tajny klucz w aplikacji Google Authenticator na swoim telefonie (oficjalne aplikacje są dostępne na Androida, iOS i Blackberry). Możesz także skorzystać z funkcji skanowania kodów kreskowych - przejdź do adresu URL znajdującego się u góry polecenia i możesz zeskanować kod QR za pomocą aparatu w telefonie.

Będziesz mieć ciągle zmieniający się kod weryfikacyjny na swoim telefonie.

Jeśli chcesz logować się zdalnie jako wielu użytkowników, uruchom to polecenie dla każdego użytkownika. Każdy użytkownik będzie miał swój własny tajny klucz i własne kody.

Aktywuj Google Authenticator

Następnie musisz wymagać od Google Authenticator logowania do SSH. Aby to zrobić, otwórz /etc/pam.d/sshd plik w systemie (na przykład z sudo nano /etc/pam.d/sshd polecenie) i dodaj następujący wiersz do pliku:

auth wymagany pam_google_authenticator.so

Następnie otwórz / etc / ssh / sshd_config plik, znajdź ChallengeResponseAuthentication linię i zmień ją tak, aby brzmiała następująco:

ChallengeResponseAuthentication yes

(Jeśli ChallengeResponseAuthentication linia jeszcze nie istnieje, dodaj powyższą linię do pliku.)

Na koniec zrestartuj serwer SSH, aby zmiany zostały wprowadzone:

sudo service ssh restart

Zostaniesz poproszony o podanie zarówno hasła, jak i kodu Google Authenticator, przy każdej próbie zalogowania się przez SSH.