background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the 

HTML to PDF API

FIREWALL

 

Firewall - "ściana ognia" jest terminem zaczerpniętym z konstrukcji samochodu, gdzie firewall
fizycznie oddziela silnik samochodu od pasażera. 
Komputerowe firewalle są urządzeniami, które chronią sieci prywatne od części publicznej, jaką jest
Internet.
Komputer będący ,,ścianą ognia'' może być obecny tak w sieci chronionej, jak i w Internecie.
Chroniona sieć nie może być osiągalna z Internetu, podobnie jak Internet nie może być osiągalny z
chronionej sieci.

 

Typy firewalli

Istnieją dwa typy firewalli:

firewalle filtrujące IP

 - działające na poziomie pakietów, przepuszczające tylko te pakiety, które

spełniają ustalone warunki filtrowania

serwery proxy

 - serwery pośredniczące, dziłające na pozimie aplikacji, wykonujące połączenie

sieciowe za nasz komputer

 

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the 

HTML to PDF API

Filtujące firwalle

Firewalle filtrujące działają na poziomie pakietów IP. Są zaprojektowane do kontroli przepływu,
bazując na adresie źródłowym, docelowym, porcie i typie pakietu (zawartych w każdym z pakietów). 
Ten typ firewalli z odpowiednio ustawionymi regułami filtrowania jest bardzo bezpieczny.

 

Serwery proxy

Serwery proxy pozwalają na niebezpośredni dostęp do Internetu przez firewall.
Podczas łączenia się z proxy serwerem za pomocą specjalnego oprogramowania klienckiego startuje
on swojego klienta i dostarcza rządanych danych. 
Ponieważ serwery proxy podwajają każde połączenie, możliwe jest zapisywanie każdego z nich.

 

Wady firewalli

Wadą filtrujących firewalli jest to, że ograniczają dostęp do twojej sieci z Internetu. Tylko usługi na
filtrowanie, których zezwolisz będą dostępne. 
Na serwerach proxy użytkownicy mogą autoryzować się na firewallu i dopiero wtedy mają (z systemu
wewnątrz sieci prywatnej) dostęp do Internetu. 
Poza tym nowe typy klientów sieciowych i serwerów przybywają prawie codziennie. Musimy wtedy
wynaleźć nowy sposób zezwolenia na kontrolowany ich dostęp do twojej sieci, zanim będą użyte.

 

Kompilacja jądra dla obsługi firawalla.

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the 

HTML to PDF API

Aby nasz firewall działał, należy uaktywnić podczas kompilacji jądra następujące opcje :

* Turn Networking Support ON 
* Turn Network firewalls ON 
* Turn TCP/IP Networking ON 
* Turn IP Firewalling ON 
* Turn IP firewall packet loggin ON
* Turn IP: accounting ON

 

Konfiguracja zasad filtrowania adresów IP

Aby poprawnie zaprojektować nasz firewall należy zrozumieć jaką drogę pokonuje datagram IP w
czsie przechodzenia przez naszą zaporę.
Najpierw sprawdzana jest suma kontrolna datagramów 

checksum

, następnie testowane są one pod

kątem deformacji 

sanity

. Później pakiety przechodzą przez łańcuch wejściowy 

input chain

 i jeśli

trzeba podlegają procesowi 

NAT

 - 

demasquerade

, czyli adres rutera usuwany jest z pola "adres

docelowy" i zastępowany jest adresem IP komputera w sieci prywatnej. Dalej na podstawie tablicy
rutingu 

routing decision

 lub protokołu rutującego podejmowana jest decyzja o dalszym losie pakietu.

Procesy lokalne 

local process

 mogą odbierać pakiety po etapie rutowania i wysyłać pakiety poprzez

etap rutowania i łańcuch wyjściowy 

output chain

. Jeśli pakiety nie są utworzone poprzez procesy

loklne, są sprawdzane w łańcuchu przejściowym 

forward chain

. Jeśli pakiety od procesów lokalnych

są przekazywane do lokalnego komputera localhosta przechodzą przez łańcuch wyjściowy do
interfejsu 

lo - loopback

. Wszystkie pakiety wydostające się z komputera muszą przejść przez

łańcuch wyjściowy 

output chain

.

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the 

HTML to PDF API

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the 

HTML to PDF API

 

Konfigurowanie naszego firewalla należy zacząć od stworzenia skryptu rc.firewall w katalogu
/etc/rc.d/, w którym umieścimy reguły filtrowania naszych pakietów.

