Làm cách nào tôi có thể bảo mật hệ thống của mình hơn bằng cách sử dụng xác thực 2 yếu tố?


16

Tiêu đề khá nhiều nói nó. Tôi đã được nghe nhiều hơn về xác thực 2 yếu tố, mật khẩu một lần, mã thông báo cứng và các tính năng bảo mật được cải thiện khác. Với việc bảo mật ngày càng giảm khi chỉ sử dụng mật khẩu, tôi muốn biết làm thế nào tôi có thể cải thiện bảo mật của mình trên Ubuntu. Tôi đang sử dụng 14.04 LTS với Unity.

Câu trả lời:


30

Bạn có thể sử dụng Mô-đun xác thực cắm được mã nguồn mở (PAM) do Google tạo, được gọi là Google Authenticator . Mô-đun này có sẵn trong kho lưu trữ tiêu chuẩn, cũng như từ GitHub để bạn có thể xây dựng từ nguồn. Kết hợp với Ứng dụng cùng tên của Android, iOS hoặc Blackberry, nó tạo ra các mã nhạy cảm với thời gian, dựa trên thời gian để xác thực cùng với mật khẩu của bạn. Vì nó là một mô-đun PAM, nó có thể được thả ở khá nhiều nơi . Bắt đầu nào!

Cài đặt

Để bắt đầu, bạn có thể cài đặt PAM bằng cách sau:

sudo apt-get install libpam-google-authenticator

Đơn giản!

Thiết lập nó:

Sau khi được cài đặt, bạn cũng muốn cài đặt ứng dụng di động tương ứng cho Android, iOS hoặc Blackberry (tùy thuộc vào nền tảng di động của bạn). Mỗi người đều vô dụng nếu không có người kia. Sau khi bạn có ứng dụng bạn cần cho thiết bị di động của mình, hãy chạy các bước sau trong thiết bị đầu cuối:

google-authenticator

Điều này sẽ bắt đầu bằng cách hỏi bạn một vài câu hỏi Câu hỏi đầu tiên là câu hỏi duy nhất bạn phải trả lời "Có" và nó hỏi bạn có muốn các mã dựa trên thời gian không. Sau đó, đọc từng câu hỏi và đưa ra lựa chọn có ý nghĩa nhất với bạn.

Sau khi hoàn thành thiết lập ban đầu, bạn sẽ thấy một mã QR rất lớn trong thiết bị đầu cuối của mình, cũng như một số thông tin khác. Dòng có nội dung "Khóa bí mật mới của bạn là:" là một dòng rất cần thiết nếu bạn không muốn sử dụng mã QR để ghép nối thiết bị của mình, vì vậy đừng đóng cửa sổ này cho đến khi bạn thiết lập! "Mã cào" này cung cấp cho bạn cũng rất quan trọng, vì chúng là những gì bạn sẽ sử dụng để đăng nhập nếu bạn mất thiết bị di động. Viết chúng xuống và lưu trữ chúng ở một nơi an toàn.

Bây giờ, trên thiết bị di động của bạn, hãy mở ứng dụng Google Authenticator của bạn và chọn "Thiết lập tài khoản". Bạn có thể quét mã QR đã được tạo hoặc chọn "Sử dụng khóa được cung cấp". Nếu bạn quét mã QR, mọi thứ sẽ được lưu tự động trong tài khoản có tên "your_user @ your_host". Tuy nhiên, nếu bạn chọn "Sử dụng khóa được cung cấp", bạn sẽ phải nhập tên, khóa và loại mã thông báo theo cách thủ công. Tên có thể là bất cứ điều gì bạn muốn. Khóa sẽ là khóa bí mật được tạo trước đó. Loại sẽ là dựa trên thời gian mặc định. Sau khi thiết lập nó, bạn sẽ thấy tài khoản trên khung chính của ứng dụng Google Authenticator, cũng như đồng hồ bấm giờ hình tròn bên cạnh. Bộ đếm thời gian đó cạn kiệt cứ sau 30 giây và một mã mới được tạo.

Kích hoạt nó!

