2010-02-09 12 views
6

Moja aplikacja internetowa działa w IIS 6.0 pod Windows Server 2003 i wszyscy wiemy, że w tej sytuacji konto użytkownika "Usługa sieciowa" jest używane przez IIS.Dodanie konta "Usługa sieciowa" do grupy administratorów

Muszę zezwolić niektórym użytkownikom na wykonanie pewnych czynności na mojej stronie internetowej i ta czynność wymaga uprawnień administratora.

Najbardziej leniwy rozwiązanie wydaje mi się dodać "Usługa sieciowa" do grupy Administrators, i to faktycznie działa.

MOJE PYTANIE jest, jak NIEBEZPIECZNE to jest rozwiązanie i w jaki sposób może zagrozić bezpieczeństwu mojego serwera WWW?

+1

Może być kilka rzeczy, które możesz zrobić, które są bardziej niebezpieczne. Ale wątpię w to. – SLaks

Odpowiedz

5

Jest to ogólnie "zły pomysł". Jeśli jest to serwer publiczny, to jest to naprawdę zły pomysł.

To, co powinieneś zrobić, i w ten sposób podejść do takich problemów, to piaskownica, które musisz wykonać w innym procesie, takim jak usługa Windows, która ma podwyższone prawa.

Następnie hostujemy serwer usług zdalnych w usłudze systemu Windows i komunikujemy się z usługą za pośrednictwem nazwanego potoku lub protokołu TCP/IP (jeśli komputer jest maszyną, a jest to prywatna sieć wewnętrzna).

Aby uzyskać więcej informacji, proszę zobaczyć tę odpowiedź, która wyjechałam do innego użytkownika dotyczące podobnego problemu:

Windows User Account that executes only IIS7 Provisions

Jeszcze lepszym rozwiązaniem byłoby, aby nigdy nie mają bezpośredniej komunikacji między internecie aplikacji i usługi Windows, ale przechodzą przez pośrednika, takiego jak kolejka zadań lub wiadomości. Twoja nisko uprzywilejowana aplikacja umieszcza żądanie wykonania zadania administratora, podniesiona uprzywilejowana usługa odczytuje te zadania z kolejki i wykonuje je.

W obu przypadkach należy upewnić się, że nie przekroczono zakresu odpowiedzialności każdego zadania. tj. upewnij się, że jeśli zadaniem jest utworzenie nowego konta systemu Windows na serwerze, nie zezwalaj temu nowemu kontu na zdobywanie większej liczby uprawnień, niż jest to konieczne.

2

Jeśli miałbym napisać jakąś funkcję sieciową, która wymagałaby administratora na poziomie skrzynki, zrobiłbym, że jest to własna aplikacja we własnej puli aplikacji, zablokuj aplikację tak ściśle, jak to możliwe, nadaj tej puli aplikacji nazwane konto (zasób domeny, jeśli jest w usłudze Active Directory), a następnie nadaj temu kontu uprawnienia administratora w polu. Przechowywanie go we własnej puli aplikacji skutecznie blokuje go z poziomu zwykłej aplikacji.

NT Authority/Network Service współdziała z tonami rzeczy na twoim komputerze. Nie mogę wymyślić żadnego dobrego powodu, aby uzyskać uprawnienia administratora usługi sieciowej.

1

Pod żadnym pozorem nie wolno tego robić.

Po dodaniu usługi sieciowej do grupy administratorów wszyscy anonimowi użytkownicy, którzy uzyskują dostęp do Twojej aplikacji internetowej, będą domyślnie administratorami, a potencjał uszkodzeń jest ogromny.

Za swoje pytanie

zdarza mi się mieć pewność, aby umożliwić użytkownikowi wykonać pewne działania na mojej stronie internetowej, że działanie wymaga uprawnień administratora.

to dobrze - używać uwierzytelniania systemu Windows na tej stronie internetowej i sprawić, że użytkownik normalny administratora systemu Windows. Teraz oni i wszyscy inni administratorzy mogą wykonywać zadania, które ustawiliście.

Powiązane problemy