HƯỚNG DẪN Bảo mật SSH với chứng thực hai bước của Google Authenticator

Thảo luận trong 'KIẾN THỨC VPS/SERVER' bắt đầu bởi quyet1990, 30/11/16.

  1. quyet1990

    quyet1990 New Member

    Tham gia ngày:
    22/10/16
    Bài viết:
    220
    Đã được thích:
    0
    Bạn có muốn bảo vệ máy chủ SSH với chứng thực hai bước một cách dễ dàng? Google cung cấp các phần mềm cần thiết để tích hợp hệ thống của Google Authenticator’s time-based one-time password (TOTP) với máy chủ SSH của bạn. Bạn sẽ phải nhập mã từ điện thoại của bạn khi bạn kết nối.

    Google Authenticator không "nhà điện thoại" to Google - tất cả mọi việc xảy ra trên máy chủ SSH của bạn và điện thoại của bạn. Trong thực tế, Google Authenticator là hoàn toàn mã nguồn mở, do đó bạn thậm chí có thể kiểm tra mã nguồn của nó cho mình.

    Google Authenticator không "phone home" to Google - tất cả mọi việc xảy ra trên máy chủ SSH của bạn và điện thoại của bạn. Trong thực tế, Google Authenticator là hoàn toàn mã nguồn mở, do đó bạn thậm chí có thể kiểm tra mã nguồn của nó cho mình.

    Cài đặt Google Authenticator
    Để thực hiện chứng thực đa hệ với Google Authenticator, chúng tôi sẽ cần mã nguồn mở Google Authenticator PAM module. PAM là viết tắt của " pluggable authentication module " - đó là một cách dễ dàng để plug các hình thức khác nhau của xác thực vào một hệ thống Linux.

    Kho phần mềm của Ubuntu có một gói phần mềm để cài đặt cho Google Authenticator PAM module. Nếu phân phối Linux của bạn không có một gói phần mềm này, bạn sẽ phải tải nó từ trang download Google Authenticator trên Google Code và biên dịch nó cho mình.

    Để cài đặt gói phần mềm trên Ubuntu, chạy lệnh sau:
    Mã:
     apt-get install libpam-google-authenticator 
    (Điều này sẽ chỉ cài đặt module PAM trên hệ thống của chúng tôi - chúng tôi sẽ phải kích hoạt nó để đăng nhập SSH bằng tay.)
    [​IMG]

    Tạo một khóa xác thực
    Đăng nhập với user mà bạn sẽ sử dụng để đăng nhập vào máy chủ từ xa và chạy lệnh google-authenticator để tạo ra một chìa khóa bí mật cho người dùng đó.
    Cho phép lệnh này để cập nhật tập tin Google Authenticator của bạn bằng cách nhập phím ‘y’. Sau đó bạn sẽ được nhắc với một số câu hỏi mà sẽ cho phép bạn hạn chế sử dụng của cùng một token bảo mật tạm thời, tăng thời gian cửa sổ mà token có thể được sử dụng, và giới hạn cho phép truy cập để cản trở tấn công brute-force.
    [​IMG]

    Google Authenticator sẽ giới thiệu bạn với một khóa bí mật và một số " emergency scratch code”. Viết ra emergency scratch codes ở một nơi an toàn, chúng chỉ có thể được sử dụng một lần, và chúng sẽ được sử dụng nếu bạn mất điện thoại của bạn.
    [​IMG]

    Nhập khóa bí mật trong ứng dụng Google Authenticator trên điện thoại của bạn (ứng dụng chính thức dành cho Android, iOS và Blackberry). Bạn cũng có thể sử dụng tính năng quét barcode - đi đến URL nằm gần đầu ra của lệnh và bạn có thể quét mã QR bằng camera của điện thoại.
    [​IMG]
    Bây giờ bạn sẽ có một mã xác minh thay đổi liên tục trên điện thoại của bạn.
    [​IMG]
    Nếu bạn muốn đăng nhập từ xa sử dụng nhiều user, chạy lệnh này cho mỗi user. Mỗi user sẽ có chìa khóa bí mật của mình và mã số riêng của họ.

    Kích hoạt Google Authenticator
    Tiếp theo bạn sẽ phải yêu cầu Google Authenticator cho đăng nhập SSH. Để làm như vậy, mở tập tin /etc/pam.d/sshd trên hệ thống của bạn (ví dụ, với lệnh nano /etc/pam.d/sshd) và thêm các dòng sau vào tập tin:
    Mã:
     auth required pam_google_authenticator.so 
    Tiếp theo, mở tập tin /etc/ssh/sshd_config, tìm đến dòng ChallengeResponseAuthentication, và thay đổi nó như sau:
    Mã:
     ChallengeResponseAuthentication yes 
    (Nếu dòng ChallengeResponseAuthentication không tồn tại, thêm dòng trên vào tập tin.)

    Cuối cùng, khởi động lại máy chủ SSH để áp dụng các thay đổi:
    Mã:
     service ssh restart 
    [​IMG]
    Bạn sẽ được nhắc nhở cho cả mật khẩu và mã Google Authenticator bất cứ khi nào bạn cố gắng đăng nhập qua SSH.
    [​IMG]
     

Chia sẻ trang này

Đang tải...