12/08/2018, 15:35

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

0