Nowy serwer aplikacji

Określenie serwer aplikacji do niedawna kojarzone było przede wszystkim z rozwiązaniami opartymi na platformie J2EE. Połączenie systemu Windows Server 2003 z serwerem Internet Information Services 6.0 oraz technologią .Net zaowocowało pojawieniem się alternatywnej, mocno konkurencyjnej platformy.

Określenie serwer aplikacji do niedawna kojarzone było przede wszystkim z rozwiązaniami opartymi na platformie J2EE. Połączenie systemu Windows Server 2003 z serwerem Internet Information Services 6.0 oraz technologią .Net zaowocowało pojawieniem się alternatywnej, mocno konkurencyjnej platformy.

Internet Information Services 6.0 w stosunku do swoich poprzednich wersji jest wydaniem rewolucyjnym pod wieloma względami. Jako efekt inicjatywy budowy niezawodnych platform komputerowych, stanowi przy tym jeden z najbardziej wyraźnych dowodów na poważne traktowanie kwestii bezpieczeństwa. Aby osiągnąć zamierzone cele, cały kod źródłowy serwera IIS poddano wnikliwej analizie, a duża jego część została po prostu napisana od nowa.

Architektura IIS

Efektem jest nowoczesny, stabilny, wydajny i bezpieczny serwer aplikacji, który w dodatku jest łatwy do programowania dzięki wprowadzeniu ASP.NET. Aby zapewnić serwerowi możliwość długotrwałej bezawaryjnej pracy, zmieniono jego wewnętrzną strukturę. Obecnie serwer oraz jego witryny działają w dwóch odseparowanych obszarach. Specjalny sterownik obsługujący protokół HTTP odbiera zgłoszenia od użytkowników zewnętrznych i kieruje je do odpowiednich kolejek, które z kolei przekazują je do odpowiednich procesów obsługujących konkretne witryny. Istotny z punktu widzenia bezpieczeństwa i stabilności jest fakt, że sterownik HTTP działa w trybie jądra, a procesy, wewnątrz których działają poszczególne witryny, uruchamiane są już w trybie użytkownika. Efekt jest taki, że źle działająca witryna nie może zakłócić pracy samego serwera, a więc nie wyrządzi żadnych poważniejszych szkód. Zamknięcie nieprawidłowo działającej witryny przypomina zamykanie aplikacji, która przestała reagować na polecenia użytkownika.

Izolacja witryn

Poszczególne serwisy nie tylko działają niezależnie od serwera IIS, ale także niezależnie od siebie. Służą do tego tzw. pule aplikacji. Każda związana jest z oddzielnym obszarem pamięci, który może być wykorzystywany tylko przez aplikacje uruchomione w ramach tej jednej puli. Wewnątrz danej puli działa tzw. Worker Process, widoczny w Menedżerze zadań jako w3wp.exe, a dopiero w nim działa konkretna aplikacja obsługująca witrynę. Domyślnie w jednej puli aplikacji uruchamiany jest jeden proces roboczy, który może jednak obsługiwać kilka witryn. Liczbę procesów roboczych w puli aplikacji można zwiększyć, ale traci się w ten sposób izolację obszarów pamięci. Lepiej utworzyć nową pulę aplikacji (z nowym procesem roboczym) i przypisać do niej witrynę.

Stała dostępność usług

Pracę serwera IIS stale nadzoruje specjalna usługa, która zarządza pulami aplikacji i procesami roboczymi. Do jej zadań należy śledzenie aktywności procesów roboczych, zamykanie procesów po przekroczeniu limitów (czasu działania, wykorzystanej pamięci, czasu bezczynności). Dzięki funkcjonowaniu wspomnianych wcześniej kolejek żądań możliwe jest zamknięcie wadliwie działającego procesu i w zamian otwarcie nowego albo, co ciekawsze, utworzenie dodatkowego procesu, który przejmie jego kolejkę. Dzięki temu stary proces nie jest już wykorzystywany przez użytkowników i można go wykorzystać do zlokalizowania błędu w działaniu serwisu. Wszystkie te operacje odbywają się automatycznie i bez wiedzy użytkowników, dla których witryna jest cały czas dostępna.

Bezpieczeństwo systemu

Ustawienia rozszerzeń mają duży wpływ na bezpieczeństwo serwera.

Ustawienia rozszerzeń mają duży wpływ na bezpieczeństwo serwera.

