You are on page 1of 52

Introducing IIS7:

Microsofts
Next Generation
Web Server

dotcore.pjwstk.edu.pl

Wprowadzenie do IIS7

Na wstpie warto wyjani, czym jest IIS. Internet


Information Services to potny, wydajny serwer sieci
Web, jak rwnie hosting aplikacji i usug.
IIS 7 wyrnia si budow moduow, serwer Web
skada si z okoo 40 skadnikw, dziki czemu
administrator moe wybra tylko te, ktre s wymagane.
Sprzyja to rwnie zmniejszeniu liczby atakw.
Zupen nowoci w ISS 7 Windows Server 2008 jest
Internet Information Services (IIS) Manager, osobna
konsola MMC dla konfiguracji serwera sieci Web firmy
Microsoft.

Architektura

Internet Information Services (IIS) 7.0


zapewnia now architektur przetwarzania
da, m.in.:
Nowa usuga, Windows Process Activation

Service (WAS), ktra umoliwia uywania


protokow innych ni HTTP i HTTPS dla stron
Silnik, ktry umoliwia dodawanie i usuwanie
wybranych moduw
Komponenty: listeners - HTTP.sys, usugi - World
Wide Web Publishing Service (WWW service) i
Windows Process Activation Service (WAS)

Protocol Listeners

Protocol listeners odbieraj specyficzne dania, wysyaj je


do IIS w celu przetworzenia i zwracaj odpowied do
dajcego. Przykadowo jeeli przegldarka klienta wysya
rzdanie otwarcia strony WWW, HTTP listener, HTTP.sys
odbiera danie i wysya je do IIS. IIS przetwarza danie i
wysya odpowied do klienta.
W standardzie HTTP.sys wpiera protokou HTTP i HTTPS.
by wspiera usugi i aplikacje, ktre uywaj protokow
innych ni HTTP i HTTPS, moemy uy technologii
Windows Communication Foundation (WCF). WCF posiada
listener adapters, ktre zapewniaj odpowiednie
funkcjonalnoci dla obsugi innych protokow. Wicej
informacji o WCF na MSDN Windows Communication Foundation .

Hypertext Transfer Protocol Stack (HTTP.sys)

HTTP nasuchiwacze s czci podsystemu sieciowego, ktry jest


zaimplementowany jako sterowniki urzdze na poziomie jdra w systemach
operacyjnych i nazywa si to HTTP protocol stack (HTTP.sys). HTTP.sys
nasuchuje da HTTP requests z sieci, wysya do IIS w celu przetworzenia
i wysya odpowied zwrotn.
W IIS 6.0, HTTP.sys by zastpiony Windows Sockets API (Winsock), ktry
by komponentem na poziomie uytkownika.
HTTP.sys zapewnia nastpujce korzyci:
Kernel-mode caching. Requests for cached responses are served without
switching to user mode.
Kernel-mode request queuing. Requests cause less overhead in context
switching because the kernel forwards requests directly to the correct worker
process. If no worker process is available to accept a request, the kernelmode request queue holds the request until a worker process picks it up.
Request pre-processing and security filtering.

World Wide Web Publishing


Service (WWW service)

WW Service jest odpowiedzialny za


konfiguracj HTTP.sys, update
HTTP.sys przy zmianach w konfiguracji,
i informowanie WAS kiedy pojawi si
rzdanie w kolejce.
WWW Service zbiera informacje do
licznikw

Windows Process Activation Service (WAS)

Uywa tej samej konfiguracji i modelu


przetwarzania jak dla HTTP
Opcjonalnie mona odpali WAS bez
startowania WWW Servcie jeli nie jest
potrzebna funkcjonalno HTTP.
For information about WCF listener
adapters and hosting WCF applications
in IIS 7.0 by using WAS, see
Hosting in WCF on MSDN.

HTTP Request Processing in IIS7


1.
2.
3.
4.
5.
6.
7.
8.

When a client browser initiates an HTTP request for a resource on the


Web server, HTTP.sys intercepts the request.
HTTP.sys contacts WAS to obtain information from the configuration
store.
WAS requests configuration information from the configuration store,
applicationHost.config.
WWW Service receives configuration information, such as application
pool and site configuration.
WWW Service uses the configuration information to configure
HTTP.sys.
WAS starts a worker process for the application pool to which the
request was made.
The worker process processes the request and returns a response to
HTTP.sys.
The client receives a response.

HTTP Request Processing in IIS7

IIS7 jako serwer stron WWW


Instalacja
Server Manager, gdzie wybra naley Add Roles i
nastpnie zaznaczy waciwe skadniki.

Zaznaczajc rol IIS, uytkownik musi wyrazi zgod na


doinstalowanie opcji zwizanych z Windows Process
Activation Service. S one niezbdne do dziaania IIS.
Nastpnym krokiem instalacji jest wybr skadnikw,
spord kilkudziesiciu IIS7, ktre faktycznie maj by
zainstalowane. Mona zainstalowa wszystkie, jeeli kto
chce eksperymentowa.

1.Web Server
Gwna funkcjonalno serwera internetowego, zaznaczana
automatycznie. Wszystkie serwerowe opcje s elementami
tego gwnego wza.

2.Common HTTP Features


Zaznaczana automatycznie funkcjonalno serwera jest
zwizana ze statycznymi stronami.
Static Content. Wczy. Opcja pozwalajca na publikowanie
stron. Z punktu kogo, kto chciaby opublikowa swoje strony,
jest to opcja najwaniejsza. Teoretycznie wystarczyaby tylko
ona, ale tak skonfigurowany serwer byby bardzo nieciekawy.
Default Document. Wczy. Opcja pozwala na podanie
strony html w sytuacji, kiedy uytkownik wpisze w
przegldarce tylko adres serwera. Przykadowo, peny adres
strony Microsoft to
http://www.microsoft.com/en/us/default.aspx. Nikt jednak tak
nie pisze, zamiast tego podajc w przegldarce tylko
http://www.microsoft.com/. Aby serwer wiedzia, ktr stron
poda, jak uytkownik o adn nie zapyta naley
zaznaczy t opcj.

Directory Browsing. Wczy, jeeli tylko moe si przyda. Opcja


pozwala na przegldanie plikw w katalogu. Zamiast adnej strony
wywietlana jest lista plikw, a kliknicie na jaki plik , otwiera go ju
w jego waciwej postaci. Naley pamita, e opcj t mona
pniej wcza i wycza dla kadego katalogu oddzielnie, co
zostanie omwione w dalszej czci artykuu. Zazwyczaj przyjmuje
si, e inne ni celowe i przemylane pokazanie komu zawartoci
katalogu jest istotnym naruszeniem powszechnie przyjtych
standardw bezpieczestwa serwera WWW.
HTTP Errors. Wczy. Opcja pozwala na wysyanie do klienta
wasnych komunikatw bdu, jeeli z jakiego powodu bd si
pojawi. Typow sytuacj (i komunikatem) bdu jest odwoanie do
nieistniejcej strony.
HTTP Redirection. Wczy. Opcja pozwala na przekserowanie
klienta w inne miejsce, w praktycznie niezauwaalny dla niego
sposb. Moe to by bardzo uyteczne na przykad przy zmianach w
strukturze stron.
Application Development. Zaznaczana automatycznie. Zestaw opcji
wspierajcych aplikacje internetowe.

ASP. Wczy lub wyczy w zalenoci od sytuacji. ASP jest


standardem skryptw uruchamianych po stronie serwera IIS.
Formalnie nie jest to statyczna strona WWW, wic wypadaoby
wyczy. Praktyka pokazuje jednak, e nawet statyczne strony
na tyle czsto maj format ASP, e wyczenie moe uniemoliwi
ich publikacj.
CGI. Wyczy. Stary, ale stale ywy sposb zapewniania
dynamicznej treci stron internetowych. Kompletne zapytanie od
klienta przekazywane jest jako parametr podawany przy
uruchomieniu zapisanego na dysku pliku *.EXE. Wynik dziaania
programu *.EXE odsyany jest jako odpowied dla klienta. Kade
otwarcie strony to uruchomienie aplikacji, na czym cierpi
wydajno. Z drugiej strony, prostota mechanizmu sprawia, e
aplikacje CGI s nadal tworzone w dziesitkach rnych jzykw
programowania.
ISAPI Extensions. Wyczy. Bardzo wydajny mechanizm
tworzenia dynamicznych stron. Cay kod generujcy stron
zapisany jest w podczonej do IIS bibliotece DLL. Efektem jest
bardzo szybka praca, jednak strony tak tworzone zazwyczaj
bardzo ciko si rozwija, utrzymuje i aktualizuje.

ISAPI Filters. Wyczy. ISAPI Filters s rozszerzeniami


serwera IIS pozwalajcymi na obsug przychodzcych
zgosze nim trafi one do waciwego serwera. temu,
mona na przykad stworzy bibliotek, ktra zablokuje
wszystkie dania niezgodne z RFC.
Server Side Includes. Wyczy. Stara i prosta metoda
tworzenia zawartoci stron, poprzez czenie zawartoci
rnych plikw. Przykadowo, dla kadej wywietlanej
strony jej stopka jest pobierana z pliku stopka.txt i dopiero
wtedy cao jest wysyana do klienta jako jeden spjny kod
HTML.
ASP.NET. Wyczy. Bardzo cenna opcja pozwalajca na
uruchamianie najnowoczeniejszych aplikacji
internetowych.
NET Extensibility. Wyczy. Pozwala na rozszerzanie
funkcjonalnoci IIS7.

3.Health and Diagnostics


Zaznaczana automatycznie. Zestaw opcji sucych do
monitorowania stanu serwera.
HTTP Logging. Wczy. Opcja pozwala na zapisywanie na dysku
plikw z informacjami o odwoaniach do stron. Pliki takie umoliwiaj
pniej analiz odwiedzin i ledzenie bdw.
Logging Tools. Wczy. S to dodatkowe narzdzia pozwalajce na
zarzdzanie logami systemowymi.
Request Monitor. Wyczy. Opcja pozwalajca na ledzenie
zapyta, co w praktyce, dla statycznych stron jest zbdne.
Tracing. Wyczy. Opcja pozwala ledzi zapytania. Co w praktyce
dla statycznych stron jest zbdne.
Custom Logging. Wyczy. Opcja pozwala na tworzenie wasnych
metod logowania zapyta. Wymaga niemaych umiejtnoci i nie
wnosi nic cennego w przypadku statycznych stron.
ODBC Logging. Wyczy, chyba e wczenie jest uzasadnione.
Opcja pozwala na zapisywanie informacji o zapytaniach do bazy
danych zamiast do plikw. Dane takie s atwiejsze do pniejszej
analizy dziki mechanizmom SQL.

4.Security
Zaznaczane automatycznie. Zestaw opcji pozwalajcych na
dostosowanie metod, ktrymi klient moe potwierdzi swoj
tosamo.
Basic Authentication. Raczej wyczy. Wczy, jeeli do czci
stron dostp maj mie tylko wybrani uytkownicy a inne metody
nie dziaaj. Ta metoda autentykacji jest dostpna w kadej
przegldarce, jednak jej wad jest stosunkowo prosta moliwo
podsuchania hase.
Windows Authentication. Raczej wyczy. Wczy, jeeli do
czci stron dostp maj mie tylko wybrani uytkownicy z lokalnej
sieci LAN. Metoda autentykacji opiera si na uwierzytelnianiu
systemu. Dziki temu, uytkownik zalogowany do domeny
automatycznie moe si przedstawi serwerowi.
Digest Authentication. Wczy, chyba e wszystkie strony na
serwerze WWW przeznaczone s dla caego wiata. Jeeli jest
konieczne uwierzytelnianie uytkownikw, to opcja wydaje si
najbezpieczniejsza.

4.Security

Client Certificate Mapping Authentication. Wyczy dopki si nie


zrozumie, jak to dziaa. Bardzo bezpieczny sposb uwierzytelniania,
jednak jego zoono sprawia, e wcza t opcj powinni tylko
dowiadczeni administratorzy, znajcy ju dobrze serwer IIS.

IIS Client Certificate Mapping Authentication. Wyczy dopki si


nie zrozumie, jak to dziaa. Bardzo bezpieczny sposb
uwierzytelniania, jednak jego zoono sprawia, e wcza t
opcj powinni tylko dowiadczeni administratorzy, znajcy ju
dobrze serwer IIS.

URL Authorization. Raczej wyczy, chyba e strony WWW maj


zoony schemat uprawnie okrelajcych dopuszczonych
uytkownikw. Opcja pozwala na powizanie uprawnie do stron z
grupami do ktrych naley uytkownik.

Request Filtering. Wczy. Opcja ta podcza do IIS filtry, ktre s


w stanie zapobiec wielu typowym atakom.

IP and Domain Restrictions. Wczy. Dziki tej opcji mona


zarzdza uprawnieniami poprzez okrelenie, ktre adresy IP maj
zakaz (lub pozwolenie) dostpu do stron.

5.Performance
Zaznaczane automatycznie. Zestaw dwch opcji
zwizanych z kompresj przesyanych danych.
Static Content Compression. Wczy. Opcja powoduje,
e odwiedzana strona jest kompresowana, zapisywana w
skompresowanej postaci i od tej pory w takiej wanie
postaci wysyana do klienta. Dziki temu, znaczco
zmniejsza si obcienie cza.
Dynamic Content Compression. Wyczy. Analogiczna
jak dla Static Content Compression moliwo kompresji
stron, jednak dla zawartoci dynamicznej. Zastosowanie
tej opcji powoduje, e kada odwiedzana strona, za
kadym razem jest kompresowana przed wysaniem do
klienta, co znaczco obcia procesor. Ponadto, niniejszy
artyku opisuje serwer stron statycznych, przez co opcja
Dynamic Content Compression nie ma zastosowania.

6.Management Tools.
Zaznaczane automatycznie. Zestaw opcji zwizanych
z narzdziami administracyjnymi IIS.
IIS Management Console. Wczy. Opcja odpowiada
za instalacji konsoli zarzdzajcej serwerem IIS7.
IIS Management Script and Tools. Wczy.
Narzdzia administracyjne obsugiwane z linii
polece. Nawet, jeeli nie s potrzebne od razu, to
nigdy nie wiadomo, kiedy mog si przyda.
Management Service. Wyczy. Wczy tylko w
sytuacji, gdy serwerem administruje rwnoczenie
wiele osb, kada odpowiadajca tylko za swj
serwer wirtualny.

7. IIS6 Management Compatibility.


Zaznaczane automatycznie. Opcje wykorzystujce
mechanizmy z poprzedniej wersji serwera IIS.

IIS6 Metabase Compatibility. Wyczy. Zgodno z metabaz


IIS6 nie powinna by uywana bez wyranej potrzeby.
IIS6 WMI Compatibility. Wyczy. Zgodno z interfejsami
WMI dla IIS6 nie powinna by uywana bez wyranej
potrzeby.
IIS6 Scripting Tools. Wyczy. Narzdzia do zarzdzania IIS
przez wiersz polece zostay zastpione nowymi aplikacjami.
IIS6 Managment Console. Wyczy. Konsola zarzdzajca z
poprzedniej wersji serwera. Uyteczna wycznie dla SMTP i
FTP.

8.FTP Publishing Service.


Zaznaczane automatycznie. Dwie opcje pozwalajce na
uruchomienie i zarzdzanie serwerem FTP
FTP Server. Wyczy. Serwer doczony do wersji RC1
(ostatnia dostpna podczas tworzenia artykuu) nie
zachca do uycia. Ponadto, funkcjonalno FTP
osigana jest innymi, wydajniejszymi i
bezpieczniejszymi mechanizmami.
FTP Management konsole. Wyczy. Konsola
zarzdzajca FTP nie jest potrzebna jeeli nie zosta
zainstalowany serwer FTP.
Po ostatecznym potwierdzeniu, system wykona
instalacj wybranych opcji potwierdzajc zakoczenie
komunikatem Installation succeeded

Konfiguracja IIS7

Po zakoczeniu instalacji, na pierwszy rzut


oka nic nowego si nie pojawia. Jeeli
jednak sprawdzi si otwarte porty TCP/IP
od razu wida, e serwer ju dziaa.

Jak wida, serwer nasuchuje na porcie 80


nie tylko na wszystkich adresach IPv4
(0.0.0.0), ale i na adresach IPv6 ([::]).

Konfiguracja IIS7
Jak si atwo domyli, w menu Start znajduj
si narzdzia administracyjne, wybrane
podczas instalacji. Podstawowym narzdziem
jest Internet Information Server (IIS) Manager.
Po uruchomieniu z lewej strony konsoli
wywietlana jest struktura w postaci drzewa.
Wybierajc elementy drzewa, zarzdza
mona rnymi funkcjonalnociami serwera.

