Computer >> Máy Tính >  >> Hệ thống >> máy chủ Windows

Định cấu hình Xác thực Kerberos trên Trang web IIS

Đây là hướng dẫn từng bước về cách định cấu hình xác thực người dùng miền SSO (Đăng nhập Một lần) Kerberos minh bạch trên trang web IIS chạy Windows Server 2012 R2.

Khởi động Trình quản lý IIS trên máy chủ Web của bạn, chọn trang web cần thiết và đi tới Xác thực tiết diện. Như bạn có thể thấy, chỉ Xác thực ẩn danh được bật theo mặc định. Tắt nó và bật Xác thực Windows ( Trước hết IIS luôn cố gắng thực hiện xác thực ẩn danh ).

Định cấu hình Xác thực Kerberos trên Trang web IIS

Mở danh sách các nhà cung cấp, có sẵn để xác thực Windows ( Nhà cung cấp ). Theo mặc định, có sẵn hai nhà cung cấp: Thương lượng NTLM . Negotiate là vùng chứa sử dụng Kerberos làm phương thức xác thực đầu tiên và nếu xác thực không thành công, NTLM sẽ được sử dụng. Bắt buộc phải Thương lượng đứng đầu trong danh sách các nhà cung cấp.

Định cấu hình Xác thực Kerberos trên Trang web IIS

Bước tiếp theo bao gồm đăng ký Tên chính của dịch vụ (SPN) các mục nhập cho tên của trang web mà người dùng sẽ truy cập. Nếu trang web IIS phải chỉ khả dụng theo tên của máy chủ mà nó được đặt ( https:// server-name hoặc https://server-name.adatum.loc ), bạn không cần tạo các mục SPN bổ sung (các mục SPN đã tồn tại trong tài khoản máy chủ ở AD). Nếu địa chỉ trang web khác với tên máy chủ hoặc nếu bạn đang xây dựng một webfarm có cân bằng tải, bạn sẽ phải kết nối các mục SPN bổ sung với máy chủ hoặc tài khoản người dùng.

Giả sử, chúng ta có một trang trại các máy chủ IIS. Trong trường hợp này, tốt hơn nên tạo một tài khoản AD riêng và ràng buộc các mục SPN với nó. Nhóm ứng dụng mục tiêu của trang web của chúng tôi sẽ được bắt đầu từ tài khoản này.

Tạo tài khoản miền iis_service . Đảm bảo rằng các mục nhập SPN không được chỉ định cho đối tượng này (thuộc tính servicePrincipalName trống).

Định cấu hình Xác thực Kerberos trên Trang web IIS

Giả sử rằng trang web phải trả lời tại https:// webportal https://webportal.adatum.loc . Chúng tôi phải chỉ định các địa chỉ này trong thuộc tính SPN của tài khoản dịch vụ.

Setspn /s HTTP/webportal adatum\iis_service
Setspn /s HTTP/webportal.adatum.loc adatum\iis_service

Định cấu hình Xác thực Kerberos trên Trang web IIS

Do đó, chúng tôi cho phép tài khoản này giải mã các vé Kerberos, khi người dùng truy cập các địa chỉ này và xác thực các phiên.

Bạn có thể kiểm tra cài đặt SPN của tài khoản như sau:

setspn /l iis_service

Định cấu hình Xác thực Kerberos trên Trang web IIS

Mẹo . Kerberos sẽ không hoạt động chính xác nếu các SPN giống nhau được các mục nhập miền khác nhau sử dụng. Sử dụng lệnh sau, đảm bảo rằng không có SPN nào trùng lặp trong miền:setspn –x

Bước tiếp theo là cấu hình Nhóm ứng dụng IIS để khởi chạy nó từ tài khoản đã tạo trước đó.

Chọn Nhóm ứng dụng trên trang web của bạn (trong ví dụ của chúng tôi, đó là DefaultAppPool).

Định cấu hình Xác thực Kerberos trên Trang web IIS

Mở Cài đặt nâng cao và đi tới Danh tính.

Định cấu hình Xác thực Kerberos trên Trang web IIS

Thay đổi nó từ ApplicationPoolIdentity tới adatum \ iis_service .

Định cấu hình Xác thực Kerberos trên Trang web IIS

Sau đó, truy cập trang web của bạn trong Trình quản lý IIS và chọn Trình chỉnh sửa cấu hình .

Trong trình đơn thả xuống, chọn system.webServer> bảo mật> xác thực> windowsAuthentication

Định cấu hình Xác thực Kerberos trên Trang web IIS

Thay đổi useAppPoolCredentials thành Đúng .

Do đó, chúng tôi cho phép IIS sử dụng tài khoản miền để giải mã các vé Kerberos từ máy khách.

Đặt lại IIS bằng lệnh này:

iisreset

Định cấu hình Xác thực Kerberos trên Trang web IIS

Điều tương tự phải được định cấu hình trên tất cả các máy chủ trang web.

Hãy kiểm tra xác thực Kerberos. Để thực hiện, hãy mở https://webportal.adatum.loc trong trình duyệt của khách hàng.

Lưu ý . Trong trường hợp của tôi, tôi không thể xác thực cùng một lúc trong IE11. Tôi đã phải thêm địa chỉ vào danh sách các trang web đáng tin cậy và chỉ định Đăng nhập tự động bằng tên người dùng và mật khẩu hiện tại trong Xác thực người dùng -> Đăng nhập trong cài đặt Trang web Khu vực Tin cậy. Định cấu hình Xác thực Kerberos trên Trang web IIS

Bạn có thể đảm bảo rằng xác thực Kerberos được sử dụng trên trang web của bạn bằng cách giám sát lưu lượng HTTP bằng Fiddler (chúng tôi đã đề cập đến công cụ này trước đó).

Khởi động Fiddler và mở trang web mục tiêu trong trình duyệt. Ở phần bên trái của cửa sổ, tìm dòng truy cập trang web. Chuyển đến tab Người kiểm tra ở phần bên phải của cửa sổ. Dòng “ Tiêu đề ủy quyền (Thương lượng) dường như chứa một phiếu Kerberos ”Cho thấy Kerberos đã được sử dụng để xác thực trên trang web IIS.

Định cấu hình Xác thực Kerberos trên Trang web IIS