Wdrażanie i Zarządzanie Serwerami Zabezpieczającymi (st. zaoczne)

Materiały dotyczące wykładu publikowane będą na stronie mgr. inż. Łukasza Jopka.

Zajęcia

Zgodnie z Państwa prośbą, od VII zjazdu laboratorium zostało przeniesione na termin:
Sobota, godz. 8.00 sala 311
  1. 03.XII.2011 ??? Zajęcia wprowadzające i organizacyjne: program przedmiotu, harmonogram semestru
    Mechanizm wirtualizacji VirtualBox, dystrybucja Debian GNU/Linux
    Wykorzystanie maszyn wirtualnych (VirtualBox), instalacja serwera Debian GNU/Linux jako maszyny wirtualnej, instalacja pakietów, tworzenie kont użytkowników, konfiguracja sieci, podstawowe narzędzia systemowe, podstawowe funkcje iptables

    Instrukcja Ćwiczenie 1 (PDF)

    VirtualBox - instalator dla MS Windows (powinien być już zainstalowany na komputerach w laboratorium)
    Obraz ISO płyty instalacyjnej Debian GNU/Linux (191MB)
  2. 17.XII.2011 ??? Zaawansowane mechanizmy iptables, realizacja Zadania I
  3. 14.I.2012 Bezpieczeństwo serwerów sieciowych na poziomie systemu operacyjnego (Instrukcja (PDF)):
    Instalacja serwera WWW (Apache); uprawnienia procesów; prawa dostępu do plików i katalogów;
    izolacja procesów; mechanizm chroot; instalacja systemu w podkatalogu dla serwera WWW;
    Sprawdzenie Zadania I
  4. 21.I.2012 ??? realizacja Zadania II
  5. 28.I.2012 ??? sprawdzenie Zadania II

Materiały dodatkowe i odnośniki

Do testowania zapór sieciowych polecam wykorzystanie maszyn wirtualnych np. na VirtualBox.

Laboratorium prowadzone jest w oparciu o dystrybucję Debian GNU/Linux.

Polecam także dystrybucję Linuksa System Rescue CD (możliwy rozruch komputera z płyty CD lub z napędu USB).

Odnośniki dotyczące konfiguracji sieci pod Linuksem (ifconfig, iptables, ...):

Serwer Apache, bezpieczeństwo aplikacji webowych:
http://robert.nowotniak.com/pl/security/websecurity/

 

Przykładowe materiały z podstawami systemu operacyjnego GNU/Linux:

Inne odnośniki:

Zadanie 1

Zadanie polega na stworzeniu konfiguracji zapory sieciowej, opartej na iptables w systemie GNU/Linux. Końcowy projekt musi się składać ze skryptu (np. w powłoce systemowej bash), konfigurującego zaporę, oraz z krótkiej dokumentacji, opisującej znaczenie kolejnych fragmentów w skrypcie (może mieć formę minisprawozdania).

Skrypt powinien umożliwiać demonstrację działania konfiguracji zapory. Powinno być możliwe działanie skryptu bez interakcji z użytkownikiem oraz obsługa argumentów wywołania skryptu (np. do włączenia/wyłączenia zapory lub poszczególnych elementów dodatkowych w konfiguracji). W skrypcie mają się znaleźć polecenia podnoszące odpowiednie interfejsy sieciowe, ewentualnie przypisujące im adresy, uruchamiające ewentualne usługi pomocnicze, dodające wpisy w tablicy routingu, reguły iptables etc. W dokumentacji musi się znaleźć opis poszczególnych fragmentów skryptu oraz opis poszczególnych reguł konfiguracji zapory iptables. Nie dopuszcza się występowania w skrypcie wpisanych "na sztywno" adresów IP ani nazw interfejsów sieciowych (należy posłużyć się zmiennymi). Należy założyć, że dostępny jest interfejs sieciowy, prowadzący do sieci zewnętrznej (Internet) oraz (opcjonalnie) interfejs sieciowy sieci lokalnej.

Minimalne wymagania dla zapory (ocena 3):

  1. Host musi domyślnie odrzucać próby połączeń z sieci zewnętrznej z usługami pracującymi na hoście
    (próby połączeń mają być logowane)
  2. Akceptowane mają być połączenia na wybrane porty (zdefiniowane w zmiennej) hosta
    (np. z usługami WWW, FTP, PostgreSQL, DNS).
  3. Liczba nowych połączeń na wybrane porty musi podlegać ograniczeniu (np. 10 / minutę - zdefiniowane w zmiennej).
  4. Host ma nie odpowiadać na zapytania typu ping z sieci zewnętrznej (ale ma akceptować otrzymywanie odpowiedzi typu ping reply)
  5. Host musi akceptować przychodzące pakiety, należące do połączeń ustanowionych z sieci wewnętrznej lub z hosta

Dla uzyskania jak najlepszej oceny, konfiguracja powinna być wzbogacona o dodatkowe aspekty.

Przykłady:

Oczekiwana jest możliwość prezentacji działania wszystkich zrealizowanych elementów konfiguracji w laboratorium (np. z wykorzystaniem maszyn wirtualnych lub z wykorzystanie hostów dostępnych przez Internet). W przypadku braku możliwości prezentacji danego elementu konfiguracji w laboratorium należy szczegółowo opisać i zilustrować działanie w dokumentacji (np. w postaci screenshotów).

Zadanie 2

Zadanie polega na wykonaniu bezpiecznej instalacji i konfiguracji serwera WWW (Apache).

Wymagany zakres wiedzy:

Wymagania na maksymalną ocenę:

Materiały pomocnicze: http://robert.nowotniak.com/pl/security/websecurity/

Zasady uzyskania zaliczenia

Wyniki

...