Google Authenticator na komputery stacjonarne (wtyczka lightdm lub gdm)

10

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.

JulioHM
źródło

Odpowiedzi:

8

Spójrz na ten post na blogu zatytułowany: Dwustopniowe uwierzytelnianie Google na Twoim komputerze Co to jest?

Instalacja

sudo apt-get install libpam-google-authenticator

Stosowanie

google-authenticator

   ss # 1                                                 ss # 2

Zgodnie z postem na blogu istnieje wersja lightdm-kde z włączonym uwierzytelnianiem dwuskładnikowym, która może korzystać z Google Authenticator po dodaniu dołączonego modułu PAM do środowiska.

auth required pam_google_authenticator.so

Powoduje to, że twoje logowanie GUI wygląda następująco:

ss # 3 ss # 4

źródło tutaj

Temp
źródło
3
Witamy w AskUbuntu. Czy możesz podać tutaj istotne części linku? Dzięki!
penreturns
Świetny! Czy to sprawi, że wszyscy użytkownicy będą wymagać GA? Jak to działałoby na rozruchu odzyskiwania? Domyślam się, że użytkownik root będzie musiał również poprawnie to skonfigurować, na wypadek gdybyś musiał wrócić do konsoli odzyskiwania.
JulioHM,
1
@JulioHM, zobacz moją odpowiedź na ten temat. Istnieje opcja „migracji”, która nie będzie wymagała GA dla wszystkich użytkowników.
mniess
14

Instalacja

Zainstaluj moduł PAM Google Authenticator w następujący sposób:

sudo apt-get install libpam-google-authenticator

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:

auth required pam_google_authenticator.so nullok
auth required pam_google_authenticator.so

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:

echo "auth required pam_google_authenticator.so nullok" | sudo tee -a /etc/pam.d/lightdm

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:

auth required pam_google_authenticator.so secret=/home/.ga/${USER}/.google_authenticator

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-authenticatori przenieść utworzony plik uwierzytelnienia .google do tego katalogu. Użytkownik może uruchomić następujące linie:

sudo install -g $(id -rgn) -o $USER -m 700 -d /home/.ga/$USER
google-authenticator
mv $HOME/.google_authenticator /home/.ga/$USER

Umożliwi to modułowi dostęp do pliku.

Inne opcje znajdziesz w pliku README .

Mniess
źródło
2

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/sshdpliku, jak wcześniej nie odnotowano Cleary:

auth required pam_google_authenticator.so

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?

Maarten
źródło