• Nie Znaleziono Wyników

Treść projektu Proszę w grupach 1-3 osobowych sporządzić projekt zapory ogniowej.

N/A
N/A
Protected

Academic year: 2021

Share "Treść projektu Proszę w grupach 1-3 osobowych sporządzić projekt zapory ogniowej."

Copied!
1
0
0

Pełen tekst

(1)

Treść projektu

Proszę w grupach 1-3 osobowych sporządzić projekt zapory ogniowej.

Reguły zapory ogniowej

Zapora ogniowa w routerach opartych o jądro Linuxa składa się z uporządkowanej listy reguł. Ich kolejność jest istotna. Podczas pracy routera każdy pakiet, który do niego trafi i ma być przekazany dalej (czyli pakiet nie jest zaadresowany ściśle do routera) jest przetwarzany na podstawie listy reguł zawartych w łańcuchu Forward. Każdy lista posiada na końcu regułą z pustym poprzednikiem (częścią warunkową) oraz następnikiem zawierającym akcję Accept albo Drop. Pojedynczy pakiet rozpatrywany jest na podstawie listy kolejnych reguł. Każda reguła zawiera poprzednik i następnik.

Poprzednik zawiera dowolną liczbę części (może być również pusty). Każda część zawiera pewien warunek, który musi być spełniony, aby cała reguła była aktywna. Pojedyncza część reguły może być zanegowana. Po spełnieniu warunków zawartych w poszczególnych częściach reguła jest uważana za aktywną i należy rozpatrzyć następnik reguły. Następnik reguły zawiera dokładnie jedną akcję, która ma być wykonana, jeśli poprzednik reguły będzie spełniony. W przypadku gry poprzednik reguły jest pusty, uważa się iż ta reguła jest zawsze aktywna, jeśli oczywiście pakiet na nią trafi. Warto zwrócić uwagę, iż łańcuch reguł Forward rozpatruje pakiety krążące we wszystkich kierunkach (czyli interfejs wyjściowy jest dowolny).

Lista części w poprzedniku reguły

Poprzednik reguł może zawierać wiele różnych części, każda z części zawiera warunek, który musi być spełniony, aby cała reguła była uważana za poprawną. Pojedyncza część reguły może być zanegowana.

Reguła może posiadać tylko jeden egzemplarz poszczególnej części reguły (w związku z tym w regule nie mogą być na przykład Src_IP=1.0.0.0/8 i Src_IP = !1.2.3.4). Oto lista najistotniejszych części reguł:

• Src_IP, Dst_IP - Adres IP źródłowy albo docelowy (naprawdę w Linuxie nazywają się te parametry source i destination),

• Src_Mac - Adres MAC ramki źródłowej (naprawdę w Linuxie ten parametr nazywa się mac-source),

• In_IF, Out_IF - Interfejs źródłowy albo docelowy (naprawdę w Linuxie nazywają się te parametry in-interface i out-interface),

• Protocol - Pod-protokół w stosunku do IP (zwykle Protocol=TCP albo Protocol=UDP).

• Src_port, Dst_port - Port TCP albo UDP, źródłowy albo docelowy, reguła musi

