W systemie Windows Server 2008 z zainstalowanym programem ASP.NET 4.0 jest mnóstwo powiązanych kont użytkowników i nie mogę zrozumieć, które z nich są różne, w jaki sposób się różnią, a które NAPRAWDĘ jest tym, na którym działa moja aplikacja. Oto lista:
- IIS_IUSRS
- IUSR
- DefaultAppPool
- ASP.NET v4.0
- USŁUGA SIECIOWA
- USŁUGA LOKALNA.
Co jest co?
asp.net
security
iis
user-accounts
Vilx-
źródło
źródło
Odpowiedzi:
To bardzo dobre pytanie i niestety wielu programistów nie zadaje wystarczających pytań na temat bezpieczeństwa IIS / ASP.NET w kontekście bycia programistą i konfigurowania IIS. No i proszę…
Aby objąć wymienione tożsamości:
IIS_IUSRS:
Jest to analogiczne do starej
IIS_WPG
grupy IIS6 . Jest to grupa wbudowana ze skonfigurowanymi zabezpieczeniami, dzięki czemu każdy członek tej grupy może działać jako tożsamość puli aplikacji.IUSR:
To konto jest analogiczne do starego
IUSR_<MACHINE_NAME>
konta lokalnego, które było domyślnym anonimowym użytkownikiem witryn IIS5 i IIS6 (tj. Skonfigurowanego za pomocą karty Zabezpieczenia katalogu we właściwościach witryny).Aby uzyskać więcej informacji na temat
IIS_IUSRS
iIUSR
zobacz:DefaultAppPool:
Jeśli pula aplikacji jest skonfigurowana do uruchamiania przy użyciu funkcji Tożsamość puli aplikacji, wówczas „syntezowane” konto o nazwie
IIS AppPool\<pool name>
zostanie utworzone w locie w celu użycia jako tożsamość puli. W takim przypadku zostanie utworzone konto syntetyczne o nazwieIIS AppPool\DefaultAppPool
utworzone na czas istnienia puli. Jeśli usuniesz pulę, to konto przestanie istnieć. Przy stosowaniu uprawnień do plików i folderów należy je dodać za pomocąIIS AppPool\<pool name>
. Nie zobaczysz również tych kont puli w Menedżerze użytkowników komputerów. Aby uzyskać więcej informacji, zobacz następujące informacje:ASP.NET v4.0:
-Będzie to tożsamość puli aplikacji dla puli aplikacji ASP.NET v4.0. Patrz
DefaultAppPool
wyżejNETWORK SERVICE:
-NETWORK SERVICE
Konto jest wbudowany tożsamości wprowadzonym w systemie Windows 2003.NETWORK SERVICE
jest niska uprzywilejowane konto, na którym można uruchomić pul aplikacji i stron internetowych. Witryna działająca w puli systemu Windows 2003 może nadal podszywać się pod anonimowe konto witryny (IUSR_ lub cokolwiek skonfigurowanego jako anonimowa tożsamość).W ASP.NET przed Windows 2008 możesz mieć ASP.NET wykonujący żądania w ramach konta w puli aplikacji (zwykle
NETWORK SERVICE
). Alternatywnie można skonfigurować program ASP.NET tak, aby personifikował anonimowe konto witryny za pomocą lokalnego<identity impersonate="true" />
ustawieniaweb.config
pliku (jeśli to ustawienie jest zablokowane, administratormachine.config
pliku musi to zrobić ).Ustawienie
<identity impersonate="true">
jest wspólne w dzielonych środowiskach hostingowych, w których używane są współużytkowane pule aplikacji (w połączeniu z częściowymi ustawieniami zaufania, aby zapobiec odwróceniu personifikowanego konta).W IIS7.x / ASP.NET kontrola personifikacji jest teraz konfigurowana za pomocą funkcji konfiguracji uwierzytelniania witryny. Możesz więc skonfigurować działanie jako tożsamość puli
IUSR
lub określone niestandardowe anonimowe konto.LOCAL SERVICE:
LOCAL SERVICE
Konto jest wbudowane konto używane przez menedżera sterowania usługami. Ma minimalny zestaw uprawnień na komputerze lokalnym. Ma dość ograniczony zakres zastosowania:LOCAL SYSTEM:
Nie pytałeś o to, ale dodaję dla kompletności. To jest lokalne konto wbudowane. Ma dość szerokie przywileje i zaufanie. Nigdy nie należy konfigurować strony internetowej ani puli aplikacji, aby działały pod tą tożsamością.
W praktyce:
W praktyce preferowanym podejściem do zabezpieczania strony internetowej (jeśli witryna otrzyma własną pulę aplikacji - która jest domyślna dla nowej witryny w MMC IIS7) jest uruchomienie
Application Pool Identity
. Oznacza to ustawienie Tożsamości witryny w ustawieniach zaawansowanych puli aplikacji naApplication Pool Identity
:Następnie na stronie internetowej należy skonfigurować funkcję uwierzytelniania:
Kliknij prawym przyciskiem myszy i edytuj wpis Anonimowego uwierzytelnienia:
Upewnij się, że wybrano „Tożsamość puli aplikacji” :
Kiedy przystępujesz do stosowania uprawnień do plików i folderów, przyznajesz tożsamości puli aplikacji, niezależnie od wymaganych uprawnień. Na przykład, jeśli przyznajesz tożsamość puli aplikacji dla
ASP.NET v4.0
uprawnień puli, możesz to zrobić za pomocą Eksploratora:Kliknij przycisk „Sprawdź nazwy”:
Lub możesz to zrobić za pomocą
ICACLS.EXE
narzędzia:... lub ... jeśli nazywa się pula aplikacji witryny
BobsCatPicBlog
wtedy:Mam nadzieję, że to pomoże wyjaśnić sytuację.
Aktualizacja:
Właśnie natknąłem się na tę doskonałą odpowiedź z 2009 roku, która zawiera wiele przydatnych informacji, które warto przeczytać:
źródło