2010-02-09 40 views
6

Ứng dụng web của tôi chạy trong IIS 6.0 dưới máy chủ Windows 2003 và chúng tôi đều biết rằng trong trường hợp này, tài khoản người dùng "Dịch vụ mạng" được IIS sử dụng.Thêm tài khoản "Dịch vụ mạng" vào nhóm quản trị

Tôi tình cờ phải cho phép người dùng nhất định thực hiện một số hành động trên trang web của tôi và hành động đó yêu cầu đặc quyền của quản trị viên.

Giải pháp lười biếng nhất đối với tôi dường như thêm "Dịch vụ mạng" vào Nhóm quản trị viên và nó thực sự hoạt động.

CÂU HỎI CỦA TÔI là, cách NGUY HIỂM giải pháp này là gì và cách nào nó có thể xâm phạm bảo mật của máy chủ web của tôi?

+1

Có thể có một vài điều bạn có thể làm nguy hiểm hơn thế. Nhưng tôi nghi ngờ nó. – SLaks

Trả lời

5

Đây thường là "ý tưởng tồi". Nếu đây là một máy chủ phải đối mặt với công chúng thì đây thực sự là một ý tưởng tồi.

Bạn nên làm gì, và đây là cách chúng tôi tiếp cận các vấn đề như thế này, là sandbox các tác vụ quản trị cụ thể bạn cần thực hiện trong một quy trình khác chẳng hạn như dịch vụ Windows có quyền nâng cao.

Sau đó, chúng tôi lưu trữ Máy chủ Remoting trong Dịch vụ Windows và liên lạc với dịch vụ trên một đường ống có tên hoặc TCP/IP (nếu máy đến máy và điều này nằm trên một mạng riêng phía sau).

Để biết thêm thông tin, vui lòng xem câu trả lời này mà tôi để lại cho người dùng khác liên quan đến một vấn đề tương tự:

Windows User Account that executes only IIS7 Provisions

Một cách tiếp cận tốt hơn sẽ không bao giờ có thông tin liên lạc trực tiếp giữa các trang web ứng dụng và dịch vụ cửa sổ, nhưng đi qua một trung gian như một công việc hoặc hàng đợi tin nhắn. Các vị trí ứng dụng đặc quyền thấp của bạn yêu cầu thực hiện nhiệm vụ quản trị, dịch vụ đặc quyền nâng cao của bạn đọc các tác vụ này từ hàng đợi và mang chúng ra.

Trong cả hai trường hợp, bạn nên đảm bảo rằng bạn không vượt quá trách nhiệm của từng tác vụ. tức là đảm bảo rằng nếu tác vụ là tạo tài khoản Windows mới trên máy chủ thì không cho phép tài khoản mới đó giành được nhiều quyền hơn nhu cầu của nó.

2

Nếu tôi viết một số chức năng web yêu cầu quản trị viên cấp hộp, tôi sẽ tạo ứng dụng riêng trong hồ bơi ứng dụng của riêng mình, khóa ứng dụng đó càng chặt càng tốt, cung cấp cho ứng dụng đó một tài khoản được đặt tên (một tài nguyên miền, nếu trên một Active Directory), và sau đó cung cấp cho các đặc quyền quản trị tài khoản đó trên hộp. Giữ nó trong hồ bơi ứng dụng riêng của nó có hiệu quả khóa nó xuống từ ứng dụng thông thường của bạn.

Dịch vụ mạng/quyền sở hữu NT tương tác với nhiều nội dung trên máy của bạn. Tôi không thể đưa ra bất kỳ lý do tốt để có được đặc quyền quản trị dịch vụ mạng.

1

Không có trường hợp nào làm điều này.

Nếu bạn thêm Dịch vụ mạng vào nhóm quản trị, thì tất cả người dùng ẩn danh truy cập ứng dụng web của bạn sẽ là quản trị viên theo mặc định và tiềm năng thiệt hại lớn.

mỗi câu hỏi của bạn

Tôi tình cờ có để cho phép người dùng nhất định để thực hiện một số hành động trên trang web của tôi, và hành động đòi hỏi đặc quyền quản trị viên.

tốt - sử dụng xác thực Windows trên trang web đó và đặt người dùng là quản trị viên Windows thông thường. Bây giờ họ, và tất cả quản trị viên khác, có thể thực hiện các tác vụ bạn đã thiết lập.

Các vấn đề liên quan