Vì có quá nhiều nhầm lẫn về chức năng của các tài khoản dịch vụ tiêu chuẩn, tôi sẽ cố gắng nhanh chóng thực hiện.
Đầu tiên là các tài khoản thực tế:
Tài khoản LocalService (ưu tiên)
Tài khoản dịch vụ hạn chế rất giống với Dịch vụ mạng và có nghĩa là chạy các dịch vụ đặc quyền tối thiểu tiêu chuẩn. Tuy nhiên, không giống như Dịch vụ mạng, nó truy cập mạng dưới dạng người dùng ẩn danh .
- Tên:
NT AUTHORITY\LocalService
- tài khoản không có mật khẩu (mọi thông tin mật khẩu bạn cung cấp đều bị bỏ qua)
- HKCU đại diện cho tài khoản người dùng LocalService
- có các đặc quyền tối thiểu trên máy tính cục bộ
- trình bày thông tin ẩn danh trên mạng
- SID : S-1-5-19
- có hồ sơ riêng theo khóa đăng ký HKEY_USERS (
HKEY_USERS\S-1-5-19
)
NetworkService tài khoản
Tài khoản dịch vụ hạn chế có nghĩa là để chạy các dịch vụ đặc quyền tiêu chuẩn. Tài khoản này bị giới hạn hơn nhiều so với Hệ thống cục bộ (hoặc thậm chí là Quản trị viên) nhưng vẫn có quyền truy cập mạng dưới dạng máy (xem cảnh báo ở trên).
NT AUTHORITY\NetworkService
- tài khoản không có mật khẩu (mọi thông tin mật khẩu bạn cung cấp đều bị bỏ qua)
- HKCU đại diện cho tài khoản người dùng NetworkService
- có các đặc quyền tối thiểu trên máy tính cục bộ
- trình bày thông tin đăng nhập của máy tính (ví dụ
MANGO$
) cho các máy chủ từ xa
- SID : S-1-5-20
- có hồ sơ riêng theo khóa đăng ký HKEY_USERS (
HKEY_USERS\S-1-5-20
)
- Nếu cố gắng lên lịch tác vụ bằng cách sử dụng nó, hãy nhập
NETWORK SERVICE
vào hộp thoại Chọn người dùng hoặc nhóm
Tài khoản LocalSystem (nguy hiểm, không sử dụng!)
Tài khoản hoàn toàn đáng tin cậy, nhiều hơn tài khoản quản trị viên. Không có gì trên một hộp mà tài khoản này không thể thực hiện được và nó có quyền truy cập mạng dưới dạng máy (điều này yêu cầu Active Directory và cấp quyền cho tài khoản máy cho một cái gì đó)
- Tên:
.\LocalSystem
(cũng có thể sử dụng LocalSystem
hoặc ComputerName\LocalSystem
)
- tài khoản không có mật khẩu (mọi thông tin mật khẩu bạn cung cấp đều bị bỏ qua)
- SID : S-1-5-18
- không có bất kỳ hồ sơ nào của riêng nó (
HKCU
đại diện cho người dùng mặc định )
- có nhiều đặc quyền trên máy tính cục bộ
- trình bày thông tin đăng nhập của máy tính (ví dụ
MANGO$
) cho các máy chủ từ xa
Ở trên khi nói về việc truy cập mạng, điều này chỉ đề cập đến SPNEGO (Đàm phán), NTLM và Kerberos chứ không phải bất kỳ cơ chế xác thực nào khác. Ví dụ, xử lý chạy như LocalService
vẫn có thể truy cập internet.
Vấn đề chung với việc chạy dưới dạng tiêu chuẩn trong tài khoản hộp là nếu bạn sửa đổi bất kỳ quyền mặc định nào, bạn sẽ mở rộng tập hợp mọi thứ mà mọi thứ chạy như tài khoản đó có thể làm. Vì vậy, nếu bạn cấp DBO cho cơ sở dữ liệu, không chỉ dịch vụ của bạn có thể chạy như Dịch vụ địa phương hoặc Dịch vụ mạng truy cập cơ sở dữ liệu đó mà mọi thứ khác cũng chạy như những tài khoản đó. Nếu mọi nhà phát triển thực hiện việc này, máy tính sẽ có một tài khoản dịch vụ có quyền thực hiện mọi thứ thực tế (cụ thể hơn là siêu bộ của tất cả các đặc quyền bổ sung khác được cấp cho tài khoản đó).
Từ góc độ bảo mật luôn được ưu tiên để chạy như một tài khoản dịch vụ của riêng bạn, có chính xác các quyền bạn cần để làm những gì dịch vụ của bạn làm và không có gì khác. Tuy nhiên, chi phí của phương pháp này là thiết lập tài khoản dịch vụ của bạn và quản lý mật khẩu. Đó là một hành động cân bằng mà mỗi ứng dụng cần quản lý.
Trong trường hợp cụ thể của bạn, vấn đề mà bạn có thể gặp là việc kích hoạt DCOM hoặc COM + bị giới hạn trong một nhóm tài khoản nhất định. Trong Windows XP SP2, Windows Server 2003 và cao hơn quyền Kích hoạt đã bị hạn chế đáng kể. Bạn nên sử dụng snapin MMC của Dịch vụ Thành phần để kiểm tra đối tượng COM cụ thể của bạn và xem các quyền kích hoạt. Nếu bạn không truy cập bất cứ thứ gì trên mạng như tài khoản máy, bạn nên nghiêm túc xem xét sử dụng Dịch vụ cục bộ (không phải Hệ thống cục bộ, về cơ bản là hệ điều hành).
Trong Windows Server 2003, bạn không thể chạy một tác vụ theo lịch trình như
NT_AUTHORITY\LocalService
(còn gọi là tài khoản Dịch vụ địa phương) hoặc
NT AUTHORITY\NetworkService
(còn gọi là tài khoản Dịch vụ mạng).
Khả năng đó chỉ được thêm vào với Trình lập lịch tác vụ 2.0 , chỉ tồn tại trong Windows Vista / Windows Server 2008 và mới hơn.
Một dịch vụ đang chạy như NetworkService
thể hiện thông tin đăng nhập của máy trên mạng. Điều này có nghĩa là nếu máy tính của bạn được gọi mango
, nó sẽ xuất hiện dưới dạng tài khoản máy MANGO$
: