2.6. Zadanie 6
Napisz regułę, która dla architektury przedstawionej na rysunku 6.8 będzie
kierowała pakiety z sieci Internet na serwer WWW, który będzie zainstalowany na
komputerze w sieci wewnętrznej o IP: IP1.
RozwiÄ…zanie
Reguła przekazująca porty dla połączeń WWW (port 80) dla pakietów kiero-
wanych na interfejs zewnętrzny na komputer w sieci wewnętrznej:
iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT \
--to IP1:80
6.2.7. Zadanie 7
Ustaw regułę, która spowoduje, że wychodzące połączenia ssh będą zawsze re-
alizowane na znany Ci serwer ssh.
RozwiÄ…zanie
Reguła powodująca, że wszelkie połączenia wykonywane na port 22 (ssh) będą
kierowane na znany adres IP:
iptables -t nat -A OUTPUT -p tcp --syn --dport 22 -j DNAT \
--to Znane_IP
6.2. Zadania
113
Rysunek 6.8. Architektura sieci wewnętrznej wraz z bramą
Rozdział 7
Skanowanie - sposób kontroli serwerów
sieciowych
116
7. Skanowanie - sposób kontroli serwerów sieciowych
Ważnym krokiem kontroli serwerów sieciowych jest wykonywania ścieżki tech-
nicznej audytu systemów IT, a w szczególności procesu skanowania. Skanowanie jest
to proces, który ma na celu zebranie szczegółowych informacji na temat oprogra-
mowania znajdujÄ…cego siÄ™ na hostach. Wiedza na ten temat jest kluczowa, ponie-
waż właśnie błędy w oprogramowaniu pozwalają na przeprowadzenie ataku. Każda
udostępniona usługa to linie kodu napisane w konkretnym języku oprogramowa-
nia. Niestety, programiści pisząc aplikacje popełniają błędy, których wykorzysta-
nie umożliwia wykonanie w systemie operacji nieprzewidzianej przez twórcę opro-
gramowania. Taką operacją może być na przykład zdalny dostęp do systemu bez
potrzeby wcześniejszej autoryzacji. Inną możliwością wykonania ataku jest wyko-
rzystanie błędnej konfiguracji danej usługi sieciowej, ale i w tym przypadku jest to
związane z konkretnym oprogramowaniem. W systemach operacyjnych usługi sie-
ciowe reprezentowane są przez numery portów, czyli w przypadku chęci połączenia
z konkretną usługą udostępnianą przez serwer, komputer kliencki komunikuje się z
odpowiednim numerem portu. Na przykład serwer WWW standardowo nasłuchuje
połączeń na porcie 80 (jest możliwość zmiany tego numeru portu). Jeżeli kierowany
jest do niego pakiet na porcie docelowym o numerze 80, wówczas system będzie
wiedział, że pakiety te kierowane są do serwera WWW.
Proces skanowania składa się z dwóch etapów. Pierwszy polega na sprawdze-
niu, jakie usługi udostępniane są przez konkretne hosty w sieci. W drugim etapie
określane są wersje oprogramowania realizujące dane usługi. W kolejnych podroz-
działach zostaną opisane techniki wykonania procesu skanowania hostów.
Istotnym zadaniem, jakie musi zostać wykonane przed rozpoczęciem skanowa-
nia, jest uzyskanie pisemnej zgodny na wykonywane testy penetracyjne. Żadna
operacja nie może zostać wykonana, dopóki szczegółowy plan testów nie zosta-
nie zatwierdzony przez kierownictwo danej organizacji. Program testów powinien
zawierać następujące informacje:
1. Listę obiektów (hostów) przewidzianych do testów wraz z ich adresami IP.
2. Listę osób, które wykonują testy, wraz z przyporządkowaniem ich do konkret-
nych skanowanych obiektów. Dla wszystkich skanowanych obiektów lub grupy
obiektów musi być wskazana osoba odpowiedzialna. Do tej osoby muszą być
określone dane kontaktowe.
3. Czas przeprowadzania testów powinien być szczegółowo określony. Do skanowa-
nych obiektów trzeba przyporządkować okres dnia, kiedy będą przeprowadzane
testy wraz z określeniem ich czasu trwania.
Po uzyskaniu zgody kierownictwa audytowanej organizacji na wykonywane ska-
nowanie można zacząć przeprowadzać testy. Skanowanie można wykonać przy uży-
ciu technik, które wykorzystują różne protokoły modelu TCP/IP. Do tego celu
można wykorzystać protokoły: ICMP, TCP, UDP oraz protokoły warstwy aplikacji.
Proces skanowania można wykonać przy użyciu różnych aplikacji, które pozwalają
wysyłać specjalnie spreparowane pakiety, wykorzystując wspomniane protokoły
modelu TCP/IP, w naszym przypadku zostanie użyte głównie narzędzie nmap [6].
W dalszej części zostaną opisane najważniejsze rodzaje skanowania. Zostaną one
zaprezentowane na przykładzie narzędzia nmap.
7.1. NMAP
117
7.1. NMAP
W systemach operacyjnych aplikacje sieciowe reprezentowane sÄ… przez numery
portów. Jeżeli na porcie, który odpowiada konkretnej usłudze, system nasłuchuje
połączeń, to znaczy, że dana usługa jest uruchomiona na tym hoście. Aplikacja
nmap określa ten stan portu jako otwarty. Precyzując można powiedzieć, że wów-
czas na danym porcie host przyjmuje połączenia TCP oraz pakiety UDP. Kolejnym
podstawowym stanem, w jakim może znaleźć się port jest zamknięty. To ozna-
|