zawierać pole wykrywające protokół odpowiednio TCP albo UDP (na prawdę w Linuxie

(2)

Następnik reguły

Każda reguła zawiera dokładnie jedną akcję, która ma być wykonana, jeśli reguła jest aktywna. Oto lista najczęściej występujących akcji:

• ACCEPT - Zaakceptuj i przestań przetwarzać dalej ten pakiet.

• DROP - Odrzuć pakiet i przestań go dalej przetwarzać.

• LOG - Zapisz informacje o tym pakiecie (pakiet dalej będzie przetwarzany przez listę reguł).

• NAZWA_INNEGO_ŁAŃCUCHA_REGUŁ – Przekieruj ruch do innej listy reguł. Ta lista reguł powinna być zdefiniowana osobno, oraz najlepiej by kończyła się regułą z pustym

poprzednikiem i następnikiem DROP albo ACCEPT.

Protokoły warstwy siódmej

Większość firewalli nie jest w stanie prawdziwie wykrywać i rozpoznawać protokołów warstwy siódmej, takich jak DNS, DHCP, HTTP(S), FTP, POP3, SMTP…, BitTorrent . Można jednak

przybliżyć tą funkcjonalność zakładając, że wskazane protokoły pracują na predefiniowanych portach.

Na przykład serwer HTTP domyślnie pracuje na porcie 80 TCP, więc aby wykryć połączenia z komputera do serwera HTTP można przyjąć, że to połączenia skierowane do Internetu, protokół TCP, port docelowy 80. Warto zwrócić uwagę, że usługi pocztowe używają kilka protokołów (zwykle POP3, SMTP, IMAP) i co za tym idzie szeregu portów.

Ruch dwukierunkowy

Prawie wszystkie protokoły do pracy wymaga ruchu dwukierunkowego (w tym TCP). Dlatego, aby zakłócić skutecznie pracę takich protokołów wystarczy zablokować ruch w jedną stronę. Aby jednak porządnie wykonać zaporę ogniową, powinno się zablokować ruch w obie strony, chociaż sama blokada w jedną stronę skutecznie zaburzyła by pracę.

Przykład

Załóżmy iż istnieje router, który zawiera 3 interfejsy: IF1, IF2, IF3. Adres IP nadany na IF1 to 10.0.1.1/24, na IF2 to 10.0.2.1/24, na IF3 to 10.0.3.33/24. W tabeli routingu jako brama domyślna jest ustawiony adres 10.0.3.1. Oczywiście w tym przypadku brama domyśla w routerze służy mu jako wyjście na zewnątrz i dostęp do Internetu.

Na urządzeniu tym skonfigurowano zaporę ogniową. Zadaniem routera było wymuszenie poniższych zasad i zablokowanie wszelkiego pozostałego ruchu.

A) Z Sieci lokalnej1 tylko komputer 10.0.1.2 ma dostęp do sieci lokalnej 2.

B) Dostęp do Internetu z sieci lokalnych (sieć lokalna1 i sieć lokalna2) mają jedynie komputery o adresach: 10.0.1.2, 10.0.2.2, 10.0.2.3.

C) Adres MAC komputera 10.0.1.2 to 11:22:33:44:55:66.

Router IF310.0.3.33/24

IF1 IF210.0.2.1/24 10.0.1.1/24

Sieć lokalna1 10.0.1.0/24 Sieć lokalna2

10.0.2.0/24 Sieć „zewnętrzna”

10.0.3.0/24 Internet

(3)

D) Tylko komputer o adresie 10.0.2.5 ma dostęp do serwera http na komputerze o adresie 10.0.3.3 W celu realizacji powyższych założeń utworzono listę reguł dla każdej z powyższych zasad oddzielnie:

A) Z Sieci lokalnej1 tylko komputer 10.0.1.2 ma dostęp do sieci lokalnej 2.

Jest kilka metod uzyskania tego zadania, jedno z nich akceptowanie jedynie wybranego ruchu:

1. Src_IP = 10.0.1.2 In_IF = IF1 Out_IF = IF2 ACCEPT (część „In_IF = IF1” nie jest konieczna)

2. Src_IP = 10.0.2.0/24 In_IF = IF2 Dst_IP = 10.0.1.2 Out_IF = IF1 ACCEPT (nie trzeba tutaj stosować obu części „Src_IP = 10.0.2.0/24” i „In_IF = IF2” jednocześnie; część „Out_IF = IF1” nie jest tu

konieczna)

3. DROP (nie zezwalaj tutaj na żaden innych ruch niż między 10.0.1.2 a siecią lokalną 2)

Inna z nich to blokowanie nie pożądanego ruchu i zezwalanie na resztę:

1. ! Src_IP = 10.0.1.2 In_IF = IF1 Out_IF = IF2 DROP (część „!

Src_IP = 10.0.1.2” właściwie nie jest tu konieczna; można się zastanowić, czy użycie części „Out_IF = IF2” byłoby właściwe)