IIS7 Manager

Best Practices

Przyj naley, e najpierw konfiguruje si opcje dostpne z


poziomu serwera, a dopiero pniej dostpne z poziomu site.
Dziki takiemu podejciu, kady nowy site odziedziczy ustawienia i
ju w chwili utworzenia bdzie poprawnie skonfigurowany i gotowy
do pracy.
Sprawdzajcym si w praktyce podejciem jest ustawienie
waciwoci na poziomie caego serwera na poziom maksymalnie
bezpieczny. Jeeli gdzie poziom taki przeszkadza w
funkcjonowaniu serwisw WWW, mona go rozluni dla danego
serwisu. Pozwala to na stworzenie nowego serwisu wymaga
rozlunienia uprawnie na tyle, eby dziaa poprawnie, co jest
stosunkowo atwo sprawdzi. W przeciwnym razie, kady serwis
dziaaby poprawnie, ale wymagaby kadorazowo sprawdzenia
zabezpiecze.

Poziom serwera
Z poziomu zarzdzania caym serwerem, uytkownik ma do
dyspozycji opcje start, stop oraz restart. Uruchamiaj one i
zatrzymuj cay serwer HTTP. Oczywiste jest, e zatrzymany
serwer nie udostpnia w sieci stron WWW.

Authentication
Opcje dostpne w tym widoku zale bezporednio od wybranych
w czasie instalacji metod uwierzytelniania. Oprcz sugerowanej
metody Digest, pojawia si metoda Anonymous Authentication.
W przypadku metody Digest dostpne jest okno konfiguracyjne, w
ktrym mona zmieni parametr Realm. Warto tego parametru
wywietlana jest uytkownikowi razem z pytaniem o haso i
zawiera powinna jaki czytelny opis serwera lub strony.
W przypadku metody Anonymous, najwaniejszym parametrem
jest nazwa konta, ktrym IIS si posuguje, odczytujc strony z
dysku. Domylnie, warto parametru jest rwna IUSR i to ta grupa
musi mie prawa odczytu do katalogw, w ktrych znajduj si pliki
html.

Compression

Kompresja zawartoci statycznej ma na celu spakowanie


zawartoci stron i wysyanie jej w takiej postaci do klienta. Aby nie
przeprowadza kompresji przy kadym daniu, dane
kompresowane s raz i zapisywane na dysku.
Ustawiajc parametry kompresji, Administrator ma do moliwo
zdefiniowania:
Wczenia lub wyczenia kompresji;
Minimalnego rozmiaru pliku, ktry jest poddawany kompresji. Pliki
bardzo mae nie zyskuj na kompresji na tyle duo, eby operacja
taka bya opacalna;
Katalogu, w ktrym przechowywane s skompresowane dane;
Limitu objtoci skompresowanych danych na dysku. Limit
ustawiany jest per pula aplikacji, ale dla typowego serwera
statycznych stron kady site ma jedn swoj pul.

Default Document
Poniewa uytkownik woli wpisywa w przegldarce adres serwera zamiast
penej cieki do dokumentu, serwer musi wiedzie, jak stron ma wysa do
przegldarki w sytuacji, kiedy uytkownik nie poprosi o adn konkretn. Dane
domylnej strony ustawiane s wanie w sekcji Default Document.
Dla kadego wirtualnego katalogu (o czym dalej) moliwe jest zdefiniowanie listy
domylnych dokumentw. Lista ta przetwarzana jest od pierwszej do ostatniej
pozycji. Jeeli dokument wymieniony na licie istnieje na serwerze jest wysyany
do klienta. Jeeli nie istnieje przetwarzany jest kolejny wpis na licie. Jeeli wpis
nie zosta znaleziony, sprawdzane jest zezwolenie na przegldanie katalogu, a
jeeli przegldanie rwnie nie jest moliwe wysyany jest kod bdu mwicy,
e tego katalogu nie wolno przeglda.
Poprzez interfejs IIS Manager moliwa jest zmiana kolejnoci dokumentw
domylnych, ich dodawanie i usuwanie. Dostpna w sekcji Actions opcja
Disable w ogle wycza funkcjonalno domylnego dokumentu dla danego
katalogu wirtualnego.
W praktyce bardzo rzadko zdarza si, eby waciciel stron WWW nie chcia
publikowa domylnego dokumentu. Poniewa przyjte standardy okrelaj kilka
zwyczajowo stosowanych nazw, najlepszym rozwizaniem wydaje si
umieszczenie caej listy typowych nazw dokumentw, co w IIS jest ustawione
domylnie. W takiej sytuacji, kady katalog ma szans wywietla poprawnie swj
domylny dokument.

Directory Browsing
Opcja Directory Browsing odpowiada za uprawnienia do przegldania katalogw
serwera. Moe zdarzy si, e dziaanie takie bdzie potrzebne. Naley jednak
przyj, e jest to sytuacja wyjtkowa. Dlatego na poziomie serwera naley
wyczy przegldanie katalogw i lokalnie, w konkretnych katalogach wcza
tylko wtedy, kiedy jest to potrzebne. Wczenie tej opcji sprawia, e uytkownik
serwera widzi znajdujce si na nim pliki zamiast stron internetowych.

Serwer IIS najpierw sprawdza obecno domylnego dokumentu i dopiero kiedy


go nie znajdzie, pozwala na przegldanie katalogu. W opcjach IIS Manager
dotyczcych przegldania katalogw okreli mona, ktre z widocznych na
rysunku parametrw pliku (data, czas, rozmiar i rozszerzenie) s wywietlane.

Naley pamita, e nieuzasadnione wywietlanie katalogw serwera uznawane


