Firewall w OS Linux.pdf

(326 KB) Pobierz
Microsoft Word - firewall pod LINUX.doc
Ściana ogniowa w systemie operacyjnym LINUX
Autor: Gładysz Krystian IVFDS
1
STRESZCZENIE
Codziennie do sieci Internet podłącza się około kilku do kilkudziesięciu tysięcy nowych
komputerów. Sieć Internet jako największa sieć komputerowa, oferująca dużo możliwości
m.in.: pocztę elektroniczną, możliwość prowadzenia rozmów on-line, tzw. chaty, bogaty zbiór
informacji, gry sieciowe i inne możliwości, co powoduje przyciąganie coraz większej ilości
użytkowników. Jednak ten wzrost niesie za sobą również zmniejszenie bezpieczeństwa lokal-
nych sieci komputerowych jak i pojedynczych komputerów, które są podłączone do sieci. Aby
zniwelować rosnące niebezpieczeństwo ze strony sieci globalnej należy zastosować oprogra-
mowanie zwane firewall’em (ścianą ogniową), który jest przeznaczony do ochrony systemów
lokalnych przed wszelkiego rodzaju atakami zewnętrznymi na nasz komputer, jak również na
całą sieć lokalną. Ściany ogniowe umożliwiają częściowe odizolowanie naszych urządzeń
podłączonych do sieci Internet.
Politechnika Rzeszowska im. Ignacego Łukasiewicza
Zakład Systemów Rozproszonych
Rzeszów 2002
2
SPIS TREŚCI
Streszczenie .................................................................................................................................. 1
1. FIltrowanie pakietów. ........................................................................................................... 3
1.1 Co to jest filtrowanie IP? .............................................................................................. 3
1.2 Dlaczego filtrujemy pakiety?........................................................................................ 3
1.3 Budowa filtra. ............................................................................................................... 3
1.4 Postępowanie pakietów. ............................................................................................... 4
1.5 Filtry pakietów do kierowania ich do odpowiednich klas. ........................................... 4
2. IPCHAINS............................................................................................................................ 5
2.1 Opcje polecenia IPCHAINS dla operacji na łańcuchach. ............................................ 5
2.2 Parametry polecenia IPCHAINS do konstruowania filtrów......................................... 5
2.3 Standardowe zasady postępowania w celu dalszego przetwarzania............................. 6
2.4 Podawanie adresów IP: źródłowego i przeznaczenia. .................................................. 6
2.5 Inwersja. ....................................................................................................................... 7
2.6 Podawanie portów UDP i TCP. .................................................................................... 7
2.7 Podawanie typów i kodów ICMP. ................................................................................ 7
2.8 Podawanie interfejsu..................................................................................................... 7
2.9 Podawanie tylko pakietów TCP SYN. ......................................................................... 8
2.10 Przykładowe porty. ....................................................................................................... 8
2.11 Przykłady stosowania IPCHAINS................................................................................ 9
2.12 Przykładowy plik konfiguracyjny. ............................................................................... 9
3. IPTABLES.......................................................................................................................... 11
3.1 Zasady działania IPTABLES...................................................................................... 11
3.2 Opcje polecenia IPTABLES dla operacji na łańcuchach. .......................................... 11
3.3 Parametry polecenia IPTABLES do konstruowania filtrów. ..................................... 12
3.4 Funkcja NAT. ............................................................................................................. 12
3.5 Budowa funkcji NAT. ................................................................................................ 13
3.6 Opcje IPTABLES używane w NAT........................................................................... 13
4. IPFWADM. ........................................................................................................................ 14
4.1 Zasady działania IPFWADM. .................................................................................... 14
4.2 Kategorie IPFWADM dla określenia datagramow..................................................... 14
4.3 Opcje polecenia IPFWADM dla operacji na łańcuchach. .......................................... 14
4.4 Parametry polecenia IPFWADM do określenia datagramów. ................................... 14
4.5 Argumenty opcjonalne IPFWADM............................................................................ 15
Literatura .................................................................................................................................... 16
Politechnika Rzeszowska im. Ignacego Łukasiewicza
Zakład Systemów Rozproszonych
Rzeszów 2002
3
1. FILTROWANIE PAKIETÓW.
1.1 Co to jest filtrowanie IP?
Filtr pakietów to takie oprogramowanie, które sprawdza nagłówki pakietów w trakcie jak
docierają do maszyny, na której działa i decyduje o ich losie. Może zdecydować, że pakiet zo-
stanie odrzucony (drop, tzn. że datagramy są usuwane i zupełnie ignorowane, tak jak by nigdy
nie zostały odebrane), zaakceptowany (accept, tzn. pozwoli mu się przejść), lub coś bardziej
skomplikowanego. Generalnie chodzi o sprawdzanie nagłówków i decydowanie o ich losie.
Możesz wskazać wiele różnych kryteriów określających, które pakiety chcesz filtrować, oto
kilka z nich:
Typ protokołu, np.: TCP, UDP itp.;
Numer gniazda
Typ protokołu: SYN/ACK, dane, ICMP Echo Request itp.;
Adres źródłowy pakietu, czyli skąd pochodzi;
Adres docelowy pakietu, czyli dokąd jest wysyłany;
Filtrowanie pakietów jest funkcją warstwy sieciowej, co oznacza, że nie ma ono nic wspól-
nego z aplikacją wykorzystującą połączenia sieciowe, a dotyczy tylko samych połączeń.
W Linuksie, filtrowanie pakietów jest wbudowane w Kornel. [1, 5, 6]
1.2 Dlaczego filtrujemy pakiety?
Są trzy powodu dla których filtrujemy pakiety:
Kontrola:
Jeżeli wewnętrzną sieć łączysz z inną siecią np. Internetem za pomocą Linux’a masz oka-
zję wpuścić trochę różnych typów ruchu i odrzucić inne.
Bezpieczeństwo:
Jeżeli komputer jest jedynym łączem miedzy Internetem a siecią lokalną, to możesz obło-
żyć restrykcjami to co jest skierowane do danej sieci lokalnej.
Czujność:
Źle skonfigurowana maszyna w sieci lokalnej może zdecydować o skierowaniu kilku pa-
kietów do sieci zewnętrznej, lecz to zagrożenie może możemy wykryć dzięki odpowied-
nim ustawieniu filtru pakietów, który nas o tym zdarzeniu poinformuje i pozwoli na podję-
cie odpowiedniej akcji. [5]
1.3 Budowa filtra.
Generalnie jądro systemu dzieli ruch firewalla na kategorie i do każdej z nich stosuje inny
filtr. Dla każdej z tych kategorii otrzymujemy listę reguł nazywanych łańcuchami. Łańcuch na-
tomiast określa nam, co mamy zrobić z pakietem, jeśli spełnia on określone warunki. Jądro po
pierwsze podejmuje decyzję o tym gdzie powinien trafić dany pakiet, czyli podejmuje decyzję
routingu pakietu. Wyróżniamy tutaj trzy reguły z odpowiednimi łańcuchami:
a) INPUT - wchodząca ściana ogniowa – wchodzący ruch, zanim zostaje zaakceptowany,
jest testowany według zasad tejże ściany;
b) OUTPUT - wychodząca ściana ogniowa – wychodzący ruch zanim zostanie wysłany.
jest testowany zgodnie z regułami danej ściany;
c) FORWARD - przekazująca ściana ogniowa – ruch, który jest przekazywany poprzez
system, jest testowany zgodnie z regułami dla danej ściany.
Oprócz tych trzech standardowych kategorii, użytkownik może definiować także własne kate-
gorie. [1,6]
Politechnika Rzeszowska im. Ignacego Łukasiewicza
Zakład Systemów Rozproszonych
Rzeszów 2002
4
P akiety wchodzace
De c yz j a
rutingowa
FORWARD
Pak iety wychodzace
IN P UT
Proc esy l okaln e
OUTPUT
Rys 1.1 Rysunek pokazuje jak pakiet przechodzi przez filtr.
1.4 Postępowanie pakietów.
Definicja zachowania się jądra w stosunku do pakietu jest tworzone przez budowanie reguł,
które następnie przypisywane są odpowiednim łańcuchom. Możemy wyróżnić kilka możliwych
postępowań z pakietami:
a) AKCEPT – akceptuje pakiet;
b) DROP – usuwa pakiet i zachowuje się tak jakby go nie było;
c) LOG – loguje pakiet;
d) REJENT – usuwamy pakiet i wysyłamy pakiet ICMP (informuje o odrzuceniu pakietu)
do adresu źródłowego;
e) RETURN – skok na koniec łańcucha (w łańcuchu głównym) lub powrót z łańcucha zde-
finiowanego przez użytkownika;
f) QUEUE – umieszcza pakiet w kolejce do dalszego przetwarzania;
g) REDIRECT – pakiet zostaje przekierowany na inny port; [5, 6]
1.5 Filtry pakietów do kierowania ich do odpowiednich klas.
a) TC indem classifier ;
b) route – filter oparty o tablice routingu;
c) fw – jest to filtr oparty o zaznaczaniu pakietów przez filtr pakietów wbudowany w Kor-
nel, który jest potężnym filtrem dzięki bardzo dużym możliwością netfiltera;
d) u32 – filtr o dużej wydajności, który oparty jest na tablicy laszującej, pozwala na
klasyfikowanie na podstawie zawartości nagłówków;
e) RSVP classifier – filtr ten klasyfikuje pakiety na podstawie spełnienia wymagania pro-
tokołu RSVP, służącego do przesyłania głosu i video w czasie rze-
czywistym. [5, 6]
Politechnika Rzeszowska im. Ignacego Łukasiewicza
Zakład Systemów Rozproszonych
Rzeszów 2002
184432227.001.png
Zgłoś jeśli naruszono regulamin