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?

Author: Kev, 2011-04-20

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:

Zrozumienie wbudowanych kont użytkowników i grup w IIS 7

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:

Tożsamość Puli Aplikacji

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:

Konto LocalService

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ą.

LocalSystem Konto

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:

Tutaj wpisz opis obrazka

Na stronie internetowej należy skonfigurować funkcję uwierzytelniania:]}

Tutaj wpisz opis obrazka

Kliknij prawym przyciskiem myszy i edycja wpisu uwierzytelniania anonimowego:

Tutaj wpisz opis obrazka

Upewnij się, że wybrano"tożsamość puli aplikacji":

Tutaj wpisz opis obrazka

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:

Tutaj wpisz opis obrazka

Kliknij "Sprawdź nazwy" button:

Tutaj wpisz opis obrazka

Możesz to zrobić za pomocą narzędzia ICACLS.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?

 386
Author: Kev,
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