Tôi sẽ mở đầu tất cả những điều này bằng cách nói rằng tôi đang giả định rằng bạn đang nói về một máy chủ web nội bộ trên mạng riêng nội bộ.
Hãy bắt đầu với việc mạo danh máy. Nếu danh tính nhóm ứng dụng là Dịch vụ mạng và không có mạo danh trong ứng dụng .NET, thì có, ứng dụng web sẽ kết nối với Máy chủ SQL phụ trợ bằng tài khoản máy tính của máy. Và điều đó có nghĩa là bạn đã cấp quyền truy cập vào tài khoản máy nói trên. CRM của Microsoft hoạt động theo cách này.
Tuy nhiên, nếu bạn đã chỉ định một danh tính, tài khoản người dùng đó sẽ cần quyền truy cập vào Máy chủ SQL. Mặc dù bạn đúng rằng nếu kẻ tấn công xâm phạm máy chủ web thì chúng thực sự có quyền truy cập giống như tài khoản nhận dạng, sự thật của vấn đề là việc sử dụng đăng nhập SQL Server sẽ không thay đổi bất cứ điều gì ở đây. Khi tôi có quyền truy cập, tôi có thể sửa đổi ứng dụng web để làm những gì tôi muốn và nó sẽ, tối đa cho phép bảo mật của bạn trên SQL Server back-end.
Bây giờ là tại sao để sử dụng SSPI. Đầu tiên và quan trọng nhất, bạn không sử dụng đăng nhập dựa trên SQL Server. Điều đó có nghĩa là Active Directory là nguồn duy nhất để bảo mật. Điều đó có nghĩa là bạn có phương tiện kiểm toán bình thường để xác định quyền truy cập không hợp lệ. Thứ hai, điều đó có nghĩa là trừ khi có các ứng dụng khác yêu cầu, bạn có thể để máy chủ SQL của mình ở chế độ chỉ xác thực Windows. Điều đó có nghĩa là không cho phép đăng nhập SQL Server. Điều đó có nghĩa là bất kỳ cuộc tấn công chống lại sa đều dừng lại trước khi chúng bắt đầu. Và cuối cùng, nó làm cho sự phục hồi dễ dàng hơn. Nếu bạn sử dụng thông tin đăng nhập dựa trên SQL Server, bạn sẽ cần trích xuất thông tin đăng nhập bằng SID và mật khẩu được mã hóa. Nếu bạn đang sử dụng tài khoản người dùng dựa trên Windows làm "tài khoản dịch vụ", khi bạn truy cập SQL Server mới, bằng cách tạo thông tin đăng nhập,