데스크톱 용 Google OTP (lightdm 또는 gdm 플러그인)


10

거기에 있었다 비슷한 질문 ,하지만 정확히 내가 원하는 아니에요.

비밀번호 및 Google 인증기를 사용하여 인증 할 수있는 lightdm 또는 gdm 용 플러그인 또는 애드온이 있는지 알고 싶습니다. 로컬 데스크톱에 액세스하기 위해 GA 코드를 GUI 또는 명령 행 쉘 로그인과 같은 데스크탑 로그인에 입력하는 것에 대해 이야기하고 있습니다.

답변:


8

이 블로그 게시물 제목을 살펴보십시오. 데스크톱에서 Google 2 단계 인증이란 무엇입니까?

설치

sudo apt-get install libpam-google-authenticator

용법

google-authenticator

   ss # 1                                                 ss # 2

블로그 게시물에 따르면 포함 된 PAM 모듈을 환경에 추가 할 때 Google OTP를 활용할 수있는 2 단계 인증이 포함 된 lightdm-kde 버전이 있습니다.

auth required pam_google_authenticator.so

GUI 로그인 결과는 다음과 같습니다.

ss # 3 ss # 4

여기에 소스


3
AskUbuntu에 오신 것을 환영합니다. 여기에 링크의 필수 부분을 포함시킬 수 있습니까? 감사!
penreturns

우수한! 이렇게하면 모든 사용자에게 GA가 필요합니까? 복구 부팅에서 어떻게 작동합니까? 복구 콘솔로 되돌려 야 할 경우를 대비하여 루트 사용자가 올바르게 구성해야 할 것 같습니다.
JulioHM

1
@JulioHM, 그것에 대한 내 대답을 참조하십시오. GA를 모든 사용자에게 요구하지는 않는 "마이그레이션"옵션이 있습니다.
mniess

14

설치

다음과 같이 Google OTP 모듈을 설치하십시오.

sudo apt-get install libpam-google-authenticator

이제 google-authenticatorGoogle OTP를 사용하려는 모든 사용자에 대해 (터미널 내부)를 실행 하고 지침을 따르십시오. 스마트 폰 (또는 링크) 및 비상 코드로 스캔 할 수있는 QR 코드가 제공됩니다.

구성

Google OTP를 활성화하려면 /etc/pam.d/ 디렉토리를 살펴보십시오 . 컴퓨터를 인증하는 모든 방법을위한 파일이 있습니다. Google OTP와 함께 사용하려는 모든 서비스에 대한 구성 파일을 편집해야합니다. SSH와 함께 사용하려면 sshd를 편집 하고 LightDM에서 사용하려면 lightdm을 편집 하십시오 . 해당 파일 에서 다음 행 중 하나 를 추가하십시오 .

auth required pam_google_authenticator.so nullok
auth required pam_google_authenticator.so

사용자를 여전히 Google OTP로 마이그레이션하는 동안 첫 번째 줄을 사용하십시오. 구성하지 않은 사용자는 여전히 로그인 할 수 있습니다. 두 번째 줄은 Google OTP 사용을 강제합니다. 계정이없는 사용자는 더 이상 로그인 할 수 없습니다. sshd의 경우 암호에 대한 무차별 대입 공격을 방지하기 위해 파일 맨 위에 줄을 두는 것이 매우 중요 합니다.

LightDM에 추가하려면 다음을 수행하십시오.

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

이제 로그인하면 비밀번호와 2 단계 인증 코드를 별도로 요청 받게됩니다.

암호화 된 홈 디렉토리

홈 암호화 (ecryptfs)를 사용하는 경우 $ HOME / .google_authenticator 파일 은 PAM 모듈에서 읽을 수 없습니다 (아직 암호화되어 있기 때문). 이 경우 다른 곳으로 옮기고 PAM에게 어디서 찾을 수 있는지 알려주십시오. 가능한 줄은 다음과 같습니다.

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

/home/.ga 에 사용자 이름이있는 모든 사용자에 대한 디렉토리를 작성하고 해당 디렉토리의 소유권을 사용자로 변경해야합니다. 그런 다음 사용자는 google-authenticator생성 된 .google-authenticator 파일을 실행 하고 해당 디렉토리로 이동할 수 있습니다 . 사용자는 다음 줄을 실행할 수 있습니다.

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

그러면 모듈이 파일에 액세스 할 수 있습니다.

다른 옵션은 README를 확인하십시오 .


2

위에서 설명한대로 구성된 ssh에서 2 단계 인증을 사용하면 암호에 대한 무차별 대입 공격이 발생할 수 있습니다. 그것은 이미 첫 번째 요소 인 암호를 손상시킬 수 있습니다. 그래서 개인적으로 나는 바닥에 만에 있지 다음 줄을 추가하기로 결정 상단/etc/pam.d/sshd이전 클리 어리 언급되지 않은 것처럼 파일 :

auth required pam_google_authenticator.so

그러면 먼저 인증 코드를 입력 한 다음 암호를 입력하라는 메시지가 표시됩니다 (확인 코드를 올바르게 입력했는지 여부에 관계없이). 이 구성을 사용하면 인증 코드 또는 비밀번호를 잘못 입력 한 경우 다시 입력해야합니다. 나는 조금 더 성가신 일이지만 동의합니다. 보안 또는 보안 감각을 원하십니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.