jest za powane naruszenie regu bezpiecznej konfiguracji.

Error Pages
Protok HTTP okrela, e dla kadego zapytania od klienta, w
odpowiedzi zwracanej z serwera powinien si znale kod liczbowy
mwicy, jakiego rodzaju jest to odpowied. W normalnych warunkach
kod ten ma numer 200 i oznacza, e wszystko poszo dobrze. Istniej
jednak sytuacje, kiedy serwer nie moe odpowiedzie na danie
klienta. W takim przypadku, to wanie kod bdu informuje o tym, co
naprawd si wydarzyo.
Kody bdw s ustandaryzowane i opisane w dokumencie RFC 2616,
sekcja 10. "Status Code Definitions. W przypadku bdu, serwer moe
zamiast samego kodu wysa rwnie jakie dane.
Przykadowo, bd 404 mwi klientowi, e na serwerze nie ma tej
strony, o ktr zapyta. Zamiast posa samo 404 i liczy, e
przegldarka zrozumie komunikat, serwer moe na przykad wywietli
stron, na ktrej bdzie opisana struktura portalu, dziki czemu klient
atwo trafi tam, gdzie chcia.

Error Pages
Administrator ma nastpujce moliwoci:

Wstawi tekst z pliku. Moe to by na przykad szanowny kliencie,


nie ma u nas na serwerze takiej strony. Co ciekawe, majc klientw
mwicych rnymi jzykami, mona okreli, e odpowied
wysyana jest w jzyku waciwym dla danego klienta.
Wykona skrypt lub aplikacj na serwerze.
Przekierowa klienta na inn stron, nawet na stron na innym
serwerze.

Handler Mappings
Opcja ta odpowiada za specjaln obsug niektrych
zapyta. W przypadku standardowego serwera
udostpniajcego strony WWW najpraktyczniejszym
podejciem jest pozostawienie wszelkich ustawie z
wartociami domylnymi.
HTTP Redirect
Opcja pozwalajca na odesanie klientowi kodu (301,302
lub 307) mwicego, e danej zawartoci naley
poszuka gdzie indziej. Przekierowanie dla caego
serwera zazwyczaj mija si z celem, ale dla
poszczeglnych katalogw czasem trzeba je zdefiniowa.
Klient wchodzcy na dan stron zostanie automatycznie
skierowany w miejsce okrelone przez administratora IIS.

HTTP Response Headers


Wraz z treci strony (i omwionym ju kodem liczbowym) serwer HTTP moe
przesa do klienta wiele dodatkowych informacji. Jedn z nich s nagwki.
Definiuje si je w sekcji HTTP Response Headers. Nagwki mona dowolnie
definiowa wedug wasnych potrzeb lub skorzysta z dwch predefiniowanych.
Potrzeba wstawienia wasnych nagwkw jest tak egzotyczna, e nie warto si na
niej skupia. Naley tylko zapamita, e jest to wykonalne.
Predefiniowane nagwki dotycz za to opcji, ktre mog si przyda:
http keep-alive - nagwek mwicy przegldarce, e nie powinna si rozcza z
serwerem. Zyskiem jest to, e przy kolejnym odwoaniu do serwera, system klienta
nie bdzie musia od nowa zestawia sesji TCP. Zmniejsza si dziki temu ilo
przesanych danych i zwiksza prdko. Opcja ta jest domylnie wczona.
Content expres - nagwek mwicy przegldarce, kiedy tre strony bdzie ju
nieaktualna. Mona poda konkretn dat lub nigdy, lub jak tylko j pobierzesz,
to bdzie nieaktualna. Dziki temu nagwkowi, przegldarka wie, czy ponowne
danie danych ze strony stron moe by obsuona na podstawie danych
zgromadzonych w cache przegldarki czy musi opiera si na informacjach
pobranych z serwera. Dopki nie jest to czym konkretnym uzasadnione, najlepiej
pozostawi nagwek content expires wyczony.

IPv4 Address and Domain


Restrictions
Czasem zdarza si, e waciciel stron internetowych chce ogranicza
dostp do nich na podstawie informacji o adresie IP uytkownika.
W przypadku IIS7 jest to moliwe i istniej dwa scenariusze:
Administrator pozwala wchodzi wszystkim oprcz wskazanych (Black
list),
Administrator nie pozwala wchodzi nikomu oprcz tych, ktrych wskae
(white list).
Rodzaj podejcia zalee musi od konkretnej sytuacji i dla kadego
wirtualnego katalogu moe by ustawiony indywidualnie. Zmiana polityki
dostpu (Black list czy white list) moliwa jest po wybraniu opcji Edit
Feature Settings. Z wyjtkiem bardzo specyficznych sytuacji, zarzdzanie
dostpem na podstawie adresu IP powinno nie by wykonywane na
poziomie caego serwera. Pomijajc trudnoci z pniejszym znalezienie
przyczyn bdw, ograniczenie takie mona prbowa omija, wic nie
powinno by traktowane jako wana linia obrony serwera.

