IIS (Internet Information Services), Firewall

Wymagana ilość zrzutów do sprawozdania: 17 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17). Jak prawidłowo sporządzić sprawozdanie?
  1. Informacje wstępne
  2. To ćwiczenie będzie dotyczyło w głównej mierze usługi IIS a więc usług internetowych, takich jak serwer FTP i serwer stron WWW, które mogą działać zarówno w Internecie jak i w intranecie. Serwer FTP pozwala na wymianę plików w typowej topologii klient-serwer, z kolei serwer WWW pozwala na tworzenie i przechowywanie stron internetowych.
    Zapora sieciowa (firewall) pozwala na zabezpieczenie sieci przed nieuprawnionymi działaniami. Może być ona zlokalizowana w bramie sieciowej (router), na serwerze lub na komputerach w sieci lokalnej. Zaporę można uruchomić w konsoli mmc lub menedżerze serwera z zabezpieczeniami zaawansowanymi.
  3. Instalacja i uruchamianie IIS
  4. Usługi IIS można doinstalować w oknie menedżera serwera dodając rolę serwera sieci Web, czyli Web Server (IIS). Jeżeli wcześniej było wykonywane ćwiczeniem z tworzeniem serwera routingu, to ta rola powinna być już zainstalowana, jak u mnie, co widać na zrzucie ekranu poniżej. Podczas działania kreatora (w oknie wybierania usług ról) dodamy jeszcze tylko opcję serwera FTP po czym ją zainstalujemy.

    Po instalacji usługą można zarządzać za pomocą aplikacji Internet Information Services (IIS) Manager (menedżera internetowych usług informacyjnych (IIS)) dostępnej w menu Tools menedżera serwera lub w lewym panelu tegoż menedżera. Trzecim sposobem uruchomienia IIS jest okienko Run i wpisanie inetmgr. Po restarcie serwera (ważne, aby serwer po instalacji uruchomić ponownie), wybieramy z menu Tools opcję Internet Information Services (IIS) Manager.

    Otrzymujemy w ten sposób uruchomione okno IIS.

  5. Tworzenie własnej witryny FTP
  6. Aby utworzyć nową witrynę FTP tworzymy najpierw właściwy folder przechowujący pliki, którymi będziemy zarządzać przez FTP, np. C:\inetpub\ftp_pliki_X, gdzie X to twój numer w dzienniku oraz dodajemy do tego foldera nowy plik o nazwie plik_X_1.txt, gdzie X to twój numer w dzienniku.

    Teraz pora utworzyć ustawienia witryny FTP w aplikacji Internet Information Services (IIS) Manager. Klikamy PPM na węźle Sites i wybieramy opcję Add FTP Site... (opcja Add Website... służy do tworzenia stron internetowych). Opcja ta nazywa się witryną, jednak nie jest witryną w rozumieniu strony internetowej, tylko pewnego rodzaju ustawieniami odnośnie zasobów do których można uzyskać dostęp zdalny przez FTP. Serwer musi zidentyfikować każdą nową witrynę, dlatego też, każda z nich powinna posiadać osobny adres IP i numer portu.

  7. Konfiguracja witryny dla użytkowników anonimowych
  8. Konfiguracja witryny FTP może dotyczyć uprawnień dla różnego rodzaju użytkowników, na przykład wszystkich, anonimowych, czy określonych (uwierzytelnionych). W przypadku konfiguracji z dostępem dla użytkowników anonimowych pozwalamy wszystkim anonimowym użytkownikom na łączenie się z serwerem FTP oraz zmianę plików. Teraz wprowadzimy taki właśnie rodzaj uprawnień. Po wcześniejszym wybraniu opcji Add FTP Site... wprowadzamy nazwę (np. WitrynaFTP). Wpisujemy również ścieżkę do folderu domowego FTP. Ten zrzut ekranu należy włączyć do sprawozdania

    W następnym oknie wybieramy adres IP i numer portu (21).

    W kolejnym kroku należy wprowadzić informacje dotyczące uwierzytelniania. Jako, że zezwalamy na połączenie użytkownikom anonimowym, ustawimy dla nich prawa wyłącznie do odczytu.

    I otrzymujemy widok utworzonej na FTP witryny.

    Teraz testujemy dostęp do FTP z poziomu klienta. Sprawdzamy ustawienia połączenia FTP z serwerem FTP (192.168.0.1) programem FileZilla, dla anonimowych użytkowników (program FileZilla należy wcześniej na kliencie ściągnąć i zainstalować).

    Po kliknięciu Połącz uzyskujemy wylistowane pliki obecne w katalogu C:\inetpub\ftp_pliki_X na serwerze.

    Po tej czynności próbujemy utworzyć na serwerze - z poziomu klienta FileZilla w Windows 10 - nowy katalog.

    Jak widać jest to niemożliwe, ponieważ użytkownikom anonimowym nadaliśmy wcześniej prawa wyłącznie do odczytu. Ten zrzut ekranu należy włączyć do sprawozdania

  9. Konfiguracja witryny dla użytkownika uwierzytelnionego
  10. W przypadku konfiguracji z dostępem dla konkretnego, autoryzowanego użytkownika (trzeba będzie wybrać z listy tę opcję a następnie wpisać nazwę użytkownika np. Administrator) pozwalamy na łączenie się z serwerem FTP oraz zmianę plików tylko jednemu, konkretnemu użytkownikowi. Najpierw tworzymy nową witrynę.

    Nazywamy ją WitrynaFTPautoryzowana. Ścieżka do katalogu będzie identyczna jak poprzednio, tylko inny będzie użytkownik i rodzaj dostępu.

    Ustawiamy adres IP, numer portu i wyłączamy szyfrowanie SSL.

    Ustawiamy podstawowy rodzaj uwierzytelniania oraz zezwalamy na połączenie wyłącznie użytkownikowi Administrator. Nadajemy mu wszelkie prawa (do odczytu i zapisu).

    Widzimy, że witryna została utworzona.

    Teraz testujemy dostęp do FTP z poziomu klienta. Sprawdzamy ustawienia połączenia FTP z serwerem FTP (192.168.0.1) programem FileZilla właśnie dla konkretnego, uwierzytelnionego użytkownika (tutaj administratora serwera).

    Następnie listujemy pliki w Filezilla.

    Tworzymy też nowy katalog na serwerze, co powinno zakończyć się sukcesem, bowiem użytkownik administratora posiada prawa nie tylko do odczytu ale też i do zapisu. Ten zrzut ekranu należy włączyć do sprawozdania

  11. Ustawianie komunikatów FTP
  12. Teraz - dla witryny zautoryzowanej - dodamy przyjazne komunikaty: baner czyli wiadomość powitalną, oraz informację o zalogowaniu i komunikat zakończenia sesji. Takie przyjazne komunikaty będą wyświetlać się po rozpoczęciu i na zakończenie sesji FTP w klientach FTP. W tym celu kliamy LPM witrynę WitrynaFTPautoryzowana a następnie wchodzimy do jej sekcji komunikatów FTP (FTP Messages) i ustawiamy poniższe informacje. Na końcu klikamy Apply w prawym panelu, aby zastosować zmiany. O efekcie działania przekonamy się łącząc się FTPem z użyciem wiersza polecenia.

  13. Testowanie połączeń FTP
  14. W kolejnym kroku - z poziomu klienta - sprawdzamy połączenie FTP wierszem poleceń. Łączymy się z serwerem FTP komendą ftp 192.168.0.1 i logujemy się konkretnym, uwierzytelnionym użytkownikiem (administratorem serwera). Następnie wpisujemy polecenie dir uzyskując w ten sposób wylistowaną zawartość katalogu ftp_pliki_X zlokalizowanego na serwerze. Następnie pobieramy utworzony wcześniej na serwerze plik, poleceniem get plik_X_1.txt. Plik zostanie pobrany w miejsce na dysku klienta z którego uruchomione było polecenie ftp (czyli C:\Users\imnazwisko). Wychodzimy poleceniem quit. Zwróć uwagę na pojawiające się 3 komunikaty ustawione wcześniej w sekcji FTP Messages na serwerze. Ten zrzut ekranu należy włączyć do sprawozdania

    Ponownie używamy dir aby zobaczyć czy plik się ściągnął (polecenie to wykonuje się teraz na katalogach bieżącego systemu, ponieważ z połączenia FTP już wyszliśmy). Rzeczywiście plik plik_X_1.txt jest obecny na kliencie. Ten zrzut ekranu należy włączyć do sprawozdania

    Teraz z kolei utworzymy plik do wysłania poleceniem type nul > plik_X_2.txt a poleceniem dir uzyskamy wylistowaną zawartość katalogu. W ten sposób w katalogu C:\Users\imnazwisko obecne będą teraz dwa pliki tekstowe, jeden ściągnięty, a drugi z przeznaczeniem do wysłania. Ten zrzut ekranu należy włączyć do sprawozdania

    Ponownie logujemy się na serwerze i wysyłamy utworzony przed chwilą plik poleceniem put plik_X_2.txt a poleceniem dir uzyskujemy wylistowaną zawartość zdalnego katalogu ftp_pliki_X zlokalizowanego na serwerze, po czym wychodzimy poleceniem quit. Ten zrzut ekranu należy włączyć do sprawozdania

    W kolejnym kroku testujemy dostęp do FTP poprzez przeglądarkę.
    Z poziomu stacji roboczej wyświetlamy pliki na serwerowym FTP poprzez przeglądarkę Internet Explorer.

    Ten zrzut ekranu należy włączyć do sprawozdania

    Z poziomu serwera wyświetlamy pliki na serwerowym FTP poprzez przeglądarkę za pomocą adresu IP (ftp://192.168.0.1), adresu IP loopback (ftp://127.0.0.1) i localhosta (ftp://localhost).

    Ten zrzut ekranu należy włączyć do sprawozdania

    Połączenia FTP mogą być blokowane przez zaporę. Należy więc ją wyłączyć co jest niezalecane, lub też skonfigurować reguły zezwalające na komunikację na porcie 21 oraz zezwolić aplikacji svchost.exe na dostęp. Konfiguracja zapory polega na dodaniu nowej reguły w ustawieniach zaawansowanych (regułach przychodzących) dla portu 21 protokołu TCP z zezwalaniem na połączenie. W kreatorze należy też ustawić regułę dla profili domenowego, prywatnego i publicznego, oraz wprowadzić nazwę. Zezwolenia na komunikację aplikacji również dokonuje się w ustawieniach zapory. W gałęzi zezwalania aplikacji lub funkcji na dostęp przez zaporę systemu Windows należy zezwolić wskazując aplikację svchost.exe (Proces hosta dla usług systemu Windows).

  15. Tworzenie stron www
  16. W gałęzi Sites aplikacji Internet Information Services (IIS) Manager standardowo skonfigurowana jest domyślna witryna sieci Web. Można ją zmodyfikować według własnych potrzeb lub utworzyć nową. My nie będziemy modyfikować oryginalnej strony www serwera, tylko utworzymy prostą, własną stronę opartą o kod HTML. Aby uruchomić stronę trzeba ją po pierwsze zastartować w narzędziu IIS. Jak widać na poniższym zrzucie ekranu usługa jest wyłączona (Stopped).

    Klikamy więc PPM na Default Web Site i wybieramy opcję Manage Website / Start.

    Gdy pojawi się poniższy komunikat będzie to znaczyć, że inna aplikacja używa tego samego portu (o numerze 80 którego - domyślnie - używa protokół HTTP).

    Należy więc zmienić numer portu. W tym celu klikamy PPM na Default Web Site i wybieramy opcję Bindings...

    Tam edytujemy numer portu, zaznaczając obecny wpis i klikając Edit...

    Ja wprowadziłem nieużywany port 9100, a ty wpisz 9100+X, gdzie X to twój numer w dzienniku.

    Po tych czynnościach startujemy stronę (PPM), aby jej status zmienił się na Started. Strona domyślna powinna uruchomić się bez problemu, oczywiście z dodanym numerem portu 9100+X (port 80 jest domyślnym portem na którym zwykle uruchamiane są strony www i jego akurat nie trzeba byłoby ręcznie dodawać). Ten zrzut ekranu należy włączyć do sprawozdania

    Wygląd domyślnej strony www serwera przedstawiają poniższe zrzuty ekranowe (otworzono adresami 192.168.0.1, localhost i 127.0.0.1 z dodanym numerem portu 9100). Ten zrzut ekranu należy włączyć do sprawozdania

    To samo czynimy na kliencie, jednak jak się okazuje, otworzenie domyślnej strony serwera z poziomu klienta zakańcza się niepowodzeniem.

    Dzieje się tak dlatego ponieważ zapora ogniowa serwera nie przepuszcza nam ruchu na porcie 9100. Można tutaj postąpić hardo, mianowicie od razu wyłączyć całą zaporę na serwerze, jednak jest to rozwiązanie karkołomne: zapora musi być aktywna. Dodamy więc tylko zezwolenie na ruch na porcie 9100, a więc określimy wyjątek na zaporze. W tym celu wchodzimy na serwerze do Control Panel / System and Security / Windows Defender Firewall a następnie wybieramy opcję Advanced settings (można od razu wpisać w wyszukiwarce menu Start Windows Defender Firewall Advanced settings). Uruchomi się program do zarządzania ustawieniami zaawansowanymi zapory ogniowej. Klikamy (w lewym panelu) na Inbound Rules, po czym - w prawym panelu - New Rule...

    Uruchamia się okno w którym zaznaczamy opcję Port.

    W następnym oknie wpisujemy numer portu który chcemy dodać jako wyjątek, a więc 9100+X.

    Zezwalamy na wszystkie połączenia.

    Dodajemy nazwę i opis.

    Jak widać reguła zostałą utworzona. Ten zrzut ekranu należy włączyć do sprawozdania

    Teraz strona kliencie uruchamia się bez problemu. Ten zrzut ekranu należy włączyć do sprawozdania

    To była jednak domyślna strona serwera. Aby utworzyć całkiem nową witrynę należy po pierwsze utworzyć dla niej folder, np. C:\inetpub\strona (strona domyślna znajduje się w katalogu C:\inetpub\wwwroot), a w nim dodać nowy plik HTML strony głównej z poniższą, przykładową zawartością HTML (utwórz kod w notatniku i zapisz pod nazwą index.html w katalogu C:\inetpub\strona).
    <html>
      <head>
        <title>Strona</title>
        <meta charset="UTF-8">
      </head>
      <body>
        <h1>Ćwiczenie WS - usługa IIS, strona www
        <h2>Wykonano: Imię Nazwisko</h2>
      </body>
    </html> 
    

    Następnie w menedżerze IIS klikamy PPM Sites, aby dodać nową witrynę.

    W polu Site name należy wpisać jej nazwę, np. strona, oraz wprowadzić ścieżkę do foldera C:\inetpub\strona z plikiem strony głównej. Wybrać adres IP z listy oraz zmienić numer portu. Ja wybrałem port 9200, a ty wybierz 9200+X. W polu IP address zostawiamy domyślną opcję All Unassigned, dzięki czemu strona będzie uruchamiana również adresami pętli zwrotnej (127.0.0.1) oraz localhost - oczywiście w obu przypadkach z numerem portu.

    Jak widać strona została utworzona: należy upewnić się, czy jednocześnie ma status Started. Ten zrzut ekranu należy włączyć do sprawozdania

    Jak widać w przeglądarce na serwerze, po wpisaniu adresu IP w połączeniu z dwukropkiem i numerem portu 9200, strona zostaje uruchomiona (efekt powinien być identyczny po wpisaniu localhost:9200 lub 127.0.0.1:9200). Ten zrzut ekranu należy włączyć do sprawozdania

    Sprawdzenie na kliencie najprawdopodobniej zakończy się jednak fiaskiem, podobnie jak to było ze stroną domyślną. Należy więc dodać kolejną regułę zezwalającą na zaporze ogniowej serwera, tym razem na porcie 9200+X. Ten zrzut ekranu należy włączyć do sprawozdania

    W wyniku tego strona na kliencie się uruchomi. Ten zrzut ekranu należy włączyć do sprawozdania

  17. Post Scriptum
  18. Po kliknięciu LPM ikony danej witryny www w narzędziu IIS i węźle Sites, można wejść do opcji wśród których znajduje się ikona dokumentu domyślnego (Default Document), dzięki której można ustawić domyślny plik, który będzie otwierany po wejściu na dany adres. Standardowo jest to zawsze index.html. Jeżeli tego pliku nie ma na liście, trzeba go dopisać i najlepiej przenieść do góry (pliki są przeszukiwane w kolejności na liście).


© mgr inż. Adrian Zapała