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