Logging
Logowanie zapyta jest jedn z najwaniejszych rzeczy w dobrze skonfigurowanym
serwerze. Nawet, jeeli logi nie wydaj si dzisiaj potrzebne, na pewno w przyszoci
zdarzy si tak, e trzeba bdzie do nich sign.
Opcje dostpne po wczeniu logowania przez administratora:
Poziom logowania (One log file per). Log mona zbiera jeden dla caego serwera IIS lub
oddzielnie dla kadego serwera wirtualnego (o czym dalej). Domylne ustawienie zakada,
e kady serwer wirtualny ma oddzielny log i wydaje si to sensowne.
Format logu. Najbardziej typowym formatem jest W3C czyli format, z ktrym zgodne s
praktycznie wszystkie serwery internetowe, niezalenie od tego czy pochodz z Microsoft,
czy nie. Przy pomocy przycisku Select Fields wybra mona, ktre parametry dania s
zapisywane w pliku logu a ktre nie.
Katalog. Miejsce, w ktrym zapisywane s logi.
Kodowanie znakw narodowych. Domylna opcja UTF-8 jest mniej uniwersalna, ale na
pewno pozwoli na zapisanie kadego znaku narodowego z chiskimi i japoskimi wcznie.
Sposb tworzenia nowego pliku (rotacja). Opcja ta wskazuje, jak czsto ma by tworzony
nowy plik z logami. Dostpne wartoci to: co godzin, codziennie, co tydzie i co miesic.
Ponadto, nowy plik mona zakada wtedy, gdy stary osignie zaoony rozmiar (minimum
1048576 bajtw) lub cay czas zapisywa log do jednego pliku.
Ostatnia opcja okrela kiedy jest koniec dnia i nadesza pora na zaoenie nowego pliku.
Czy jest to o pnocy lokalnego czasu czy czasu UTC.

Logging
Ustawiajc parametry logowania, nie wolno zapomnie o
dwch istotnych faktach:

Logi serwera WWW nie s mae. Miesic dziaania rednio odwiedzanego serwera to 300MB. Rok
prawie 4GB. Jeeli serwer obsuguje wiele serwerw wirtualnych, nietrudno wyobrazi sobie, e po prostu
zabraknie na nie miejsca. I tu pojawia si problem, poniewa logi serwera IIS7, domylnie znajduj si na
dysku systemowym. A jeeli systemowi zabraknie miejsca na dysku, to skutki mog by bardzo smutne.
Remedium moe by albo umieszczenie logw na dedykowanym dysku albo stworzenie automatu (na
przykad opartego na Task Scheduler), ktry stare logi bdzie archiwizowa i usuwa.
W logach serwera WWW zapisywany jest czas. Czas ten nie jest czasem lokalnym! To czas uniwersalny
czyli UTC, przesunity o godzin w stosunku do polskiego. Jeeli odwoanie do strony miao miejsce w
poudnie czasu polskiego, to w logach zostanie zapisana godzina 11:00. Naley o tym pamita.

Mime Types
Tabela typw plikw informuje serwer jaki nagwek ma
wysa w przypadku dania pliku z danym rozszerzeniem.
Na podstawie tego nagwka przegldarka wie, co z plikiem
zrobi. Zasadniczo, naley przyj, e pki administrator
nie jest pewny tego, co robi, opcje te powinien omija.
Szczeglnym przypadkiem s pliki, ktrych rozszerzenie
nie pojawia si na licie. W takiej sytuacji moliwe jest, e
serwer odpowie, e dany plik nie istnieje.
Modules
W sekcji tej wymienione s zaadowane przez IIS moduy.
To wanie te moduy obsuguj zapytania do serwera i ich
lista zaley od wybranych podczas instalacji opcji. Dopki
kto nie jest w stu procentach pewny, co robi, to list t
powinien traktowa jako informacj przeznaczon tylko do
odczytu i zbyt gboko w niej nie grzeba.

Output Caching
Buforowanie danych wyjciowych ma na celu przyspieszenie
ich wysyania do klienta HTTP. W IIS Manager definiowa
mona jakie parametry ma mie buforowania dla kadego typu
plikw oddzielnie. Oczywicie, zdefiniowa daje si rwnie
domylna polityka buforowania.
Warto wiedzie, e dla buforowania mona ustawia polityki typu:
Buforuj dopki zawarto nie zostanie zmieniona;
Buforuj na zadany czas;
Nie buforuj.
W praktyce, eksperymenty z buforowaniem warto prowadzi
tylko tam, gdzie wszystko inne dziaa ju perfekcyjnie i
wydajno serwera (nie cza!) nie jest zadowalajca.

Certificates
Sekcja Certificates suy do zarzdzania certyfikatami, ktrych serwer IIS7 uywa do
szyfrowania ruchu SSL (HTTPS).
Kady certyfikat ma kilka istotnych pl:
Name (nazwa). Pole okrela nazw certyfikatu, ktra pomaga administratorowi w
zarzdzaniu.
Issued To (wydany dla). Pole podaje nazw serwera, dla ktrego certyfikat zosta
wydany. Nazwa ta zaszyta jest wewntrz certyfikatu i nie moe zosta zmieniona. Jeeli
serwer WWW udostpnia strony szyfrujc je certyfikatem, ktrego nazwa nie jest
zgodna z nazw serwera, uytkownik zobaczy w ekranie przegldarki komunikat o
potencjalnym zagroeniu.
Issued By (wydany przez). Okrela nazw podmiotu, ktry wyda certyfikat. Jeeli
podmiot nie jest zaufany przez przegldark klienta, zobaczy on na ekranie komunikat
o potencjalnym zagroeniu.
Expiration Date (data wyganicia). Definiuje termin przydatnoci certyfikatu do uycia.
Wprawdzie po tym terminie certyfikat dziaa i transmisja jest szyfrowana, jednak
uytkownik zobaczy w ekranie przegldarki komunikat o potencjalnym zagroeniu.
Certificate Hash (wynik funkcji skrtu). Niedugi cig znakw, ktry zmienia si
cakowicie nawet przy najdrobniejszej modyfikacji certyfikatu. Dziki skrtowi mona
prosto porwna czy dwa pozornie identyczne certyfikaty s naprawd tym samym czy
jednak si rni midzy sob.