2. Src_IP = 10.0.2.0/24 In_IF = IF2 ! Dst_IP = 10.0.1.2 Out_IF = IF1 DROP (część „Out_IF = IF1” nie jest konieczna;

zastosowanie obu części „Src_IP = 10.0.2.0/24” i „In_IF = IF2” nie jest konieczne) 3. Src_IF = IF3 DROP (nie zezwalaj na ruch na interfejsie IF3)

4. Dst_IF = IF3 DROP

5. ACCEPT (zezwalaj na pozostały ruch, czyli jedynie pomiędzy 10.0.1.2 a siecią lokalną 2)

Jeszcze inna metoda to rozwiązanie mieszane, na przykład:

1. Src_IP = 10.0.1.2 In_IF = IF1 Out_IF = IF2 ACCEPT (część „In_IF = IF1” nie jest konieczna)

2. In_IF = IF1 Out_IF = IF2 DROP (część „! Src_IP = 10.0.1.2” nie jest konieczna, gdyż jest przetwarzana przez poprzednią regułę; część „In_IF = IF1”

jest tutaj konieczna )

3. Src_IP = 10.0.2.0/24 In_IF = IF2 Dst_IP = 10.0.1.2

(4)

10.0.2.0/24” i „In_IF = IF2” jednocześnie; część „Out_IF = IF1” nie jest tu konieczna)

4. Src_IP = 10.0.2.0/24 In_IF = IF2 ! Dst_IP = 10.0.1.2 Out_IF = IF1 DROP (część „Out_IF = IF1” nie jest konieczna;

zastosowanie obu części „Src_IP = 10.0.2.0/24” i „In_IF = IF2” nie jest konieczne) 5. DROP

zamiast ostatniej reguły można byłoby dodać reguły 6. Src_IF = IF3 DROP

7. Dst_IF = IF3 DROP 8. ACCEPT

B) Dostęp do Internetu z sieci lokalnych (sieć lokalna1 i sieć lokalna2) mają jedynie komputery o adresach: 10.0.1.2, 10.0.2.2, 10.0.2.3

Oto jedna z możliwości rozwiązania:

1. Src_IP = 10.0.1.2 In_IF = IF1 ! Dst_IP = 10.0.3.0/24 Out_IF = IF3 ACCEPT (części „In_IF = IF1” i „! Dst_IP = 10.0.3.0/24” nie są konieczne)

2. Src_IP = 10.0.2.2 In_IF = IF2 ! Dst_IP = 10.0.3.0/24 Out_IF = IF3 ACCEPT (części „In_IF = IF1” i „! Dst_IP = 10.0.3.0/24” nie są konieczne)

3. Src_IP = 10.0.2.3 In_IF = IF2 ! Dst_IP = 10.0.3.0/24 Out_IF = IF3 ACCEPT (części „In_IF = IF1” i „! Dst_IP = 10.0.3.0/24” nie są konieczne)

4. ! Src_IP = 10.0.3.0/24 In_IF = IF3 Dst_IP = 10.0.1.2 Out_IF = IF1 ACCEPT (części „Out_IF = IF1” i „! Src_IP = 10.0.3.0/24” nie są konieczne)

5. ! Src_IP = 10.0.3.0/24 In_IF = IF3 Dst_IP = 10.0.2.2 Out_IF = IF2 ACCEPT (części „Out_IF = IF2” i „! Src_IP = 10.0.3.0/24” nie są konieczne)

6. ! Src_IP = 10.0.3.0/24 In_IF = IF3 Dst_IP = 10.0.2.3 Out_IF = IF2 ACCEPT (części „Out_IF = IF2” i „! Src_IP = 10.0.3.0/24” nie są konieczne)

DROP (blokowanie jakiegokolwiek innego ruchu)

C) Adres MAC komputera 10.0.1.2 to 11:22:33:44:55:66.

(5)

Src_IP = 10.0.1.2 ! Src_MAC = 11:22:33:44:55:66 DROP ...

D) Tylko komputer o adresie 10.0.2.5 ma dostęp do serwera http na komputerze o adresie 10.0.3.3

