przepisał: Aleksander Śmierciak
Bezpieczeństwo systemów informatycznych
Wykład
14 maja 2012
[…]
Firewall – definicja
Firewall (ang. ściana przeciwogniowa) - jeden ze sposobów zabezpieczania sieci komputera/serwera
przed intruzami. Termin określający sprzęt komputerów wraz ze specjalnym oprogramowaniem bądź
samo oprogramowanie blokujące niepowołany dostęp do sieci komputerowej, komputera, serwera, itp.
na której straży stoi.
Firewall sprzętowy
[obrazek: sieć, w której firewall sprzętowy jest umieszczony na styku sieci wewnętrznej (chronionej) z
siecią zewnętrzną (publiczną).]
W starszym podejściu funkcję firewalla pełnił komputer z oprogramowaniem typu firewall, np.
komputer z kilkoma kartami sieciowymi i filtrem pakietów (iptables lub ipchains pod Linuksem).
[obrazek: sieć, w której zamiast firewalla sprzętowego figuruje wyżej opisany komputer]
Stosowane technologie
1. Filtrowanie pakietów
2. Pośredniczenie (proxy)
3. Translacja adresów sieciowych (NAT)
4. Wirtualne sieci prywatne (VPN)
Bardzo często firewallem nazywamy urządzenie posiadające tylko ww. funkcje. Gdy urządzenie posiada
coś więcej, to używamy nazwy UTM.
1
przepisał: Aleksander Śmierciak
Filtrowanie pakietów
Filtrowanie pakietów:
•
w warstwie aplikacji,
•
w warstwie transportowej,
•
w warstwie sieciowej,
•
w warstwie łącza danych.
Filtrowanie pakietów w warstwie aplikacji zahacza o funkcję pośredniczenia (proxy).
Iptables jest sztandarowym rozwiązaniem jeśli chodzi o filtrowanie pakietów. Wiele rozwiązań
sprzętowych bazuje na iptables. Program ten jest dostępny pod każdym systemem Linux. Warto w
ramach edukacji przetestować jego działanie; umożliwi nam to udzielenie odpowiedzi na pytania:
W jaki sposób przesyłane są pakiety?
Co to znaczy, że połączenie jest przychodzące / wychodzące?
Czym różnią się między sobą różne typy NATowania?
Iptables
W iptables istnieją trzy tablice reguł:
1. Filter
Pierwsza (domyślna) tablica zawiera wbudowane łańcuchy INPUT i OUTPUT dla pakietów
przeznaczonych lub wygenerowanych przez lokalnego hosta oraz FORWARD dla pakietów
rutowanych przez hosta.
2. Nat
Druga tablica dotyczy reguł stosowanych dla pakietów, dla których dokonywana jest translacja
adresów IP i zawiera łańcuchy PREROUTING i POSTROUTING, dla tablicy nat dostępny jest
także łańcuch OUTPUT.
3. Mangle
Trzecia tablica zawiera łańcuchy PREROUTING oraz OUTPUT.
Możemy modyfikować właściwie dowolny parametr nagłówka protokołów sieciowych (najprostszy
przykład: modyfikacja wartości TTL).
Jeszcze kilka lat temu większość operatorów sieciowych dostarczając łącze nie zezwalali na
rozdzielanie łącza przez ustalanie wartości TTL na 1. Przez to pakiet ginął na routerze rozdzielającym
łącze.
2
przepisał: Aleksander Śmierciak
Iptables – ruch pakietów
[obrazek: schemat blokowy, przedstawiający ruch pakietów]
Ruch sieciowych wychodzący trafia do łańcucha OUTPUT (tabel Filter i NAT). Możemy dzięki nim
ograniczać to, co procesy lokalne wysyłają do sieci, a także zastosować translację adresu sieciowego –
może to być adres i źródłowy, i docelowy.
Schody zaczynają się, gdy należy skonfigurować tzw. NAT loopback (pętla NATowa). Jak zrealizować
konfigurację w sytuacji, gdy chcemy połączyć się z komputera o prywatnym adresie w sieci chronionej
do komputera o prywatnym adresie w sieci chronionej przez adres publiczny?
Składnia polecenia iptables
iptables polecenie reguła rozszerzenie
•
polecenie: -A, -l, -D, itp.
•
reguła: złożona z celów, np. ACCEPT, DROP, itp.
•
rozszerzenie: iptables są ciągle rozszerzalne, co oznacza, że funkcjonalność zarówno jądra, jak i
narzędzi iptables może być rozszerzona o nowe opcje.
Firewall Builder
Firewall Builder jest narzędziem graficznym przeznaczonym do konfigurowania i zarządzania
regułami filtrującymi dla wielu platform. Oparty o techniki obiektowe pozwala na konfigurowanie
urządzeń z wykorzystaniem technik typu drag & drop. Obecnie Firewall Builder wspiera następujące
platformy:
•
iptables
•
ipfilter
•
OpenBSD PF
•
Cisco PIX
Firewall Builder
[zrzut ekranu: interfejs graficzny programu Firewall Builder]
Firewall Builder generuje bardzo pogmatwane pliki. Wpis na zrzucie ekranu nie odzwierciedla reguły
z listy.
3
przepisał: Aleksander Śmierciak
Pośredniczenie (proxy)
Serwer proxy – serwer pośredniczący (zastępczy) sieci lokalnej LAN. Serwer proxy stanowi rodzaj
bezpiecznej zapory, która łączy (lub filtruje) sieć LAN z Internetem za pośrednictwem pojedynczego
adresu IP, wspólnego dla wszystkich stacji roboczych lokalnej sieci intranetowej.
Squid – wolne oprogramowanie służące do pośredniczenia w HTTP, które poza filtrowaniem ruchu
potrafi go również cache'ować.
Proxy – firewall warstwy aplikacji
[schemat blokowy]
NAT
Technika translacji adresów sieciowych pozwala na używanie innych adresów sieciowych wewnątrz
oraz na zewnątrz sieci.
Czy NAT jest mechanizmem bezpieczeństwa?
Jest, ponieważ pod jednym adresem IP ukrywamy wiele komputerów – ktoś z zewnątrz nie zna adresów
IP wewnętrznych.
Nie jest, ponieważ ataków do których potrzebne byłyby wewnętrzne adresy IP już się nie przeprowadza.
Firewall jest w stanie obsłużyć tyle połączeń ile ma dostępnych portów (a więc nieco mniej niż 65536).
Przeważnie jednak używa się zbioru ok. 10 tysięcy portów.
NAT – metody
1. Statyczna translacja adresów
2. dynamiczna translacja adresów
3. dynamiczna translacja adresów i portów
Typy NAT:
•
SNAT (Source NAT)
•
DNAT (Destination NAT)
4
przepisał: Aleksander Śmierciak
Statyczna translacja adresów to translacja 1:1. Przekierowywany jest cały ruch (zarówno wychodzący,
jak i przychodzący), na wszystkich portach; jednemu adresowi zewnętrznemu jest przypisany jeden
adres wewnętrzny.
Dynamiczna translacja adresów (IP masquerade) to realizacja funkcji widocznej na rysunku z
poprzedniego slajdu. To np. zmiana portu.
Dynamiczna translacja adresów i portów jest często realizowana również w drugą stronę
(wychodzącą).
Przeprowadzenie skanowania adresów IPv6 sieci będzie trwało latami ze względu na olbrzymią pulę
adresową.
W IPv6 praktycznie nie stosuje się NATa (nie jest potrzebny, gdyż nie ma najmniejszego zagrożenia
wyczerpania adresów z puli IPv6).
VPN
Tunel przez który płynie ruch w ramach sieci prywatnej pomiędzy klientami końcowymi za
pośrednictwem sieci publicznej.
[schemat blokowy przedstawiający szkielet VPN]
Architektury firewalli
[…]
Host z dwoma portami
[obrazek:
Internet
Host z dwoma portami
Sieć wewnętrzna]
Dwa filtry pakietów i brama aplikacyjna
[obrazek: schemat blokowy sieci:
Internet ----------------- Router (filtr zewnętrzny) ------- Sieć pośrednicząca ---------- Server proxy
--------- Router (filtr wewnętrzny) ------------ Sieć wewnętrzna]
To rysunek ideologiczny, gdyż w rzeczywistości stosuje się bardziej skomplikowane rozwiązania;
filtrowanie ruchu na wielu poziomach, więcej niż jeden interfejs sieciowy, itp.
5
przepisał: Aleksander Śmierciak
DMZ (demilitarized zone) - strefa, w której umieszcza się usługi, które mają dostęp do zasobów
publicznych (lub w drugą stronę, z zewnątrz jest dostęp do tych usług).
Definicja
Firewall prywatny jest to bariera pomiędzy Twoim komputerem a światem zewnętrznym czyli
Internetem.
Zastosowanie:
•
ochrona poufnych danych użytkownika, np.: danych osobowych, numerów kart kredytowych,
numeru IP,
•
ochrona przed atakami mającymi na celu utrudnienie lub uniemożliwienie pracy komputera,
•
ochrona przed nieautoryzowanym dostępem do zasobów komputera,
•
ochrona przed oprogramowaniem typu konie trojańskie, wirusy, itp.
Typy firewalli prywatnych
Software'owe, najpopularniejsze, kosztują nic lub niewiele. Instalowane są jak zwykłe programy na
PC i pracują na większości systemów operacyjnych. Zabezpieczają tylko pojedynczą maszynę i są
zarządzane przez właściciela.
Hardware'powe firewalle osobiste to oddzielne urządzenia, działające na styku z Internetem. Pełnią
równocześnie funkcje routera […]
Firewalle software'owe
[…]
6
przepisał: Aleksander Śmierciak
Endian Firewall
Endian Firewall jest dystrybucją Linuksa, która pozwala na szybką i łatwą zamianę dowolnego
komputera w zaawansowany system zabezpieczający sieć. Cechuje się prostotą obsługi oraz dużymi
możliwościami. Endian Firewall oparty jest na produkcie IPCop.
W skład funkcjonalności realizowanych przez Endian Firewall wchodzą między innymi:
•
stanowy filtr pakietów,
•
serwery proxy konfigurowane na poziomie aplikacji dla serwisów takich jak HTTP, SMTP,
POP3, SIP, FTP
•
filtr antywirusowy (ClamAV),
•
filtr antyspamowy (SpamAssassin),
•
system wykrywania włamań (Snort),
•
tunele VPN oparte o IPSec oraz SSL (OpenVPN).
Endian Firewall (wersja community) jest rozwiązaniem typu Open Source rozprowadzany jest na
licencji GPL.
Endian Firewall – interfejs
[zrzut ekranu: interfejs graficzny oprogramowania Endian Firewall]
Endian Firewall – konfiguracja interfejsów
[zrzut ekranu: podstrona konfiguracji interfejsów]
Endian Firewall – proxy
[zrzut ekranu – podstrona konfiguracji proxy]
Endian Firewall – usługi
[zrzut ekranu: podstrona konfiugracji usług]
Wyróżniamy trzy podstawowe tryby konfiguracji firewalla.
7
przepisał: Aleksander Śmierciak
Konfiguracja z rutowaniem
[obrazek: Option 1: Routed configuration]
Najbardziej typowa konfiguracja; na każdym interfejsie firewalla mamy inną adresację IP. Taki firewall
jest jednocześnie routerem.
Konfiguracja Drop-in
[obrazek: Option 2: Drop-in configuration]
Na każdym interfejsie firewalla mamy dokładnie ten sam adres IP; firewall jest przezroczysty dla
warstwy sieciowej.
Firewall rozpoznaje podpięte urządzenia po ich adresie fizycznym (MAC).
Konfiguracja Drop-in – zalety i wady
Zalety:
•
przezroczysty dla warstwy IP
•
łatwa integracja z istniejącą infrastrukturą sieciową
•
niezastąpione rozwiązanie w przypadku niemożności zastosowania podziału na podsieci
Wady:
•
brak serwisów typu proxy
•
brak NAT
Konfiguracja Bridge – zalety i wady
Zalety:
•
przezroczysty dla warstwy IP i Ethernet
•
łatwa integracja z istniejącą infrastrukturą sieciową
Wady:
•
brak trybu Multi-WAN
•
brak obsługi VLANs (Virtual Local Area Networks)
•
brak obsługi statycznego i dynamicznego routingu
•
brak możliwości klastrowania urządzeń
•
brak możliwości tworzenia podsieci
•
brak obsługi serwera DHCP
•
brak translacji adresów NAT
8
przepisał: Aleksander Śmierciak
W tym trybie firewall nie ingeruje w nagłówki protokołów. Jest to bardzo prosty filtr pakietów
pozbawiony funkcjonalności sieciowej.
Firewall bezstanowy (stateless firewall)
Zalety:
•
szybki
•
małe wymagania sprzętowe
Wady:
•
brak definicji kierunku przesyłanego ruchu
•
brak przynależności pakietu do sesji (połączenia)
•
analiza jedynie nagłówków protokołów
Firewalle bezstanowe (już historyczne) nie potrafiły stwierdzić, czy ruch jest przychodzący, czy
wychodzący. Nie potrafiły przypisać pakietu do konkretnej sesji. Każdy pakiet był osobnym bytem,
niepowiązanym z niczym. Analiza ruchu sieciowego w tym wypadku sprowadzała się do sprawdzania
nagłówków pakietów protokołu sieciowego.
Firewall stanowy (stateful)
Zalety:
•
możliwość weryfikacji kierunku przesyłanego ruchu
•
przypisywanie pakietów do sesji (połączenia)
•
analiza kontekstowa nagłówków protokołów ( w połączeniu z informacją o kiernku przesyłania
danych)
•
możliwość oferowania dodatkowych funkcji jak proxy
Wady:
•
wolniejszy
•
większe wymagania sprzętowe
•
wymagana pamięć do przechowywania informacji o połączeniach
Firewall stanowy pozbawiony jest wad firewalla bezstanowego – potrafi weryfikować kierunek ruchu
sieciowego.
Jeśli żądanie wysłania pakietów zostało przysłane z zewnątrz, to ruch (także wysyłanie pakietów w
odpowiedzi) nazywamy wychodzącym.
Jeżeli firewall potrafi poprawnie wykryć kierunek ruchu, to potrafi również poprawnie nałożyć
ustawione reguły.
9
przepisał: Aleksander Śmierciak
Firewall stanowy – czy bezpieczny?
1. TCP Handshake
[obrazek:
dwa komputery, następuje three-way handshake:
→
SYN:
seq: 1000, ack: 0
→
←
SYN/ACK:
seq: 2000, ack: 1001
←
→
ACK:
seq: 1001, ack: 2001
→
Firewall uzna ten ruch za wychodzący (bazując na tym, które urządzenie wysłało pierwszą
wiadomość).
Firewall stanowy – czy bezpieczny?
2. TCP Simultaneous Open
[obrazek]
Firewall stanowy- czy bezpieczny?
3. TCP Split-Handshake (5 kroków)
[obrazek]
Komputer z sieci chronionej wysyła wiadomość SYN
Komputer z zewnątrz odpowiada wiadomością ACK (bez SYN). Za chwilę przesyła wiadomość SYN
(bez ACK).
Nasz komputer odpowie wiadomością SYN/ACK powtarzającą numer sekwencyjny i potwierdzi
wcześniej otrzymany numer sekwencyjny od komputera z zewnątrz.
Komputer z zewnątrz spowoduje, że komunikacja się odwróci, gdyż firewall zauważy wiadomość
SYN/ACK wysłaną przez komputer z sieci chronionej.
Firewall stanowy – czy bezpieczny?
4. Konsekwencje
Odwrócony kierunek transmisji (firewall stanowy bazuje na tym kierunku).
Przeważnie reguły dla ruchu wychodzącego są znacznie mniej restrykcyjna niż dla ruchu
przychodzącego (proxy, IDS, filtrowanie antywirusowe, inne).
Podatne na ten atak są systemy Windows, Linux, MacOS.
[…]
10