Hạn chế quyền truy cập cho quản trị viên Windows


11

Như thực tiễn tốt nhất của SQL Server nói, " Chế độ xác thực Windows an toàn hơn xác thực SQL ". Và bây giờ tôi muốn biết: có cách nào để bảo vệ SQL Server khỏi người dùng với quyền quản trị viên Windows không?


4
Luật bảo mật bất biến thứ 6: "Một máy tính chỉ an toàn vì người quản trị là đáng tin cậy". Luật 2 và 10 cũng có liên quan ở đây. technet.microsoft.com/l Library / cc722487.aspx
Dan đang đấu tranh với Firelight

Câu trả lời:


15

Không.

Nếu người dùng là Quản trị viên Windows của hộp, giả sử rằng họ sở hữu mọi thứ trên hộp (bao gồm SQL Server). Với quyền Quản trị viên Windows, việc bỏ qua bất kỳ sự bảo vệ được nhắm mục tiêu nào mà bạn áp dụng (chẳng hạn như trình kích hoạt đăng nhập xác định tên người dùng của họ) là rất đơn giản mạo danh người khác (bao gồm cả NT AUTHORITY\SYSTEMquyền quản trị trên thực tế đối với tất cả các phiên bản SQL Server cục bộ ). Kiểm toán sẽ không giúp được gì nhiều, vì họ có thể dễ dàng tắt nó đi, nhưng bạn nên có nó trong trường hợp này.

Nếu bạn không tin tưởng ai đó, đừng cho họ quyền Quản trị viên Windows, thời gian.


2
+1 bất cứ điều gì tuyên bố từ chối xây dựng \ quản trị viên là dầu rắn
Remus Rusanu

1

Không, không thể ngăn chặn hoàn toàn các quản trị viên cục bộ sysadmintruy cập vào phiên bản SQL Server.

Nếu phiên bản được khởi động lại ở chế độ người dùng đơn , SQL Server được mã hóa cứng để cho phép các sysadminđặc quyền của quản trị viên cục bộ , mặc dù có thể không có thông tin đăng nhập rõ ràng. Lý do điều này tồn tại là vì mục đích phục hồi vì có thể tự khóa mình khỏi một ví dụ.

Điều đó nói rằng, hạn chế quyền truy cập trong khi phiên bản đang chạy ở chế độ nhiều người dùng (không bị gián đoạn dịch vụ) không khó như vậy. Như Aaron đã đề cập, quản trị viên cục bộ có thể mạo danh NT AUTHORITY\SYSTEM, theo mặc định có sysadminthông tin đăng nhập -level được tạo trong SQL Server 2008. Điều này có thể được khai thác để khôi phục sysadminquyền truy cập trong khi máy chủ đang chạy. (Lưu ý: trong SQL Server 2012, thông tin đăng nhập này không còn nữa sysadmin.) Tôi không biết chính xác thông tin đăng nhập này được sử dụng cho mục đích gì (nâng cấp / sửa lỗi nóng / v.v., có lẽ), nhưng tôi nghĩ an toàn để vô hiệu hóa ngoại trừ trong khi những sự kiện đó Nếu không có thông tin đăng nhập không thể mạo danh khác, điều đó là đủ để từ chối truy cập. Một lần nữa, chỉ khi cá thể đang chạy, không bị gián đoạn .


0

Theo mặc định trong SQL 2008 và 2012, không có quyền truy cập mặc định cho quản trị viên Windows vào SQL Server. Để quản trị viên Windows (nghĩa là người nào đó là Quản trị viên tên miền hoặc Quản trị viên cục bộ) có quyền truy cập, thông tin đăng nhập của họ cần được cấp quyền truy cập rõ ràng hoặc nhóm mà họ thuộc quyền truy cập cùng với quyền trong chính SQL Server. Bạn được yêu cầu, khi thiết lập thể hiện, để chỉ định một nhóm đăng nhập hoặc nhóm Active Directory làm quản trị viên, nhưng tên đăng nhập / nhóm đó có thể là bất kỳ ai trong miền của bạn.

Trong SQL 2005, có một BUILTIN\Administratorsnhóm có quyền truy cập sysadmin. Nhóm này sẽ cho phép quản trị viên địa phương sysadmin truy cập vào SQL Server. Nhóm này có thể được gỡ bỏ khỏi SQL Server và nó được coi là thực tiễn tốt nhất để làm như vậy.

Điều đó đang được nói, không có cách nào để ngăn Windows (cục bộ hoặc tên miền) ảnh hưởng đến máy chủ mà SQL Server sống. Điều này có nghĩa là các quản trị viên vẫn có thể ảnh hưởng đến các dịch vụ và cấu hình cấp hệ điều hành, thay đổi bảo mật thư mục và các tác vụ cấp hệ điều hành khác. Rốt cuộc, đây là lý do tại sao họ là quản trị viên Windows.

Nói chung, bạn nên tin tưởng quản trị viên của mình, cả SQL Server và Windows. Mặc dù các quản trị viên Windows không thể thực hiện các tác vụ hoặc truy cập dữ liệu (theo mặc định) trong chính Máy chủ SQL, họ vẫn kiểm soát môi trường mà SQL Server của bạn sống. Bạn cần quan tâm với những người bạn giao cho những vai trò đó.


3
Đừng quá thoải mái trong việc này - trong khi những thay đổi mà Microsoft thực hiện khiến nó an toàn hơn một chút, thì nó vẫn chưa thể chống đạn. Thật là tầm thường đối với một quản trị viên cục bộ mạo danh và thực hiện đấu thầu trực tiếp với bất kỳ phiên bản SQL Server cục bộ nào - vì vậy bạn cần phải lo lắng về nhiều vấn đề hơn là chỉ ảnh hưởng gián tiếp ở cấp độ HĐH.
Aaron Bertrand

Tôi phải hỏi - trường hợp nào chứng minh việc cấp quyền truy cập cho quản trị viên người dùng không đáng tin cậy vào máy chủ?
Mark Allen

Cá nhân, tôi không nghĩ gì cả. Như nhiều người khác đã nêu trong các câu trả lời khác (và không quá rõ ràng ở đây), bạn nên tin tưởng quản trị viên của mình. Và nếu bạn không tin tưởng họ, đừng biến họ thành quản trị viên.
Mike Fal
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.