Tổng quan
Trong môi trường Active Directory, việc sử dụng Xác thực Windows tích hợp (Kerberos) cho phép người dùng sử dụng cùng thông tin đăng nhập mà họ dùng để đăng nhập vào Windows.Đăng nhập một lần (SSO) tự động vào CAMServer mà không cần đăng nhập thêm vào C&M. Có thể.
Theo truyền thống, hệ thống này yêu cầu xây dựng bằng IIS/ASP.NET, nhưng với tính năng này, CAMServer trực tiếp xử lý xác thực Kerberos. Điều này cho phép cấu hình SSO đơn giản hơn bằng cách sử dụng xác thực Windows tích hợp mà không cần các máy chủ bổ sung như IIS.
Luồng SSO
Luồng xử lý SSO
- Truy cập CAMServer
Người dùng truy cập CAMServer thông qua trình duyệt. Khi truy cập, một mã thông báo tạm thời cho ứng dụng sẽ được gửi qua phương thức POST. - Yêu cầu xác thực
Sau khi xác minh mã thông báo tạm thời, CAMServer yêu cầu xác thực Windows (Negotiate) từ trình duyệt. - Lấy vé Kerberos
Trình duyệt sử dụng thông tin đăng nhập Windows.
Lấy vé dịch vụ Kerberos từ KDC của Active Directory. - Gửi vé Kerberos
Trình duyệt sử dụng vé Kerberos đã được cấp.
Tiêu đề HTTP được thêm vào và thông báo được gửi lại cho CAMServer. - Xác minh vé
CAMServer sử dụng keytab để xác minh vé Kerberos. Nếu quá trình xác minh thành công, nó sẽ truy xuất thông tin người dùng Kerberos có trong vé. - Tìm kiếm LDAP và đối sánh người dùng CAM
Hệ thống thực hiện tìm kiếm LADP bằng cách sử dụng thông tin người dùng Kerberos đã truy xuất để lấy thông tin người dùng từ AD và so sánh thông tin đó với người dùng đã đăng ký trong CAMServer. Nếu tìm thấy sự trùng khớp, quá trình đăng nhập sẽ được cho phép. - Đăng nhập thành công
CAMServer thực hiện một phiên đăng nhập.
Người dùng có thể sử dụng CAMServer mà không cần hiển thị màn hình đăng nhập.
Nếu bạn truy cập trang web bằng tên miền khác với tên miền đầy đủ (FQDN) được sử dụng cho xác thực Windows, hoặc nếu bạn truy cập từ máy tính không được kết nối với miền, quá trình xác thực đăng nhập sẽ được thực hiện trên máy chủ điều khiển và quản lý (C&M).
Yêu cầu vận hành
Để sử dụng tính năng này, cần có các điều kiện môi trường sau.
Môi trường Active Directory
- Cần phải thiết lập một miền Active Directory.
Máy chủ CAM
- Kế hoạch tối thượngSử dụng
- CAMServer phải có thể truy cập được thông qua Tên miền đủ điều kiện (FQDN) của nó.
- Máy chủ Windows chạy CAMServer phải được tham gia vào một miền Active Directory.
Để kiểm tra xem máy chủ Windows hiện tại đang tham gia vào những miền nào, hãy vào "Trình quản lý máy chủ" → nhấp vào "Máy chủ cục bộ" trong menu bên trái → nhấp vào "Tên máy tính" và tham khảo trường miền.
Người dùng
- Máy tính của người dùng phải được kết nối với miền và đăng nhập vào Windows thông qua miền đó.
- Người dùng đủ điều kiện SSO là những người dùng có ID người dùng là Tên hiệu trưởng của người dùng (Bạn phải đăng ký trước với CAMServer ở định dạng UPN (ví dụ: user@camtest.com))
Các trình duyệt được hỗ trợ
Xác thực SSO của Windows khả dụng trên các trình duyệt sau.
- Microsoft Edge
- Google Chrome
- ứng dụng
Về cấu hình bộ cân bằng tải
Xác thực Windows (Kerberos) là một phương thức xác thực sử dụng các tiêu đề xác thực HTTP để đàm phán, do đó CAMServer phải tiếp tục chạy trên cổng 443 và bộ cân bằng tải phải là L4 (truyền qua TLS).
Cấu hình được đề xuất
Người dùng ──HTTPS──▶ Bộ cân bằng tải L4 (Truyền qua TLS) ──HTTPS──▶ Máy chủ CAM(443)
Cấu hình NG
Người dùng──HTTPS──▶ Bộ cân bằng tải L7 (Chấm dứt SSL) ──HTTP──▶ Máy chủ CAM (8080)
Quy trình xây dựng
Quy trình thiết lập sau đây sẽ được giải thích dựa trên "Ví dụ cấu hình".
Ví dụ cấu hình
- Tên miền đầy đủ (FQDN) dùng để xác thực trên Windows:
https://test.chat-messenger.com - Tên miền Active Directory:
camtest.com - Tài khoản dịch vụ:
cam-svc@camtest.com(CAMTEST\cam-svc)
Tổng quan về đăng ký SPN
SPN (Tên dịch vụ chính) là tên dùng để xác định duy nhất một dịch vụ cụ thể trên Active Directory trong xác thực Kerberos. Nếu bạn truy cập dịch vụ bằng FQDN, việc đăng ký SPN sẽ cho phép máy khách yêu cầu thành công phiếu Kerberos cho dịch vụ bạn đang truy cập.
Ví dụ https://test.chat-messenger.com Khi truy cập dịch vụ, máy khách (trình duyệt) yêu cầu một vé xác thực từ Active Directory với nội dung: "Tôi muốn kết nối với dịch vụ có tên HTTP/test.chat-messenger.com." Active Directory kiểm tra xem SPN được liên kết với tài khoản nào và cấp vé dịch vụ tương ứng. Nếu SPN không được đăng ký chính xác, quá trình xác thực Kerberos sẽ thất bại.
Tài khoản dịch vụ
Tạo tài khoản dịch vụ để xác thực Kerberos. Mặc dù điều này có thể thực hiện được với người dùng miền, nhưng nhìn chung nên tách biệt tài khoản người dùng và tài khoản dịch vụ để tránh các lỗi không mong muốn và làm rõ phạm vi áp dụng chính sách mật khẩu.OU=Tài khoản dịch vụ Giống như, OU Người sử dụng Khác với bộ điều khiển miền Active Directory,cam-svc Tạo một cái mới.
Vui lòng kiểm tra các tùy chọn sau trong tài khoản của bạn.
- Hãy thiết lập mật khẩu của bạn không bao giờ hết hạn.
- Tài khoản này hỗ trợ mã hóa Kerberos AES 256-bit.
Đăng ký SPN với tài khoản dịch vụ
setspn -S HTTP/test.chat-messenger.com CAMTEST\cam-svcĐăng ký SPN bằng tài khoản dịch vụ đã tạo ở trên.
- Có thể sử dụng bất kỳ thiết bị đầu cuối nào là một phần của miền. Tuy nhiên, cần có quyền quản trị viên miền.
・SPN cũng được sử dụng trong giao tiếp HTTPS.HTTP/tên máy chủBạn phải đăng ký theo mẫu sau:
Sử dụng lệnh sau để xác minh rằng SPN đã được đăng ký.
setspn -L CAMTEST\cam-svcTạo keytab
Để cho phép CAMServer xác thực vé Kerberos, hãy tạo tệp keytab cho tài khoản dịch vụ. Chạy lệnh sau trên máy chủ quản lý Active Directory:
ktpass /out CAMServer\config\windowsAuth\cam.keytab /princ HTTP/test.chat-messenger.com@CAMTEST.COM /mapuser CAMTEST\cam-svc /ptype KRB5_NT_PRINCIPAL /crypto AES256-SHA1 /pass "*******"Cài đặt CAMServer
Để sử dụng xác thực Windows, hãy thêm đoạn mã sau vào tệp cấu hình CAMServer (boot.ini). Vui lòng thay thế từng giá trị cho phù hợp với môi trường của bạn.
# Kerberos レルム(通常は Active Directory ドメイン名を大文字で指定)
# 例: camtest.com ドメイン → CAMTEST.COM
cam.windowsAuth.realm=CAMTEST.COM
# Windows認証を行うFQDN
cam.windowsAuth.FQDN=test.chat-messenger.com
# Kerberos KDC
# 通常は Active Directory のドメインコントローラのFQDN。ポートTCP/UDP 88 は Kerberos 標準ポートでリッスンされている
cam.windowsAuth.kdc=ad.camtest.com:88
Đặt tùy chọn Internet
Thêm tên miền đầy đủ (FQDN) của CAMServer vào vùng intranet.
Chọn Tùy chọn Internet, nhấp vào tab "Bảo mật" và chọn "Mạng nội bộ cục bộ". Nhấp vào nút "Trang web", chọn "Nâng cao" và thêm URL của trang web (https://test.chat-messenger.com).
Kiểm tra đăng nhập tự động
Nhấp vào "Cấp tùy chỉnh" và trong "Xác thực người dùng" → "Đăng nhập", đảm bảo "Đăng nhập tự động trong vùng mạng nội bộ" được chọn.
Di chuyển từ SSO sử dụng xác thực Windows tích hợp trong IIS
- Gỡ cài đặt chức năng IIS (Trình quản lý máy chủ > Quản trị > Gỡ bỏ vai trò và tính năng)
- Gỡ cài đặt gói lưu trữ ASP.NET Core
- Tài khoản dịch vụ làTài khoản này hỗ trợ mã hóa Kerberos AES 256-bit."kiểm tra
- keytab tạo nên
- Trong phần cài đặt Tùy chọn Internet, hãy thêm tên miền đầy đủ (FQDN) của CAMServer vào vùng Mạng nội bộ (nếu chưa được thêm).
- Nếu bộ cân bằng tải được kết nối với CAMServer ở lớp L7, hãy đặt chứng chỉ SSL trên CAMServer và kết nối ở lớp L4.