W pliku /etc/rc.d/rc.local dodajemy następujący wpis 
/etc/rc.d/rc.firewall 
który spowoduje uruchomienie podczas startu systemu naszego skryptu .

Do konfiguracji reguł filtrowania posłużymy się programem ipchains o następującej składni dla
wybranych opcji :

ipchains -A łańcuch opcje
ipchains -R łańcuch opcje
ipchains -I łańcuch opcje 
ipchains -P łańcuch cel 
ipchains -F łańcuch 
ipchains -D łańcuch 

gdzie :

A

 - dołącza jedną lub więcej reguł do końca podanego łańcucha

R

 - zamienia reguły w wybranym łańcuchu

I

 - wstawia jedną lub więcej reguł do określonego łańcucha

P

 - ustawia politykę łańcucha wybranego celu

F

 - usuwa wszystkie reguły z podanego łańcucha

D

 - usuwa jedną lub więcej reguł z podanego łańcucha

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the 

HTML to PDF API

 

łańcuch

 - może przyjmować 3 parametry :

INPUT

 - dla pakietów wchodzących 

OUTPUT

 - dla pakietów wychodzących 

FORWARD

 - dla pakietów maskowanych

 

cel

 - każda reguła ściany ogniowej określa kryteria dotyczące pakietu i celu .

Jeśli pakiet nie pasuje do danej reguły, to sprawdzana jest następna w danym łańcuchu . Jeśli pakiet
pasuje, wtedy następna regułka jest określana przez wartość celu, która przyjmuje następujące
wartości :

ACCEPT

 - należy przepuścić pakiet

DENY

 - należy pakiet odrzucić

REJECT

 - działa podobnie, jak 

DENY

 wysyłając dodatkowo do nadawcy komunikat zwrotny ICMP

informujący go, że pakiet nie został przyjęty

MASQ

 - jest właściwy tylko dla łańcuchów przekazywanych - forwardingu

 

opcje

 - może przyjmować następujące wartości :

s

 - określa źródła, którymi mogą być : nazwa usługi, numer portu, adres IP i maska hosta lub sieci

d

 - określa miejsce przeznaczenia i ma taką samą postać jak opcja -s

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the 

HTML to PDF API

p

 - dzięki tej opcji możemy wskazać bezpośrednio na interesujący nas port

j

 - określa cel reguły, który należy spełnić, jeśli pakiet spełnia podane w regule kryteria 

i

 - wskazuje nazwę interfejsu sieciowego, na który będą przychodzić pakiety podlegające weryfikacji

w danej regule

 

Na samym początku należy usunąć wszystkie reguły dotyczące filtrowania pakietów wejściowych :

ipchains -F input

Ustawiamy politykę dla wybranych łańcuchów :

ipchains -P input ACCEPT
ipchains -P output ACCEPT
ipchains -P forward DENY

 

Każda nowa reguła będzie tworzona w oparciu o podany schemat :

ipchains [-A/-I] [input/output] -p [protokół] -s [źródło] [nr portu] -d
[cel] [nr portu] -j [DENY/ACCEPT] -i [interfejs]

 

Ustawianie reguł zaczynamy od stworzenia doskonałego firewalla, blokującego wszystkie porty dla
pakietów przychodzących z zewnątrz na interfejs ppp0 :

background image

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the 

HTML to PDF API

ipchains -A input -p tcp -s 0/0 1:65535 -d 192.168.0.1/24 1:65535 -j DENY
-i ppp0

 

Dla odblokowania usługi WWW tworzymy nową regułę :

ipchains -I input -p tcp -s 0/0 1024:65535 -d 192.168.0.1/24 WWW -j ACCEPT
-i ppp0

 

Dla odblokowania usługi FTP adekwatnie do poprzedniej tworzymy regułę :

ipchains -I input -p tcp -s 0/0 1024:65535 -d 192.168.0.1/24 FTP -j ACCEPT
-i ppp0

 

Nasz firewall możemy również wykorzystać do administrowania dostępem do internetu.
Jeśli chcielibyśmy zabronić komputerowi z naszej sieci o adresie 192.168.0.2 dostępu do internetu
należy stworzyć regułę w postaci :

ipchains -I input -p tcp -s 192.168.0.2/32 1024:65535 -d 0/0 WWW -j REJECT
-i eth0

eth0 - jest interfejsem sieciowym łączącym nasz serwer z siecią prywatną.