Czym są wszystkie konta użytkowników IIS/ASP. NET i czym się różnią?
Pod Windows Server 2008 z ASP.NET 4.0 zainstalowane tam jest całe mnóstwo powiązanych kont użytkowników i nie mogę zrozumieć, które z nich jest które, jak się różnią, a które jest naprawdę tym, pod którym działa moja aplikacja. Oto lista:
- IIS_IUSRS
- IUSR
- DefaultAppPool
- ASP.NET v4. 0
- NETWORK_SERVICE
- SERWIS LOKALNY.
Co jest czym?
1 answers
Jest to bardzo dobre pytanie i niestety wielu programistów nie zadaje wystarczająco dużo pytań na temat bezpieczeństwa IIS/ASP. NET w kontekście bycia programistą sieci i konfigurowania usług IIS. No to zaczynamy....
Na pokrycie wymienionych tożsamości:
IIS_IUSRS:
Jest to analogiczne do starej grupy IIS6 IIS_WPG
. Jest to wbudowana grupa z zabezpieczeniami skonfigurowanymi tak, aby każdy członek tej grupy mógł działać jako pula aplikacji tożsamość.
IUSR:
To konto jest analogiczne do starego konta lokalnego IUSR_<MACHINE_NAME>
, które było domyślnym anonimowym użytkownikiem dla witryn IIS5 i IIS6 (tj. skonfigurowanego przez zakładkę Bezpieczeństwo katalogu właściwości witryny).
Aby uzyskać więcej informacji na temat IIS_IUSRS
i IUSR
Zobacz:
DefaultAppPool:
Jeśli pula aplikacji jest skonfigurowana do Uruchom za pomocą funkcji tożsamość puli aplikacji, a następnie" zsyntetyzowane " konto o nazwie IIS AppPool\<pool name>
zostanie utworzone w locie, aby używane jako tożsamość puli. W tym przypadku istnieje zsyntetyzowane konto o nazwie IIS AppPool\DefaultAppPool
utworzone na czas życia 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 będzie również widać tych kont puli w Menedżerze użytkowników komputerów. Zobacz poniżej, aby uzyskać więcej informacji informacje:
ASP.NET v4.0:
-
Będzie to identyfikator puli aplikacji dla ASP.NET Pula aplikacji v4. 0. Zobacz DefaultAppPool
powyżej.
NETWORK SERVICE:
-
Konto NETWORK SERVICE
jest wbudowaną tożsamością wprowadzoną w systemie Windows 2003. NETWORK SERVICE
jest niskim kontem uprzywilejowanym, pod którym można uruchamiać Pule aplikacji i strony internetowe. Strona działająca w systemie Windows 2003 może jeszcze podszywać się pod anonimowe konto witryny (IUSR_ lub cokolwiek skonfigurowałeś jako anonimową tożsamość).
W ASP.NET przed Windows 2008 możesz mieć ASP.NET wykonywanie żądań na koncie puli aplikacji (zwykle NETWORK SERVICE
). Alternatywnie można skonfigurować ASP.NET aby podszywać się pod anonimowe konto witryny za pomocą ustawienia <identity impersonate="true" />
w pliku web.config
lokalnie (jeśli to ustawienie jest zablokowane, musi to zrobić administrator w pliku machine.config
).
Ustawienie <identity impersonate="true">
jest często spotykane w środowiskach hostingu współdzielonego, w których używane są wspólne Pule aplikacji(w połączeniu z ustawieniami zaufania częściowego, aby zapobiec odwijaniu się podszywanego konta).
W IIS7. X / ASP. NET Kontrola podszywania się jest teraz skonfigurowana za pomocą funkcji konfiguracji uwierzytelniania witryny. Możesz więc skonfigurować, aby działał jako identyfikator puli, IUSR
lub określone niestandardowe konto anonimowe.
LOCAL SERVICE:
Konto LOCAL SERVICE
jest wbudowanym kontem używanym przez service control manager. Posiada 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. Posiada dość rozległe przywileje i zaufanie. Nigdy nie należy konfigurować strony internetowej lub puli aplikacji, aby działała pod tą tożsamością.
W Praktyce:
W praktyce preferowanym podejściem do zabezpieczenia strony internetowej (jeśli strona otrzyma własną pulę aplikacji - co jest domyślne dla nowej witryny w MMC IIS7) jest uruchamianie pod Application Pool Identity
. Oznacza to ustawienie tożsamości witryny w zaawansowanych ustawieniach puli aplikacji na Application Pool Identity
:
Kliknij prawym przyciskiem myszy i edycja wpisu uwierzytelniania anonimowego:
Upewnij się, że wybrano"tożsamość puli aplikacji":
Kiedy chcesz zastosować uprawnienia do plików i folderów, nadajesz identyfikator puli aplikacji bez względu na wymagane prawa. Na przykład, jeśli nadajesz nazwę puli aplikacji dla uprawnień puli ASP.NET v4.0
, możesz to zrobić za pomocą Eksploratora:
Kliknij "Sprawdź nazwy" button:
Możesz to zrobić za pomocą narzędziaICACLS.EXE
:
icacls c:\wwwroot\mysite /grant "IIS AppPool\ASP.NET v4.0":(CI)(OI)(M)
...albo...jeśli pula aplikacji witryny nazywa się BobsCatPicBlog
, to:
icacls c:\wwwroot\mysite /grant "IIS AppPool\BobsCatPicBlog":(CI)(OI)(M)Mam nadzieję, że to wszystko wyjaśni.
Update:
[[31]} właśnie natknąłem się na tę doskonałą odpowiedź z 2009 roku, która zawiera kilka przydatnych informacji, warto przeczytać: [32]}Różnica między kontem "systemu lokalnego" a "usługą sieciową" konto?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:26:20