Samo uruchomienie usługi WWW na serwerze, który pełni równocześnie inne zadania w sieci lokalnej, jest pewnym zagrożeniem dla jego bezpieczeństwa i m.in. dlatego usługi IIS nie są domyślnie instalowane w systemie Windows Server 2003. Z kolei po ich zainstalowaniu serwer IIS działa w trybie podstawowym, w którym serwer może dostarczać klientom tylko statyczną zawartość. Wszystkie dynamiczne rozszerzenia są domyślnie zablokowane, a procesy robocze działają z ograniczonymi prawami konta USŁUGA SIECIOWA. Jednak nawet jeśli uruchomimy możliwość dostarczania dynamicznej zawartości poprzez aplikacje ASP.NET, serwer i tak będzie znacznie bezpieczniejszy niż w przypadku ASP, ponieważ platforma .NET zawiera wiele wbudowanych mechanizmów kontroli kodu, które mogą zablokować niedozwolone operacje.

Instalacja IIS

Najłatwiejszym sposobem instalacji IIS jest wykorzystanie Kreatora konfigurowania serwera. Wybieramy Start | Zarządzanie tym serwerem | Dodaj lub usuń rolę | Dalej, na liście możliwych ról zaznaczamy Serwer aplikacji (IIS, ASP.NET) i klikamy Dalej. W następnym oknie Opcje serwera aplikacji mamy możliwość zainstalowania dodatkowych składników serwera IIS, tj. Rozszerzeń serwera FrontPage (dość niefortunne tłumaczenie, w rzeczywistości są to rozszerzenia serwera WWW, które umożliwiają m.in. publikowanie zawartości w witrynie bezpośrednio z programu FrontPage, bez potrzeby stosowania FTP) oraz ASP.NET. Drugi składnik zaznaczymy prawie zawsze, ponieważ ASP.NET - następca Active Server Pages - znacznie upraszcza tworzenie dynamicznych serwisów i jest wykorzystywany np. przez Windows SharePoint Services. Kliknięcie Dalej rozpocznie kopiowanie plików, podczas którego system upomni się o płytę z Windows Server 2003.

Przypisanie witryny do oddzielnej puli pozwala ją odizolować od pozostałych serwisów.

Przypisanie witryny do oddzielnej puli pozwala ją odizolować od pozostałych serwisów.

Podstawą serwera aplikacji jest serwer WWW, ale IIS 6.0 ma większe możliwości. Może bowiem utrzymywać witryny FTP i pełnić funkcję serwera pocztowego. Funkcje te nie są jednak instalowane podczas dodawania roli serwera aplikacji. Aby je dodać ręcznie, wybieramy Start | Panel sterowania | Dodaj lub usuń programy | Dodaj/Usuń składniki systemu Windows. Następnie przechodzimy kolejno do szczegółów składnika Serwer aplikacji i Internetowe Usługi Informacyjne (IIS) i zaznaczamy pozycje: Usługa FTP (File Transfer Protocol) oraz Usługa SMTP. Dwukrotne kliknięcie OK, a następnie Dalej, rozpocznie instalację dodatkowych komponentów i konfigurację serwera. Po zakończeniu tego procesu obie usługi są praktycznie gotowe do działania. Pozostaje jedynie ich bezpieczna konfiguracja za pomocą wielu kart właściwości w menedżerze serwera IIS.

Menedżer IIS

Do zarządzania serwerem IIS służy Menedżer internetowych usług informacyjnych (IIS), dostępny jako folder w przystawce Serwer aplikacji, uruchamianej skrótem Zarządzaj tym serwerem aplikacji narzędzia Zarządzanie tym serwerem lub jako samodzielna konsola, uruchamiana poprzez Narzędzia administracyjne. Główny folder z nazwą komputera zawiera w domyślnej konfiguracji podfoldery Pule aplikacji, Witryny sieci Web oraz Rozszerzenia usługi sieci Web. Jeżeli instalując IIS za pomocą Dodaj lub usuń programy, zaznaczyliśmy usługi FTP i SMTP, znajdziemy tu również dodatkowe foldery Witryny FTP i Domyślny serwer wirtualny SMTP.

