IP-MASQUERADE INDEX STRONA GŁÓWNA
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

 

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.

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.

firewall.gif (7228 bytes)

 

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

 

ł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
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 :

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ą.

GRUPA MEDIA INFORMACYJNE & ADAM NAWARA