1. Src_IP = 10.0.2.5 In_IF = IF2 Dst_IP = 10.0.3.3 Out_IF = IF3 Protocol = TCP Dst_port = 80 ACCEPT (części „In_IF = IF2” i

„Out_IF = IF3” nie są konieczne)

2. Src_IP = 10.0.3.3 In_IF = IF3 Protocol = TCP Src_port = 80 Dst_IP = 10.0.2.5 Out_IF = IF2 ACCEPT (części „In_IF = IF3” i „ Out_IF = IF2” nie są konieczne)

3. DROP (blokuj jakikolwiek inny ruch)

• Propozycja listy reguł dotyczącej wszystkich wcześniej podanych zasad jednocześnie:

1. ! Src_IP = 10.0.1.2 In_IF = IF1 Out_IF = IF2 DROP 2. In_IF = IF2 ! Dst_IP = 10.0.1.2 Out_IF = IF1 DROP 3. ! Src_IP = 10.0.1.2 In_IF = IF1 Out_IF = IF3 DROP

4. Src_IP = 10.0.2.2 ! Dst_IP = 10.0.3.0/24 Out_IF = IF3 ACCEPT 5. Src_IP = 10.0.2.3 ! Dst_IP = 10.0.3.0/24 Out_IF = IF3 ACCEPT 6. In_IF = IF2 Out_IF = IF3 DROP

7. Src_IP = 10.0.1.2 ! Src_MAC = 11:22:33:44:55:66 DROP

8. Src_IP = 10.0.2.5 Dst_IP = 10.0.3.3 Protocol = TCP Dst_Port = 80 ACCEPT

9. Src_IP = 10.0.2.0/24 Dst_IP = 10.0.3.0/24 DROP 10. Src_IP = 10.0.1.0/24 Dst_IP = 10.0.3.0/24 DROP

11. Src_IP = 10.0.3.3 Protocol = TCP Src_Port = 80 ! Dst_IP = 10.0.2.5 DROP

12. ACCEPT

Zadanie do wykonania

Proszę sporządzić listę reguł dla wybranego przez prowadzącego scenariusza. Reguły te mają spełniać wszystkie postawione warunki jednocześnie. Niestety, często powoduje to kolizję. Na przykład

połączenie zasad: „komputer X ma dostęp do Internetu” i zasady „komunikacja przez protokół FTP jest

(6)

do Internetu, ale nie może używać FTP”. Pierwszym zadaniem jest przerobienie listy zasad na taką, w której pojedyncze zasady dotyczą innego ruchu, czyli pojedyncze zasady się nie nakładają, lub chociaż nie wykluczają częściowo.

Przykład listy zasad przed przeróbką:

1. Komputery z sieci 10.0.2.0/24 mają dostęp do Internetu.

2. Komputer 10.0.2.4 nie może korzystać z protokołu FTP.

3. Komputery z Internetu nie mogą się łączyć z serwerem HTTP na komputerze 10.0.2.5.

Przykład listy zasad po przeróbce:

1. Ruch z sieci 10.0.2.0/24 do Internetu przez protokół UDP jest możliwy

2. Ruch z sieci 10.0.2.0/24 do Internetu przez protokół TCP oprócz FTP i HTTP jest możliwy 3. Ruch z sieci 10.0.2.0/24 do Internetu przez protokół FTP jest możliwy dla adresów źródłowych

różnych niż 10.0.2.4

4. Ruch z sieci 10.0.2.0/24 do Internetu przez protokół HTTP oprócz portu źródłowego skojarzonego z HTTP i adresu źródłowego 10.0.2.5

5. Ruch z Internetu do sieci 10.0.2.0/24 oprócz protokołów FTP i HTTP jest dopuszczony.

6. Ruch z Internetu do sieci 10.0.2.0/24 oprócz 10.0.2.4 przez protokołów FTP jest dopuszczony.

7. Ruch z Internetu do sieci 10.0.2.0/24 oprócz 10.0.2.5 przez protokołów HTTP jest dopuszczony.

