ฉันจะทำให้ระบบของฉันปลอดภัยยิ่งขึ้นโดยใช้การพิสูจน์ตัวตนแบบ 2 ปัจจัยได้อย่างไร


16

ชื่อค่อนข้างบอกว่ามัน ฉันได้ยินเกี่ยวกับการรับรองความถูกต้องมากกว่า 2 ปัจจัยรหัสผ่านครั้งเดียวโทเค็นและคุณลักษณะความปลอดภัยที่ได้รับการปรับปรุงอื่น ๆ ด้วยความปลอดภัยที่ลดลงของการใช้รหัสผ่านฉันต้องการทราบว่าฉันสามารถปรับปรุงความปลอดภัยบน Ubuntu ได้อย่างไร ฉันใช้ 14.04 LTS กับ Unity

คำตอบ:


30

คุณสามารถใช้โอเพนซอร์สเสียบได้รับรองความถูกต้อง Module (PAM) สร้างโดย Google ที่เรียกว่าGoogle Authenticator โมดูลนี้มีอยู่ในที่เก็บมาตรฐานเช่นเดียวกับจาก GitHub เพื่อให้คุณสามารถสร้างจากแหล่งที่มา เมื่อรวมกับแอพ Android, iOS หรือ Blackberry ที่มีชื่อเดียวกันมันจะสร้างรหัสตามเวลาและเวลาที่สำคัญสำหรับการตรวจสอบสิทธิ์พร้อมกับรหัสผ่านของคุณ เพราะมันเป็นโมดูล PAM ก็สามารถลดลงในทุกที่สวยมาก มาเริ่มกันเลย!

การติดตั้ง

ในการเริ่มต้นคุณสามารถติดตั้ง PAM ดังต่อไปนี้:

sudo apt-get install libpam-google-authenticator

! ง่าย

ตั้งค่า:

หลังจากติดตั้งแล้วคุณจะต้องติดตั้งแอปพลิเคชั่นมือถือที่เกี่ยวข้องสำหรับ Android, iOS หรือ Blackberry (ขึ้นอยู่กับแพลตฟอร์มมือถือของคุณ) แต่ละคนไม่มีประโยชน์หากไม่มีสิ่งอื่น หลังจากคุณมีแอปพลิเคชันที่คุณต้องการสำหรับอุปกรณ์มือถือของคุณให้เรียกใช้สิ่งต่อไปนี้ในเทอร์มินัล:

google-authenticator

สิ่งนี้จะเริ่มต้นด้วยการถามคำถามสองสามข้อคำถามแรกเป็นคำถามเดียวที่คุณต้องตอบว่า "ใช่" และจะถามว่าคุณต้องการให้รหัสเป็นไปตามเวลาหรือไม่ หลังจากนั้นให้อ่านคำถามแต่ละข้อและเลือกตัวเลือกที่เหมาะสมกับคุณมากที่สุด

เมื่อเสร็จสิ้นการตั้งค่าเริ่มต้นคุณจะเห็นรหัส QR ขนาดใหญ่มากในเทอร์มินัลของคุณรวมถึงข้อมูลอื่น ๆ บรรทัดที่ระบุว่า "คีย์ลับใหม่ของคุณคือ:" เป็นบรรทัดที่จำเป็นมากหากคุณไม่ต้องการใช้รหัส QR สำหรับการจับคู่อุปกรณ์ของคุณดังนั้นอย่าปิดหน้าต่างนี้จนกว่าคุณจะตั้งค่า! "รหัสรอยขีดข่วน" สิ่งนี้จะช่วยให้คุณมีความสำคัญเนื่องจากเป็นสิ่งที่คุณจะใช้ในการเข้าสู่ระบบหากอุปกรณ์มือถือของคุณสูญหาย จดบันทึกและเก็บไว้ในที่ปลอดภัย

ตอนนี้บนอุปกรณ์มือถือของคุณเปิดแอปพลิเคชัน Google Authenticator และเลือก "ตั้งค่าบัญชี" คุณสามารถสแกนรหัส QR ที่สร้างขึ้นหรือเลือก "ใช้รหัสที่มีให้" หากคุณสแกนรหัส QR ทุกอย่างจะถูกบันทึกโดยอัตโนมัติภายใต้บัญชีที่ชื่อว่า "your_user @ your_host" อย่างไรก็ตามหากคุณเลือก "ใช้รหัสที่มีให้" คุณจะต้องป้อนชื่อคีย์และประเภทของโทเค็นด้วยตนเอง ชื่อสามารถเป็นอะไรก็ได้ที่คุณต้องการ กุญแจจะเป็นรหัสลับที่สร้างขึ้นก่อนหน้านี้ ประเภทจะเป็นค่าเริ่มต้นตามเวลา หลังจากตั้งค่าแล้วคุณจะเห็นบัญชีในบานหน้าต่างหลักของแอป Google Authenticator รวมถึงตัวจับเวลาเป็นรูปวงกลมถัดจากบัญชี ตัวจับเวลาดังกล่าวจะลดลงทุก 30 วินาทีและสร้างรหัสใหม่

เปิดใช้งานมัน!