Certificates
Zasadniczo, serwer IIS7 moe pozyska certyfikaty SSL z czterech rde:
Z pliku w formacie PFX. Plik taki chroniony jest zazwyczaj hasem i jest to
opcja najczciej stosowana, kiedy kto ju certyfikat posiada. Podczas
importu dostpna jest opcja Allow this certificate to be exported ktra
pozwala na wykonanie kolejnych kopi takiego certyfikatu.
Poprzez opcj Create Self Signed Certificate. Certyfikat generowany jest
natychmiast, ma roczn wano a nazwa w certyfikacie jest taka sama jak
nazwa FQDN serwera.
Poprzez Online Certification Authority. W ten sposb mona utworzy
certyfikat dla caej domeny i pniej atwo przyznawa go poszczeglnym
hostom. Wymaga to jednak dziaajcego w sieci CA.
Poprzez Certificate Request. Sposb ten jest najczciej stosowany, jeeli
potrzebny jest certyfikat do zastosowania w Internecie. Procedura skada si z
kilku krokw: najpierw naley przy pomocy linku Create Certificate Request
wygenerowa plik z daniem certyfikatu i zapisa go w pliku na dysku. Plik
ten naley przesa do Certification Authority. CA generuje na podstawie pliku
certyfikat i odsya go do dajcego. Plik z certyfikatem naley zapisa na
serwerze i wgra go do IIS7 poprzez uycie opcji Complete Certification
Request.

Worker Process

Poniewa dziaanie serwera opiera si na dziaaniu wielu


procesw roboczych obsugujcych docierajce
serwerw wirtualnych dania, istnieje okno pozwalajce
na zobaczenie aktywnych procesw, ich czasu dziaania,
obcienia procesora i zajtoci pamici.

Opjca SSL
Opcja ta dostpna jest jedynie w ustawieniach wirtualnych serwerw i
katalogw. Nie jest dostpna dla caego serwera IIS7. Zaznaczenie checkboxu
oznacza, e dla danego obiektu dozwolony bdzie jedynie dostp przez
HTTPS. Aby opcja bya aktywna, obiekt musi by wczeniej skonfigurowany tak,
eby istniao powizanie (binding) z HTTPS.
Serwery i katalogi wirtualne
Aby zrozumie dziaanie serwera IIS7, konieczna jest wiedza na temat tego, jak
wyglda wewntrz jego struktura. W IIS7 ma ona trzy poziomy:

Serwer IIS;

Serwery wirtualne (Sites);

Katalogi wirtualne (Virtual Directories).

Serwer wirtualny

Serwer wirtualny (zwany czsto site) jest przez uytkownikw z sieci widziany jako
samodzielny serwer WWW. Na pierwszy rzut oka wcale nie wida, e kilka adresw WWW
dziaa na tym samym komputerze. Kady ma swj adres, swoj stron domyln, swoje
ustawienia itp. Warto zastanowi si, jak to moliwe, e na jednym komputerze dostpne s
serwery pod wieloma nazwami. Jest to moliwe na trzy rne sposoby:
Serwer IIS7 ma wiele adresw IP i kady serwer wirtualny ma przydzielony swj adres. Dziki
temu danie strony, przychodzc do IIS7, kierowane jest do waciwego serwera wirtualnego,
ktry je obsuguje. Rozwizanie to wymaga wielu adresw IP przypisanych do serwera. Przez
to w sieci Internet sprawdza si do sabo, natomiast wietnie dziaa w serwerach
udostpniajcych strony tylko dla sieci LAN.
Serwer IIS7 nie ma tylu adresw IP, ile ma serwerw wirtualnych, ale kady serwer wirtualny
dziaa na wasnym porcie TCP/IP. W efekcie strony maj adresy http://mojastrona.pl:1234/ itp.
W sieci LAN dziaa to poprawnie, ale w Internecie wielu klientw nie bdzie mogo skorzysta
ze strony ze wzgldu na filtrowanie ruchu przez rozmaite firewalle. Poza tym, adres taki jest
mniej elegancki, a jak kto zapomni poda numer portu, to trafi na zupenie inny serwer
wirtualny i w efekcie inne strony.
Serwer IIS7 ma jeden adres IP a wszystkie serwery wirtualne uywaj portu 80. Rozwizanie
takie uywa tzw. host headers. Przegldarka internetowa, komunikujc si z serwerem WWW,
poza pytaniem o stron wysya dane na temat tego, z jakim serwerem chciaaby si poczy.
Serwer IIS7 wykrywa takie danie i kieruje je do tego serwera, ktry ma przypisany
odpowiedni host header. Ten sposb jest w chwili obecnej najczciej spotykany w Internecie.
W sieci LAN rwnie dziaa to bardzo dobrze.

Serwer wirtualny
Aby utworzy nowy serwer wirtualny, naley z menu kontekstowego
serwera wybra opcj Add Web Site.
W oknie konfiguracyjnym naley wypeni odpowiednie pola:
Site name oznacza nazw wirtualnego serwera. Tak, jak chce j widzie
administrator IIS7, eby atwo pozna, ktry to site. Mj serwer testowy
albo serwer dla uciliwych klientw s nazwami jak najbardziej
akceptowalnymi, poniewa klient w przegldarce nie widzi tej nazwy.
Application pool i przycisk Select nie maj praktycznie zastosowania w
przypadku statycznych stron WWW.
Physical Path (cieka fizyczna) oznacza lokalizacj, w ktrej na dysku
komputera znajduj si pliki *.html majce by serwowane jako strony
WWW.
Connect as pozwala na wybranie konta, ktrym posuy si IIS7, eby
odczyta pliki z dysku. W normalnych warunkach, do czasu naprawd
dobrego poznania zaoe bezpieczestwa w systemach Windows,
najlepiej pozostawi tam warto domyln.

Serwer wirtualny