Đây là điều kỳ diệu. Vì đây là mô-đun PAM, nên nó có thể được sử dụng ở nhiều nơi. Tôi sẽ duyệt qua việc thêm xác thực vào sudocác yêu cầu, đăng nhập SSH và đăng nhập lightdm. Tuy nhiên, sau khi đọc hướng dẫn này, bạn sẽ có thể kích hoạt nó ở nơi khác dựa trên các kỹ thuật tương tự.

SSH

Tôi đang làm điều này đầu tiên vì có thêm một bước. Điều đầu tiên bạn cần làm là chỉnh sửa tệp cấu hình SSH:

gksudo gedit /etc/ssh/sshd_config

Tìm kiếm dòng có nội dung:

ChallengeResponseAuthentication no

và thay đổi "không" thành "có".

Bây giờ, bạn cần chỉnh sửa mô-đun PAM cho ssh:

gksudo gedit /etc/pam.d/sshd

Ở phần cuối của tệp này, thêm dòng sau:

auth required pam_google_authenticator.so nullok

Đối số "nullok" yêu cầu hệ thống không yêu cầu mã xác minh nếu người dùng chưa thiết lập xác thực hai yếu tố. Sau khi chỉnh sửa, hãy tiếp tục và khởi động lại dịch vụ ssh của bạn:

sudo service ssh restart

sudo Yêu cầu

Chỉnh sửa tệp PAM cho sudo:

gksudo gedit /etc/pam.d/sudo

Thêm dòng sau vào cuối:

auth required pam_google_authenticator.so nullok

Bây giờ mọi sudoyêu cầu sẽ yêu cầu mã xác minh cũng như mật khẩu.

LightDM (Đăng nhập GUI)

Chỉnh sửa tệp PAM cho LightDM:

gksudo gedit /etc/pam.d/lightdm

Thêm dòng sau vào cuối:

auth required pam_google_authenticator.so nullok

Đó là nó! Mỗi khi bạn đăng nhập thông qua GUI, nó sẽ yêu cầu mã xác minh sau mật khẩu của bạn.

Đăng nhập toàn hệ thống và TTY

Ngay cả khi bạn kích hoạt các phương thức trên, nó vẫn sẽ không yêu cầu mã xác minh nếu bạn chuyển sang TTY có CTRL+ ALT+ F#. Để khắc phục điều này, hãy chỉnh sửa common-authtệp PAM:

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

và thêm dòng sau vào cuối:

auth required pam_google_authenticator.so nullok

Lưu ý: Vì tệp auth chung này được bao gồm trong tất cả các tệp loại auth khác, bạn cần xóa các dòng yêu cầu auth khỏi các tệp khác. Nếu không, nó sẽ yêu cầu mã xác minh hai lần và không cho phép bạn đăng nhập sau.

Gói (lại

Như bạn có thể thấy, thật dễ dàng để thêm xác thực này. Nếu bạn sử dụng trình quản lý hiển thị khác với LightDM, bạn có thể dễ dàng thay đổi dòng lightdm ở trên cho phù hợp. Vì thiết bị di động và hệ thống của bạn đã chia sẻ khóa bí mật này, nên chúng phải luôn được đồng bộ hóa. Không có tương tác với máy chủ Google hoặc bất kỳ tài nguyên internet nào khác cho thiết lập này. Ngay cả khi cả hai thiết bị hoàn toàn ngoại tuyến, mã xác minh hiển thị trong ứng dụng của bạn sẽ chính xác. Bất cứ khi nào bạn cần đăng nhập thông qua một trong những phương thức bạn đã bật, chỉ cần đảm bảo mở ứng dụng di động của bạn và lấy mã xác minh hiện tại.

Chúc vui vẻ!!


Bình luận cho các ghi chú sau. Được viết tốt! +1 =)
Terrance

+1 - điều này thực sự hay và được viết tốt.
Nathan Osman

1
Và sau đó điện thoại của bạn quyết định nó không còn nguồn và muốn tắt máy. :) +1
Rinzwind

Đó là những gì các mã cào dành cho, @Rinzwind: D

Đã thêm trong hướng dẫn để bật hai yếu tố trên TTY.

1

FreeOTP là một giải pháp thay thế nguồn mở cho ứng dụng Google Authenticator Android trên Google Play (có mã hiện tại không phải là nguồn mở). FreeOTP có sẵn trên F-Droid (và Google Play ).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.