นี่คือความมหัศจรรย์ เนื่องจากนี่คือโมดูล PAM จึงสามารถใช้งานได้ในหลายสถานที่ ฉันจะแนะนำการsudoร้องขอการเข้าสู่ระบบ SSH และการเข้าสู่ระบบ lightdm อย่างไรก็ตามหลังจากอ่านบทช่วยสอนนี้คุณจะสามารถเปิดใช้งานที่อื่นโดยใช้เทคนิคเดียวกัน

SSH

ฉันทำสิ่งนี้ก่อนเพราะมีขั้นตอนพิเศษ สิ่งแรกที่คุณต้องทำคือแก้ไขไฟล์กำหนดค่า SSH ของคุณ:

gksudo gedit /etc/ssh/sshd_config

ค้นหาบรรทัดที่ระบุว่า:

ChallengeResponseAuthentication no

และเปลี่ยน "ไม่" เป็น "ใช่"

ตอนนี้คุณต้องแก้ไขโมดูล PAM สำหรับ ssh:

gksudo gedit /etc/pam.d/sshd

ท้ายไฟล์นี้ให้เพิ่มบรรทัดต่อไปนี้:

auth required pam_google_authenticator.so nullok

อาร์กิวเมนต์ "nullok" บอกให้ระบบไม่ขอรหัสยืนยันหากผู้ใช้ไม่ได้ตั้งค่าการตรวจสอบสิทธิ์ด้วยสองปัจจัย หลังจากแก้ไขให้ไปข้างหน้าและเริ่มบริการ ssh ของคุณใหม่:

sudo service ssh restart

sudo การร้องขอ

แก้ไขไฟล์ PAM สำหรับsudo:

gksudo gedit /etc/pam.d/sudo

เพิ่มบรรทัดต่อไปนี้ที่ท้ายสุด:

auth required pam_google_authenticator.so nullok

ตอนนี้ทุกsudoคำขอจะขอรหัสยืนยันและรหัสผ่าน

LightDM (เข้าสู่ระบบ GUI)

แก้ไขไฟล์ PAM สำหรับ LightDM:

gksudo gedit /etc/pam.d/lightdm

เพิ่มบรรทัดต่อไปนี้ที่ท้ายสุด:

auth required pam_google_authenticator.so nullok

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

ทั้งระบบและการล็อกอิน TTY

แม้ว่าคุณจะเปิดใช้วิธีการดังกล่าวก็ยังจะไม่ขอรหัสยืนยันถ้าคุณสลับไปยัง TTY กับCTRL+ +ALT F#ในการแก้ไขปัญหานี้ให้แก้ไขcommon-authไฟล์ PAM:

gksudo gedit /etc/pam.d/common-auth

และเพิ่มบรรทัดต่อไปนี้ที่ส่วนท้ายสุด:

auth required pam_google_authenticator.so nullok

หมายเหตุ:เนื่องจากไฟล์ common-auth นี้รวมอยู่ในไฟล์ประเภท auth อื่น ๆ ทั้งหมดคุณจะต้องลบบรรทัดที่ต้องการ auth ออกจากไฟล์อื่น ๆ มิฉะนั้นจะขอรหัสยืนยันสองครั้งและไม่อนุญาตให้คุณเข้าสู่ระบบหลังจาก

สรุป

อย่างที่คุณเห็นมันเป็นเรื่องง่ายที่จะเพิ่มการตรวจสอบความถูกต้องนี้ถ้าคุณใช้ตัวจัดการการแสดงผลอื่นที่ไม่ใช่ LightDM คุณสามารถเปลี่ยนบรรทัด lightdm ด้านบนได้อย่างง่ายดาย เนื่องจากอุปกรณ์มือถือของคุณและระบบของคุณใช้รหัสลับนี้อยู่แล้วจึงควรซิงค์อยู่เสมอ ไม่มีการโต้ตอบกับเซิร์ฟเวอร์ของ Google หรือแหล่งข้อมูลอินเทอร์เน็ตอื่น ๆ สำหรับการตั้งค่านี้ แม้ว่าอุปกรณ์ทั้งสองจะออฟไลน์โดยสมบูรณ์ แต่รหัสยืนยันที่ปรากฏในแอปพลิเคชันของคุณจะถูกต้อง เมื่อใดก็ตามที่คุณต้องการลงชื่อเข้าใช้ด้วยวิธีใดวิธีหนึ่งที่คุณเปิดใช้งานเพียงเปิดแอปพลิเคชันมือถือของคุณและหยิบรหัสยืนยันปัจจุบัน

มีความสุข!!


การแสดงความคิดเห็นสำหรับบันทึกย่อในภายหลัง เขียนได้ดี! +1 =)
Terrance

+1 - นี่มันเจ๋งจริงๆและเขียนได้ดี
นาธานออสมัน

1
จากนั้นโทรศัพท์ของคุณตัดสินใจว่าไม่มีพลังงานมากขึ้นและต้องการปิดเครื่อง :) +1
Rinzwind

นั่นคือสิ่งที่รหัสรอยขีดข่วนมีไว้สำหรับ @Rinzwind: D

เพิ่มคำแนะนำสำหรับการเปิดใช้งานสองปัจจัยใน TTY

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