Phần 1/2: Hệ thống PrivacyIDEA giải pháp xác thực 2 bước, chứng thực - quản lý tập trung.
PrivacyIDEA giải pháp xác thực 2 bước, chứng thực-quản lý tập trung. Giới thiệu: - Bạn đã bao giờ thấy Google/Microsoft/Skype gửi cho bạn 1 đoạn mã qua SMS/Email để đăng nhập chưa? . - Bạn đã dùng thiết bị tạo key OTP của 1 số ngân hàng để thanh toán giao dịch chưa? (vd: techcombank) - Bạn đã ...
PrivacyIDEA giải pháp xác thực 2 bước, chứng thực-quản lý tập trung. Giới thiệu:
- Bạn đã bao giờ thấy Google/Microsoft/Skype gửi cho bạn 1 đoạn mã qua SMS/Email để đăng nhập chưa? . - Bạn đã dùng thiết bị tạo key OTP của 1 số ngân hàng để thanh toán giao dịch chưa? (vd: techcombank) - Bạn đã dùng ssh-key để login vào server bao giờ chưa? - Bạn đã dùng thiết bị OTP (One Time Password Mật khẩu thay đổi theo thời gian) bao giờ chưa?
Ở Bài viết này. Chúng ta sẽ đi xây dựng hệ thống server xác thực 2 bước và các ứng dụng của nó.
Phần 1 : Cài đặt PrivacyIDEA server
Phần 2: Login ubuntu sử dụng OTP token key.
Phần 3: Quản lý tập trung ssh-key bằng privacyIDEA.
Phần 4: Basic Authen Apache sử dụng OTP token key.
Phần 5: Sử dụng OTP PrivacyIDEA cho Freeradius.
Phần 6: Policy cho user
Phần 7: Quản lý user client trong PrivacyIDEA (sqlrealm/dbrealm/ldap/Activedirectory)
Phần 8: HA cho PrivacyIDEA
Phần 9: SSO update...
Nguồn : (https://privacyidea.readthedocs.io/en/latest/index.html)
Đứng về mặt system-admin. Ta sẽ có sơ đồ sau
(Nguồn: https://privacyidea.readthedocs.io/en/latest/) 1.Cài đặt trên Ubuntu 16.04
add-apt-repository ppa:privacyidea/privacyidea apt-get update apt-get install python-privacyidea privacyideaadm
- Cài đặt gói giao diện cho PrivacyIDEA
apt-get install privacyidea-apache2
Trong gói cài đặt privacyidea-apache2, sẽ bao gồm cả mysql. Vì vậy bạn cần nhập mật khẩu mysql trong lúc cài đặt.
-- Tạo tài khoản admin đăng nhập web PrivacyIDEA
pi-manage admin add admin -e admin@localhost
Truy cập vào địa chỉ https://<your_privacyidea_ip> đăng nhập với pass là admin/<password> như đã tạo ở bước trên.
Lần đầu tiên đăng nhập, bạn sẽ được hỏi tự động tạo Default Realm. Nếu chưa sử dụng bao giờ, bạn nên chọn Create Realm.
Như vậy, bạn đã hoàn tất việc cài đặt PrivacyIDEA server. Việc ứng dụng PrivacyIDEA 2factor sẽ được hướng dẫn ở các phần tiếp theo.
(Nguồn: https://www.privacyidea.org/ssh-keys-and-otp-really-strong-two-factor-authentication/) Mô tả: Ta có thể sử dụng mật khẩu thay đổi theo thời gian để đăng nhập vào pc/server. Như vậy việc bỏ đi mật khẩu cố định sẽ rất an toàn cho hệ thống cũng như máy cá nhân.
Bước 1: Cài Đặt
add-apt-repository ppa:privacyidea/privacyidea apt-get update apt-get install privacyidea-pam
Kiểm tra UsePAM đã được enable chưa
#vim /etc/ssh/sshd_config UsePAM yes
Đổi config của PAM
Đổi: @include common-auth Thành: @include common-auth-pi
Thay đổi config:
#vim /etc/pam.d/common-auth-pi auth [success=2 default=ignore] pam_unix.so nullok_secure auth [success=1 default=ignore] pam_python.so /lib/security/privacyidea_pam.py url=https://ĐỊA_CHỈ_PRIVACYIDEA_SERVER auth nosslverify debug auth requisite pam_deny.so auth required pam_permit.so auth optional pam_cap.so
Chú ý đổi địa chỉ về privacy-server của bạn. Khi bạn nhập mật khẩu token key, PAM sẽ dùng python để lấy mật khẩu được đồng bộ ở trên server privacy về.
etc/init.d/ssh restart
Bước 2: Tạo token key trên server. Vào mục User chọn user nào được chỉ định
Chọn Enroll New Token
Ta chọn TOTP
Cài đặt phần mềm trên điện thoại: Google authenticator
Như vậy là trên màn hình điện thoại, ta đã có password cho user FRAMGIA thay đổi theo thời gian. Khi đăng nhập, ta có thể dung pass này . Có một thắc mắc hỏi? tại sao ko dùng google authenticator có sẵn trên ppa của ubuntu, mà phải mất công đi cài privacyIDEA. Đó là vì PrivacyIDEA hỗ trợ quản lý user tập trung. Khi cần ta có thể cấp mã cho user. Khi loại bỏ quyền thì rất dễ dàng có thể xóa đoạn authen ngay trên giao diện web quản lý…..
Mời bạn theo dõi tiếp bài sau của tôi. FRAMGIA : https://viblo.asia skype: tuanduong122
Do kiến thức của người viết có hạn. Nếu bài viết thấy có lỗi hoặc sai sót. Mong các bạn comment/contact giúp bài viết hoàn thiện hơn. Xin cảm ơn