THỰC ĐƠN

Đăng nhập một lần (SSO) với xác thực Windows tích hợp.

mục lục

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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é.
  6. 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.
  7. Đă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.

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)

Trong bộ cân bằng tải L7, quá trình chấm dứt TLS và tái tạo HTTP diễn ra.
Có vẻ như nhiều hệ thống không hỗ trợ đàm phán xác thực Windows (Kerberos).

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.

Nếu bạn đã chỉ định tài khoản dịch vụ khi khởi động CAMServer như một dịch vụ Windows, bạn có thể sử dụng cùng một người dùng đó.

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.

Như mô tả bên dưới ktpass Để chỉ định AES256-SHA1, bạn cần bật hỗ trợ mã hóa AES 256-bit. Nếu không chỉ định, nó sẽ mặc định sử dụng RC4, loại mã hóa này sẽ bị loại bỏ trong tương lai do các lỗ hổng bảo mật.

Đă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-svc

Tạ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 "*******"

- /out: Tạo một thư mục có tên windowsAuth và xuất ra tệp CAMServer\config\windowsAuth\cam.keytab.
/princ: HTTP/ Đặt theo định dạng @<tên miền viết hoa>
- Mật khẩu được chỉ định trong /pass: phải là mật khẩu của tài khoản dịch vụ.
Nếu bạn thay đổi mật khẩu tài khoản dịch vụ, bạn sẽ cần tạo lại tệp keytab.

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.

Cài đặt này là bắt buộc trên tất cả các thiết bị đầu cuối máy khách của người dùng C&M nhưng nó có thể được quản lý tập trung bằng Bảng điều khiển quản lý chính sách nhóm.

Di chuyển từ SSO sử dụng xác thực Windows tích hợp trong IIS

  1. 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)
  2. Gỡ cài đặt gói lưu trữ ASP.NET Core
  3. 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
  4. keytab tạo nên
  5. 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).
  6.  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.
  • URLをコピーしました!
mục lục