Sekcja Bindings (powizania) definiuje metody, ktrymi ma kierowa si


IIS7, eby przesa danie do tego wanie serwera wirtualnego. Ustawi
mona protok HTTP lub HTTPS, adres IP serwera wirtualnego (domylnie
s to wszystkie adresy serwera IIS7), port TCP oraz host header.
Jeeli serwer IIS7 ma obsugiwa tylko jeden serwer wirtualny, wskazane
jest pozostawienie wartoci domylnych. Mona wprawdzie wybra HTTPS
zamiast nieszyfrowanego HTTP, ale w takiej sytuacji, konieczne jest
posiadanie certyfikatu, nabytego jedn z opisanych w niniejszym artykule
metod. Jeeli nie jest to konieczne (nie s planowane wirtualne serwery
rozrniane przez host headers), to nie naley podawa adnej wartoci
host header, poniewa moe to prowadzi do niezrozumiaych na pierwszy
rzut oka sytuacji, kiedy serwer IIS7 nie chce obsuy poczenia.
Checkbox na kocu okna dialogowego okrela czy tak stworzony serwer
wirtualny ma by uruchomiony natychmiast po utworzeniu, czy te
utworzony i pozostawiony jako nieaktywny.
Warto zwrci uwag, e jeeli parametry (a dokadniej bindings czyli
powizania) serwera wirtualnego s takie, e IIS7 nie bdzie mg okreli,
gdzie przekierowa ruch pojawi si ostrzeenie.

Wirtualny Katalog
W ramach jednego serwera wirtualnego moliwe jest utworzenie katalogw wirtualnych.
Katalog taki, to cz przekazywana w zapytaniu HTTP do serwera po nazwie hosta.
Przykadowo, w zapytaniu http://mojeforum.firma.pl/admin - parametr admin definiuje
katalog wirtualny. Katalog moe wskazywa na inn ciek fizyczn ni wirtualny serwer
oraz mie inny sposb uwierzytelniania.
Warto te przyzwyczai si, do traktowania serwera wirtualnego jako katalogu wirtualnego
o pustej nazwie, zlokalizowanego na tym serwerze. Aby utworzy katalog wirtualny, z
menu kontekstowego wirtualnego serwera naley wybra Add Virtual Directory i w
wywietlonym oknie dialogowym poda nazw i ciek fizyczn. Dodatkowo, zmieni
mona parametry uwierzytelniania.
Naley wiedzie, e jeeli nie jest potrzebna inna cieka fizyczna, inny sposb
uwierzytelniania, ani inne pozostae parametry nie rni si od parametrw serwera
wirtualnego tworzenie wirtualnego katalogu nie jest niezbdne. W takiej sytuacji, lepiej w
folderze zawierajcym pliki *.html utworzy podfolder i w nim umieci zasoby. Z punktu
widzenia uytkownika przegldarki, nie wida rnicy czy wyspecyfikowana w URL cieka
odwouje si do faktycznie istniejcych na dysku katalogw, czy do katalogw wirtualnych.

Rady dla pocztkujcych

Zaraz po instalacji serwera IIS7 naley na tym samym komputerze wej na


stron http://localhost. Powinna si otworzy strona powitalna. Jeeli si nie
otwiera trzeba wrci do instalacji i dokadnie sprawdzi wybrane opcje;
Jeeli serwer ma mie tylko jeden serwer wirtualny, naley wgra pliki html
do katalogu c:\inetpub\wwwroot i przestawi domyln stron na waciw.
Po tej operacji naley sprawdzi czy http://localhost dziaa poprawnie i
pokazuje now stron;
Jeeli serwer IIS7 ma mie kilka serwerw wirtualnych, naley ich katalogi
fizyczne umieci w katalogu c:\inetpub\wwwroot lub umieci w innym
miejscu (ale nie na pulpicie ani w dokumentach!) i ustawi im prawa takie,
jak ma c:\inetpub\wwwroot. Dopiero pniej do tych folderw naley
skopiowa (nie przenie!) pliki html;
Na pocztku nie naley eksperymentowa z host headers, pki nie opanuje
si wszystkich innych opcji. Warto pamita, e dla ustawionego host header
nie zadziaa link http://localhost. Do lokalnych testw host header,
najprociej doda stosowny wpis w pliku hosts. Jeeli brzmi to niejasno,
naprawd lepiej wczeniej doczyta ni rozpoznawa dziaanie host headers
w IIS7 metod prb i bdw;

Rady dla pocztkujcych

Kad wprowadzon zmian naley testowa. Po jednej na


raz. Dziki temu moliwe bdzie wychwycenie ustawienia,
przy ktrym co nie dziaa;
Jeeli serwer wirtualny przesta dziaa i nie wiadomo
dlaczego, by moe najprostsz metod jest wyczenie go i
stworzenie nowego o waciwych parametrach;
Warto pamita, e IIS7 ma mechanizmy backup i
odtwarzania caej konfiguracji. Wprawdzie w chwili pisania
niniejszego artykuu, dostpna wersja nie oferowaa tego
przez GUI i konsol zarzdzajc, to jednak poprzez
zarzdzanie z linii polece (omwione poniej) mona atwo
backup wykona. Dziki temu, w razie nieudanego
eksperymentu, zawsze mona wrci do poprzedniego,
dziaajcego stanu.

Linki

Prezentacja Grzegorza Tworka


Wprowadzenie do IIS
http://www.microsoft.com/poland/technet
/article/art0106_01.mspx

IIS Home Page (Get Started \ Learn)


http://www.iis.net/default.aspx?tabid=1

Co bdziemy robili na nastpnych


zajciach?

Zarzdzanie IIS7 z linii polece


Active Directory Domain Services
RODC

You might also like