8. Ruch z Internetu do 10.0.2.5 przez protokół HTTP jest możliwy, ale nie do serwera HTTP na 10.0.2.5.

Można tworzyć dodatkowe listy reguł, do których będzie przekierowany wybrany ruch, ale te

dodatkowe listy mają się zakończyć DROP albo ACCEPT.

(7)

Scenariusz projektu nr 1.

1. Do Internetu mają jedynie dostęp komputery z sieci lokalnej 2 i z 10.0.3.3.

2. Komputery z sieci lokalnej 1 i 2 mają dostęp jedynie do wybranych komputerów z sieci lokalnej 3, czyli do 10.0.3.3 i 10.0.3.4.

3. Do serwera HTTP na 10.0.3.3 mają dostęp jedynie komputery z sieci lokalnej 2.

4. Komputery z sieci lokalnej 1 mogą komunikować się z komputerami z sieci lokalnej 2, ale nie mogą z komputerami z sieci lokalnej 3 innymi niż 10.0.3.3 i 10.0.3.4.

5. Router z komputerami z sieci lokalnej 2 komunikuje się tylko jeśli posiadają one adresy MAC różne niż 00:11:11:11:11:11.

Router

IF4

IF1 IF2 10.0.2.1/24 10.0.1.1/24

Sieć lokalna1

10.0.1.0/24 Sieć lokalna2 10.0.2.0/24

Internet

Sieć lokalna3 10.0.3.0/24

IF3

10.0.3.1/24

(8)

Scenariusz projektu nr 2.

1. Do Internetu mają dostęp jedynie komputery z sieci lokalnej 3.

2. Komputery z sieci lokalnej 1 i 2 mają dostęp jedynie do wybranych komputerów z sieci lokalnej 3, czyli do 10.0.3.3, 10.0.3.4 i 10.0.3.5.

3. Komputery z sieci lokalnej 1 i 2 przy komunikacji z 10.0.3.5 mają dostęp jedynie do usług pocztowych zainstalowanych na standardowych portach na 10.0.3.5.

4. Komputery mogą wysyłać zapytania o DNS do Internetu jedynie na adres 8.8.8.8.

5. Komunikacja pomiędzy siecią lokalną 1 i 2 nie jest możliwa.

6. Komunikacja przez protokół FTP jest niemożliwa.

Router

IF4

IF1 IF2 10.0.2.1/24 10.0.1.1/24

Sieć lokalna1

10.0.1.0/24 Sieć lokalna2 10.0.2.0/24

Internet

Sieć lokalna3 10.0.3.0/24

IF3

10.0.3.1/24

Cytaty

Powiązane dokumenty

To jest drzewo, które ma troszeczkę inną symbolikę niż na przykład dąb czy osika.. W dawnych, jeszcze przedchrześcijańskich czasach, uważano je za

[r]

W rezultacie tego mamy chrześcijan, którzy wszystko wiedzą o Jezusie, lecz nigdy nie widzieli, jak Duch Święty porusza się wśród nich.. Co gorsza, mamy pastorów, którzy

lekarz podstawowej opieki zdrowotnej nie ma dostępu do aktualnej dokumentacji szpitalnej pacjenta, a szpital lub lekarz specjalista wiedzę na temat stanu zdrowia pacjenta czerpie

2) poważnego czterdzieści osiem (48) godzin zegarowych od wezwania, 3) pozostałego siedemdziesiąt dwie (72) godziny zegarowe od wezwania. Jeżeli Wykonawca opracuje

Wymaga większej wiedzy teoretycznej Łatwiejszy do opanowania dla początkującej osoby Typy danych: character, numeric, date, logical, memo Typy danyc: string (4 typy), numeric

2.3.4 Wyrażam zgodę na przetwarzanie moich danych osobowych, w celu składania propozycji zawarcia umów przy użyciu środków porozumiewania się na odległość lub poza

Wykonawca jest zobowiązany do przeprowadzenia wśród uczestników kursu oceny merytorycznej przebiegu kursu- ewaluacji na podstawie przeprowadzonych ankiet na początku i na