Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Windows

TRUY CẬP BỊ TỪ CHỐI – Ủy quyền hạn chế cho CIFS thất bại

Khi truy cập dịch vụ sử dụng chia sẻ mạng trên máy chủ trung gian, người dùng được nhắc nhập thông tin xác thực và cuối cùng gặp lỗi truy cập bị từ chối. Trong bài viết này, chúng tôi sẽ trình bày một số tình huống, xác định nguyên nhân và cung cấp các giải pháp thay thế cho vấn đề ủy quyền hạn chế (constrained delegation) cho CIFS thất bại với lỗi ACCESS_DENIED trong Windows 10.

Hệ thống tệp Internet chung (CIFS) là giao thức chia sẻ tệp cung cấp cơ chế mở và đa nền tảng để yêu cầu tệp và dịch vụ từ máy chủ mạng. CIFS dựa trên phiên bản nâng cao của giao thức Server Message Block (SMB) của Microsoft để chia sẻ tệp trên Internet và intranet.

TRUY CẬP BỊ TỪ CHỐI – Ủy quyền hạn chế cho CIFS thất bại

Ủy quyền hạn chế cho CIFS thất bại trong Windows

Bạn có thể gặp sự cố này nếu người dùng được nhắc nhập thông tin xác thực và truy cập cuối cùng thất bại với lỗi truy cập bị từ chối dựa trên ba tình huống sau:

Tình huống 1

  • Trang web IIS được thiết lập với thư mục chủ trỏ đến chia sẻ từ xa sử dụng xác thực pass-through và ủy quyền hạn chế được cấu hình cho CIFS.
  • Application pool IIS truy cập chia sẻ đó chạy dưới danh tính của tài khoản dịch vụ.
  • Tài khoản miền được tin cậy cho ủy quyền cho dịch vụ CIFS trên máy chủ tệp.

Tình huống 2

  • Ứng dụng web đang cố gắng truy cập máy chủ tệp với tư cách là người dùng.
  • Application pool IIS truy cập chia sẻ đó chạy dưới danh tính của tài khoản dịch vụ. Tài khoản miền được tin cậy cho ủy quyền cho dịch vụ CIFS trên máy chủ tệp.
  • Ủy quyền hạn chế cho CIFS được cấu hình trên tài khoản dịch vụ cho máy chủ tệp.

Tình huống 3

  • Bất kỳ ứng dụng phía máy chủ nào được truy cập từ máy khách đang truy cập chia sẻ từ xa với tư cách người dùng.
  • Ứng dụng phía máy chủ chạy dưới ngữ cảnh của tài khoản dịch vụ.
  • Tài khoản dịch vụ được tin cậy cho ủy quyền và được cấu hình cho ủy quyền CIFS cho máy chủ tệp.

Đây đã được xác định là vấn đề giữa MrxSmb 2.0 và Kerberos khi ủy quyền hạn chế đang được sử dụng.

Để giải quyết vấn đề này, Microsoft cung cấp hai giải pháp thay thế.

Giải pháp thay thế 1

Sử dụng tài khoản máy (machine account) thay vì tài khoản dịch vụ làm danh tính cho các ứng dụng sẽ thực hiện ủy quyền hạn chế cho CIFS. Cấu hình ủy quyền hạn chế khi cấp độ chức năng miền là Windows Server 2003, Windows Server 2008 hoặc Windows Server 2008 R2.

Để thực hiện việc này trên bộ điều khiển miền (domain controller) cho miền của máy chủ web của bạn, hãy làm theo các bước sau:

  • Nhấp Start > Administrative Tools > Active Directory Users and Computers.
  • Mở rộng miền, sau đó mở rộng thư mục Computers.
  • Trong ngăn bên phải, nhấp chuột phải vào tên máy tính cho máy chủ web, chọn Properties, sau đó nhấp vào tab Delegation.
  • Chọn hộp kiểm Trust this computer for delegation to specified services only.
  • Đảm bảo Use Kerberos only được chọn, sau đó nhấp OK.
  • Nhấp nút Add.
  • Trong hộp thoại Add Services, nhấp Users or Computers, sau đó duyệt đến hoặc nhập tên máy chủ tệp sẽ nhận thông tin xác thực của người dùng từ IIS.
  • Nhấp OK.
  • Trong danh sách Available Services, chọn dịch vụ CIFS.
  • Nhấp OK.

Giải pháp thay thế 2

Giải pháp này không được khuyến khích vì nó yêu cầu ủy quyền "Use any authentication protocol" trên tài khoản máy tính. Nếu tùy chọn Use any authentication protocol được chọn, tài khoản đang sử dụng ủy quyền hạn chế với chuyển đổi giao thức (protocol transition).

Nếu bạn phải sử dụng danh tính ứng dụng làm tài khoản dịch vụ và/hoặc tài khoản miền, hãy làm theo các bước sau:

Bước 1

  • Nhấp Start > Administrative Tools > Active Directory Users and Computers.
  • Mở rộng miền, sau đó mở rộng thư mục Computers.
  • Trong ngăn bên phải, nhấp chuột phải vào tên máy tính cho máy chủ web, chọn Properties, sau đó nhấp vào tab Delegation.
  • Chọn hộp kiểm Trust this computer for delegation to specified services only.
  • Đảm bảo Use any authentication protocol được chọn.
  • Nhấp OK.
  • Nhấp nút Add.
  • Trong hộp thoại Add Services, nhấp Users or Computers, sau đó duyệt đến hoặc nhập tên máy chủ tệp sẽ nhận thông tin xác thực của người dùng từ IIS.
  • Nhấp OK.
  • Trong danh sách Available Services, chọn dịch vụ CIFS.
  • Nhấp OK.

Bước 2

  • Trong ngăn bên trái, mở rộng thư mục Users.
  • Trong ngăn bên phải, nhấp chuột phải vào tài khoản dịch vụ là danh tính của application pool, chọn Properties, sau đó nhấp vào tab Delegation.
  • Chọn hộp kiểm Trust this computer for delegation to specified services only.
  • Đảm bảo Use Kerberos only được chọn.
  • Nhấp OK.
  • Nhấp nút Add.
  • Trong hộp thoại Add Services, nhấp Users or Computers, sau đó duyệt đến hoặc nhập tên máy chủ tệp sẽ nhận thông tin xác thực của người dùng từ IIS.
  • Nhấp OK.
  • Trong danh sách Available Services, chọn dịch vụ CIFS.
  • Nhấp OK.

Hy vọng bài viết này giúp ích cho bạn.

TRUY CẬP BỊ TỪ CHỐI – Ủy quyền hạn chế cho CIFS thất bại