Google Authenticator สำหรับเดสก์ท็อป (ปลั๊กอิน lightdm หรือ gdm)


10

มีคำถามคล้าย ๆ กันแต่นั่นไม่ใช่สิ่งที่ฉันต้องการ

ฉันต้องการทราบว่ามีปลั๊กอินหรือส่วนเสริมสำหรับ lightdm หรือ gdm ที่อนุญาตให้ฉันตรวจสอบสิทธิ์โดยใช้รหัสผ่านและ Google authenticator หรือไม่ ฉันกำลังพูดถึงการป้อนรหัส GA ของคุณในการเข้าสู่ระบบบนเดสก์ท็อป - ทั้ง GUI หรือบรรทัดคำสั่ง, การเข้าสู่ระบบเชลล์ - เพื่อเข้าถึงเดสก์ท็อปในเครื่องของคุณ

คำตอบ:


8

ดูโพสต์บล็อกนี้ที่ชื่อ: การรับรองความถูกต้องของ Google แบบสองขั้นตอนบนเดสก์ท็อปของคุณคืออะไร

การติดตั้ง

sudo apt-get install libpam-google-authenticator

การใช้

google-authenticator

   เอสเอส # 1                                                 เอสเอส # 2

จากการโพสต์บล็อกมีรุ่นของ lightdm-kde ที่มีการรับรองความถูกต้อง 2 ปัจจัยซึ่งสามารถใช้ประโยชน์จาก Google Authenticator เมื่อคุณเพิ่มโมดูล PAM ที่รวมอยู่ในสภาพแวดล้อมของคุณ

auth required pam_google_authenticator.so

ส่งผลให้การเข้าสู่ระบบ GUI ของคุณมีลักษณะเช่นนี้:

เอสเอส # 3 เอสเอส # 4

แหล่งที่มาที่นี่


3
ยินดีต้อนรับสู่ AskUbuntu คุณสามารถรวมส่วนสำคัญของลิงค์ที่นี่ได้ไหม ขอบคุณ!
penreturns

ยอดเยี่ยม สิ่งนี้จะทำให้ผู้ใช้ทั้งหมดต้องการ GA หรือไม่ มันจะทำงานอย่างไรในการกู้คืนระบบ ฉันเดาว่าผู้ใช้รูทจะต้องกำหนดค่านี้อย่างถูกต้องเช่นกันในกรณีที่คุณต้องกลับไปที่คอนโซลการกู้คืน
JulioHM

1
@ JulioHM ดูคำตอบของฉันในที่ มีตัวเลือก "ย้ายข้อมูล" ที่จะไม่ทำให้ GA เป็นข้อกำหนดสำหรับผู้ใช้ทั้งหมด
mniess

14

การติดตั้ง

ติดตั้งโมดูล PAM ของ Google Authenticator เช่นนี้:

sudo apt-get install libpam-google-authenticator

ตอนนี้เรียกใช้google-authenticator(ภายในเทอร์มินัล) สำหรับผู้ใช้ทุกคนที่คุณต้องการใช้ Google Authenticator ด้วยและทำตามคำแนะนำ คุณจะได้รับรหัส QR เพื่อสแกนด้วยสมาร์ทโฟนของคุณ (หรือลิงค์) และรหัสฉุกเฉิน

องค์ประกอบ

เพื่อเปิดใช้งานดู Google Authenticator ภายในไดเรกทอรี/etc/pam.d แยก มีไฟล์สำหรับทุกวิธีในการตรวจสอบสิทธิ์กับคอมพิวเตอร์ของคุณ คุณต้องแก้ไขไฟล์กำหนดค่าสำหรับทุกบริการที่คุณต้องการใช้กับ Google Authenticator ด้วย หากคุณต้องการที่จะใช้กับ SSH แก้ไขsshdถ้าคุณต้องการที่จะใช้ใน LightDM แก้ไขlightdm ในไฟล์เหล่านั้นเพิ่มหนึ่งในบรรทัดต่อไปนี้:

auth required pam_google_authenticator.so nullok
auth required pam_google_authenticator.so

ใช้บรรทัดแรกในขณะที่คุณยังคงโยกย้ายผู้ใช้ไปยัง Google Authenticator ผู้ใช้ที่ไม่ได้กำหนดค่าสามารถเข้าสู่ระบบได้บรรทัดที่สองจะบังคับให้ใช้งาน Google Authenticator ผู้ใช้ที่ไม่มีมันไม่สามารถลงชื่อเข้าใช้ได้อีกต่อไป สำหรับ sshd มันค่อนข้างสำคัญที่คุณจะวางบรรทัดที่ด้านบนของไฟล์เพื่อป้องกันการโจมตีด้วยรหัสผ่านของคุณ

หากต้องการเพิ่มลงใน LightDM คุณสามารถเรียกใช้สิ่งนี้:

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

ตอนนี้เมื่อคุณเข้าสู่ระบบคุณจะถูกถามแยกรหัสผ่านและรหัสการรับรองความถูกต้องแบบสองขั้นตอน

ไดเรกทอรีบ้านที่เข้ารหัส

หากคุณใช้การเข้ารหัสที่บ้าน (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 ได้รับการกำหนดค่าตามที่อธิบายไว้ด้านบนก่อนหน้านี้ยังคงทำให้ระบบของคุณเปิดให้มีการโจมตีด้วยรหัสผ่านของคุณ นั่นอาจเป็นปัจจัยแรกที่ทำให้ประนีประนอม: รหัสผ่านของคุณ โดยส่วนตัวแล้วฉันตัดสินใจที่จะเพิ่มบรรทัดต่อไปนี้ไม่ได้อยู่ด้านล่าง แต่ที่ด้านบนสุดของ/etc/pam.d/sshdไฟล์เนื่องจากก่อนหน้านี้ไม่ได้ระบุว่าเคลียร์:

auth required pam_google_authenticator.so

ผลลัพธ์นั้นจะเป็นพรอมต์แรกสำหรับรหัสยืนยันของคุณจากนั้นสำหรับรหัสผ่านของคุณ (ไม่ว่าคุณจะป้อนรหัสยืนยันถูกต้องหรือไม่ก็ตาม) ด้วยการกำหนดค่านี้หากคุณป้อนรหัสยืนยันหรือรหัสผ่านไม่ถูกต้องคุณจะต้องป้อนทั้งสองอีกครั้ง ฉันยอมรับว่ามันเป็นเรื่องที่น่ารำคาญ แต่เฮ้: คุณต้องการความปลอดภัยหรือแค่ความปลอดภัย?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.