Bỏ các tài khoản NT AUTHORITY và NT DỊCH VỤ được tạo tự động


8

Vì vậy, gần đây tôi đã chuyển công việc - một đoạn mã tôi đã phát hiện trong các tập lệnh xây dựng của chúng tôi để cài đặt SQL Server mới bên dưới.

IF EXISTS ( SELECT  *
            FROM    [sys].[syslogins]
            WHERE   [name] = N'NT AUTHORITY\SYSTEM' )
    BEGIN
        DROP LOGIN [NT AUTHORITY\SYSTEM];
    END

IF EXISTS ( SELECT  *
            FROM    [sys].[syslogins]
            WHERE   [name] = N'NT SERVICE\SQLWriter' )
    BEGIN
        DROP LOGIN [NT SERVICE\SQLWriter];
    END

IF EXISTS ( SELECT  *
            FROM    [sys].[syslogins]
            WHERE   [name] = N'NT SERVICE\Winmgmt' )
    BEGIN
        DROP LOGIN [NT SERVICE\Winmgmt];
    END
GO

Các tài khoản này được tạo trong quá trình cài đặt SQL Server theo mặc định.

Có nên bỏ các thông tin đăng nhập ở trên không? Có bất kỳ tác dụng phụ này có thể gây ra? Những thông tin đăng nhập này được sử dụng để làm gì?

Tôi đã đọc Tôi có thể xóa thông tin đăng nhập NT SERVICE \ SQLWriter và NT SERVICE \ Winmgmt không? nhưng nó không đủ cụ thể - tôi có thể thấy những gì họ cần nhưng rất ít. Họ có cần truy cập sysadmin? Vân vân.

Ví dụ (lấy từ Cấu hình Tài khoản và Quyền của Dịch vụ Windows ):

Hệ thống cục bộ là một tài khoản tích hợp đặc quyền rất cao. Nó có nhiều đặc quyền trên hệ thống cục bộ và hoạt động như máy tính trên mạng. Tên thực tế của tài khoản là NT AUTHORITY\SYSTEM.

Làm thế nào tôi nên đọc nó? Có nên để lại những đặc quyền "cao" này?


Xem câu hỏi liên quan trước đó . Cá nhân tôi cảm thấy như đây là điều chỉ nên làm nếu (a) có một số lợi ích hữu hình khi làm như vậy và (b) có bằng chứng cho thấy tác dụng phụ sẽ không ảnh hưởng đến bạn.
Aaron Bertrand

Câu trả lời:


2

Trước khi bạn tải xuống, đây là tài liệu chính thức bạn có thể tham khảo vì một lý do chính đáng tại sao các tài khoản này sẽ được viết theo kịch bản như bạn thấy: Quy tắc STIG SV-53421r2_rule . Các điều khiển này là phiên bản SQL Server cụ thể, nhưng cũng có một số điều khiển khác trong các phiên bản gần đây. Nếu bạn làm việc cho một tổ chức nằm dưới các điều khiển này và cũng tuân thủ một số quy định nghiêm ngặt hơn, chẳng hạn như thu hồi các khoản trợ cấp mặc định được trao cho vai trò công cộng, mọi thứ có thể trở nên phức tạp khá nhanh.

Vì tôi có một số kinh nghiệm trong môi trường nằm dưới các điều khiển này, tôi có thể nói rằng bạn có thể vô hiệu hóa / hủy bỏ cả tài khoản NT SERVICE\SQLWriterNT SERVICE\Winmgmttài khoản, nhưng bạn cần đảm bảo Dịch vụ SQL Server của bạn đang chạy trong một tài khoản dịch vụ phù hợp với mức độ hệ điều hành đủ các quyền, chẳng hạn như Tài khoản dịch vụ miền bị khóa đủ hoặc thậm chí tốt hơn, các tài khoản dịch vụ được quản lý độc lập hoặc nhóm . Một lần nữa, các quyền hệ điều hành cần được xử lý cẩn thận vì điều này không liên quan đến lãnh thổ thẻ nhà nếu bạn không thực hiện kiểm tra đầy đủ.

Đối với NT AUTHORITY\SYSTEMtài khoản, đây KHÔNG phải là tài khoản bạn muốn xóa nếu bạn đang chạy bất kỳ Nhóm sẵn có nào. Trong thực tế, STIG SV-93835r1_rule đề cập rằng bạn chỉ nên giữ nó với các CONNECT SQLquyền được cấp theo mặc định. Trong trường hợp bạn có nhóm Sẵn có, tài khoản này cũng sẽ cần có các quyền sau, bổ sung sau:

  • THAY ĐỔI MỌI NHÓM CÓ S AVN
  • XEM NHÀ MÁY
  • EXECUTE ON [sys]. [Sp_server_diagnostics]
  • EXECUTE ON [sys]. [Sp_avcellence_group_command_iternal]

Những hạn chế này có thể là một nỗi đau của hoàng gia, nhưng có những lý do chính đáng mà bạn cần để hạn chế việc sử dụng và các bộ cho phép của họ. Nếu bạn không thuộc các nguyên tắc này, hãy tự mình ủng hộ và nhận xét các bước đó.

Mong rằng sẽ giúp!

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.