Aby założyć nową witrynę, zaznaczamy pozycję Witryny sieci Web i z menu Akcja wybieramy Nowy | Witryna sieci Web. Wpisujemy nazwę, np. Strona główna, i klikamy Dalej. Jako adres IP możemy zostawić (Wszystkie nieprzypisane). Domyślny numer portu dla usługi WWW to numer 80, przy czym na serwerze działa już Domyślna witryna sieci Web, która nasłuchuje zgłoszeń w tym samym porcie. W jaki sposób użytkownicy mają uzyskać dostęp do nowej witryny? Możemy wybrać niestandardowy numer portu, który klienci będą musieli wpisywać w przeglądarce zaraz za adresem strony, wybrać inny adres IP - np. gdy mamy w serwerze kilka kart sieciowych, lub przypisać do adresu IP dodatkową nazwę domenową w serwerze DNS i wpisać ją w polu Nagłówek hosta dla tej witryny sieci Web. Wtedy w zależności od wpisanego przez klienta adresu (nazwy) serwera, IIS uruchomi odpowiednią witrynę. Jeżeli jednak adres serwera podamy w postaci numeru IP, załaduje się ta witryna, której nagłówek hosta nie został zdefiniowany. Standardowo jest to Domyślna witryna sieci Web. W kolejnych oknach wskazujemy ścieżkę do katalogu głównego witryny i klikając Dalej, zatwierdzamy domyślnie zaznaczoną opcję Zezwalaj na anonimowy dostęp do witryny sieci Web. Na początek wystarczą też domyślne uprawnienia: Odczyt i Uruchamianie skryptów. Naciśnięcie Dalej kończy pracę kreatora.

Aby przypisać witrynę do konkretnej puli aplikacji, zaznaczamy nazwę witryny w folderze Witryny sieci Web i wybieramy z menu Akcja opcję Właściwości. Na karcie Katalog macierzysty definiujemy Nazwę aplikacji, ustalamy Uprawnienia wykonywania i wybieramy Pulę aplikacji. Aby umieścić witrynę w nowej puli, musimy ją wcześniej utworzyć. W tym celu wystarczy wcześniej przejść do folderu Pule aplikacji, z menu Akcja wybrać Nowy | Pula aplikacji i zaakceptować domyślne ustawienia albo skopiować je z innej puli aplikacji.

Szyfrowanie i certyfikaty

Na wysoką jakość usług dostarczanych użytkownikom serwisu duży wpływ ma zarówno zabezpieczenie samego serwera, jak i zapewnienie poufności przesyłanych informacji. W realizacji drugiego zadania przydatna okaże się karta Zabezpieczenia katalogów. Oprócz włączenia kontroli dostępu i wybrania metody uwierzytelniania (przy dostępie anonimowym użytkownicy korzystają z konta IUSR_NAZWAKOMPUTERA) oraz ograniczenia zakresu adresów IP komputerów, z których można nawiązywać połączenia z serwerem, na karcie Zabezpieczenia katalogów możemy skonfigurować bezpieczne połączenia SSL i nadać certyfikat naszemu serwerowi. Aby umożliwić połączenia HTTPS, klikamy Certyfikat serwera | Dalej | Utwórz nowy certyfikat | Przygotuj żądanie teraz, ale wyślij później. Po wpisaniu danych identyfikujących naszą firmę oraz nazwy domenowej witryny zapisujemy zgłoszenie nadania certyfikatu w pliku. Po uzyskaniu certyfikatu z urzędu certyfikacji (funkcję urzędu certyfikacji może pełnić Windows Server 2003 - odpowiednie narzędzia dostępne Narzędziach administracyjnych po zainstalowaniu składnika Usługi certyfikacji w Dodaj/Usuń składniki systemu Windows) na karcie Zabezpieczenia katalogów ponownie wybieramy Certyfikat serwera, a następnie Przetwarzaj oczekujące żądanie i zainstaluj certyfikat. Wskazujemy plik z certyfikatem, zatwierdzamy domyślny numer portu dla transmisji SSL (443), klikamy Dalej i kończymy pracę kreatora. Od tej pory z witryną można się łączyć również za pomocą bezpiecznego protokołu, poprzedzając adres internetowy witryny ciągiem znaków https://. Jeżeli chcemy wymusić stosowanie bezpiecznych połączeń i zablokować zwykłe połączenia http://, na karcie Zabezpieczenia katalogów klikamy Edytuj, a następnie zaznaczamy Wymagaj bezpiecznego kanału (SSL) i Wymagaj szyfrowania 128-bitowego.


Zobacz również