Pytanie było podobne , ale nie do końca tego chcę.
Chciałbym wiedzieć, czy istnieje wtyczka lub dodatek do lightdm lub gdm, który pozwala mi uwierzytelniać się przy użyciu mojego hasła ORAZ uwierzytelnienia google. Mówię o wpisaniu kodu GA do loginu na pulpicie - zarówno GUI, jak i wiersza poleceń, logowania do powłoki - w celu uzyskania dostępu do lokalnego pulpitu.
Instalacja
Zainstaluj moduł PAM Google Authenticator w następujący sposób:
Teraz uruchom
google-authenticator
(w terminalu) dla każdego użytkownika, z którym chcesz korzystać z Google Authenticator i postępuj zgodnie z instrukcjami. Otrzymasz kod QR do skanowania za pomocą smartfona (lub łącza) i kody alarmowe.Konfiguracja
Aby aktywować Google Authenticator, zajrzyj do katalogu /etc/pam.d/ . Istnieje plik umożliwiający uwierzytelnienie za pomocą komputera. Musisz edytować pliki konfiguracyjne dla każdej usługi, której chcesz używać z Google Authenticator. Jeśli chcesz używać go z SSH, edytuj sshd , jeśli chcesz go używać w LightDM, edytuj lightdm . W tych plikach dodaj jeden z następujących wierszy:
Skorzystaj z pierwszego wiersza, gdy nadal migrujesz użytkowników do Google Authenticator. Użytkownicy, którzy go nie skonfigurowali, nadal mogą się zalogować. Drugi wiersz wymusi użycie Google Authenticator. Użytkownicy, którzy go nie mają, nie mogą się już logować. W przypadku sshd bardzo ważne jest umieszczenie wiersza na górze pliku, aby zapobiec atakom typu brute-force na hasło.
Aby dodać go do LightDM, możesz uruchomić to:
Teraz, gdy się zalogujesz, zostaniesz osobno zapytany o hasło i 2-etapowy kod uwierzytelniający.
Zaszyfrowane katalogi domowe
Jeśli używasz szyfrowania domowego (ecryptfs), plik $ HOME / .google_authenticator nie będzie czytelny dla modułu PAM (ponieważ nadal jest szyfrowany). W takim przypadku musisz przenieść go gdzie indziej i powiedzieć PAM, gdzie go znaleźć. Możliwa linia może wyglądać następująco:
Musisz utworzyć katalog dla każdego użytkownika w /home/.ga, który ma nazwę użytkownika i zmienić własność tego katalogu na użytkownika. Następnie użytkownik może uruchomić
google-authenticator
i przenieść utworzony plik uwierzytelnienia .google do tego katalogu. Użytkownik może uruchomić następujące linie:Umożliwi to modułowi dostęp do pliku.
Inne opcje znajdziesz w pliku README .
źródło
Użycie uwierzytelniania dwuskładnikowego w ssh skonfigurowanego jak opisano powyżej poprzednio nadal pozostawia system otwarty na ewentualne ataki siłowe na hasło. Może to zagrozić już pierwszemu czynnikowi: Twojemu hasłu. Więc osobiście postanowiłem dodać następujący wiersz nie na dole, ale w górnej części
/etc/pam.d/sshd
pliku, jak wcześniej nie odnotowano Cleary:Powoduje to najpierw wyświetlenie monitu o kod weryfikacyjny, a następnie o hasło (niezależnie od tego, czy kod weryfikacyjny został wprowadzony poprawnie). W tej konfiguracji, jeśli wprowadziłeś niepoprawny kod weryfikacyjny lub hasło, musisz wprowadzić je ponownie. Zgadzam się, że to trochę bardziej uciążliwe, ale hej: chciałeś bezpieczeństwa, czy tylko poczucia bezpieczeństwa?
źródło