Obrona przed atakami
DDoS w Linuksie
Andrzej Nowak, Tomasz Potęga
Nie ma w pełni skutecznych
metod zapobiegania atakom
Denial of Service. Gdy strumień
wrogich pakietów dotrze do
celu, pozostaje tylko przeczekać
atak. Jedynym sposobem
zminimalizowania zagrożeń jest
zatrzymanie niechcianego ruchu
jak najbliżej miejsca, w którym
powstaje.
tak DoS (Denial of Service) to ulubiona (--verbose) spowoduje wyświetlenie statystyk
broń script-kiddies i crackerów. Polega przepływu pakietów:
Ana zalaniu serwera-ofiary taką ilością
pakietów, by ten odmówił udostępniania jed- $ iptables -L -v
nej lub wszystkich świadczonych usług. Szcze- Chain INPUT (policy ACCEPT 14M packets, 6G bytes)
gólną odmianą DoS jest technika DDoS (Distri- ...
buted Denial of Service), polegająca na prze- Chain FORWARD
prowadzeniu ataku DoS z wielu zródeł jedno- (policy ACCEPT 178M packets, 210G bytes)
cześnie. ...
Wykrycie DDoS rzadko stanowi problem. Chain OUTPUT (policy ACCEPT 12M packets, 4G bytes)
Jednak ustalenie jego typu jest niemałym wy-
zwaniem, zaś powstrzymanie dobrze prze- Zwróćmy uwagę, że otrzymane statystyki do-
prowadzonej napaści graniczy z niemożliwo- tyczą całości ruchu sieciowego. Do wykry-
ścią. Dlatego w przypadku ataków DDoS na- cia ataku DDoS potrzebne są tylko informacje
leży koncentrować się na zwalczaniu objawów,
a nie eliminowaniu zródła.
Z artykułu nauczysz się...
Jak wykryć DDoS
" jak wykrywać ataki DDoS,
Bogate możliwości filtrowania ruchu sieciowe-
" jak bronić się przed napaściami tego typu.
go daje wbudowany w jądro Linuksa firewall,
Powinieneś wiedzieć...
czyli iptables (patrz Ramka Jak działa iptables).
Stwórzmy więc na jego bazie regułę monitoru- " jak skonfigurować, skompilować i zainstalować
jądro Linuksa,
jącą i zliczającą przepływ potencjalnie niebez-
" posiadać przynajmniej podstawową wiedzę
piecznych pakietów.
o linuksowym firewallu iptables,
Zestaw działających reguł firewalla można
" czym są ataki Denial of Service.
wyświetlić za pomocą polecenia iptables -L
(--list). Użycie dodatkowego przełącznika -v
58 www.hakin9.org Hakin9 Nr 5/2004
Obrona
Obrona przed atakami DDoS
kietów. Najpierw należy dodać pu-
stą regułkę zliczającą wszystkie pa-
Jak działa iptables
kiety:
iptables to wbudowany w jądro Linuksa (od serii 2.4) firewall. Umożliwia pełną kontro-
lę nad przychodzącymi i wychodzącymi z systemu lub sieci pakietami. Jest też dosko-
nałym narzędziem do budowy maskarady NAT (Network Address Translation), umoż- $ iptables -A ddos-stats
liwiającej udostępnianie połączenia z Internetem większej liczbie komputerów.
Firewallem steruje się za pomocą reguł, czyli zestawów poleceń. Podstawowa
Następnie rozkażemy iptables, by
składnia iptables wygląda następująco:
osobno liczył pakiety ICMP:
iptables -A łańcuch [opcje] -j decyzja
$ iptables -A ddos-stats -p icmp
Przełącznik -A nakazuje firewallowi dodanie reguły do ich obowiązującego zestawu.
Aańcuch definiuje ruch sieciowy, którego dotyczy reguła. Może on przyjąć następują- Zaraz potem pakiety TCP SYN:
ce wartości:
$ iptables -A ddos-stats -p tcp --syn
" INPUT oznacza, że reguła dotyczy filtrowania pakietów przychodzących do kom-
putera, na którym działa iptables,
Charakterystyczny dla ostatnich
" OUTPUT dotyczy filtrowania ruchu wychodzącego z komputera, na którym działa
wywołań jest brak celu łańcucha
iptables,
(-j, --jump). Reguły takie nie zmie-
" FORWARD odpowiada za filtrowanie ruchu w sieci lokalnej, której udostępniamy in-
niają tego, co dzieje się z pakietem
ternet poprzez NAT. Ten łańcuch umożliwia przekierowywanie lub blokowanie pa-
kietów wychodzących z lokalnej sieci lub do niej trafiających. powodują jedynie wzrost wartości
liczników.
Pokazany w ogólnym poleceniu parametr opcje pozwala na doprecyzowanie kryteriów,
Pozostaje wpiąć nowy łańcuch
według których mają być filtrowane pakiety:
na początek istniejącego; tego, któ-
ry jest badany. W tym przypadku bę-
" -p protokół określa protokół sieciowy, którego dotyczy reguła (na przykład TCP,
dzie to łańcuch FORWARD:
UDP),
" -s adres określa adres zródłowy objętych regułą pakietów,
" --sport port [port:port] nakazuje stosowanie reguły dla pakietów o poda- $ iptables -I FORWARD -j ddos-stats
nym porcie zródłowym; umożliwia też wskazanie zakresu portów (np. --sport
6881:6889),
Teraz, by zebrać interesujące infor-
" -d adres określa filtrowanie na podstawie docelowego adresu pakietu,
macje, znowu trzeba wywołać listę
" --dport port [port:port] nakazuje stosowanie reguły dla pakietów o poda-
reguł iptables. Jednak dane zapisa-
nym docelowym porcie (portach),
ne w mega- lub gigabajtach utrud-
" -i interfejs określa filtrowanie ruchu przychodzącego do firewalla tylko na po-
niałyby analizę wyników. Dodatko-
dany interfejs; tego parametru używa się wyłącznie z łańcuchami INPUT i FOR-
wy przełącznik -x (--exact) spo-
WARD,
woduje wyświetlenie statystyk na-
" -o interfejs nakazuje filtrowanie wyłącznie pakietów wychodzących z kompu-
tężenia ruchu w bajtach (patrz Li-
tera przez podany interfejs sieciowy; ten parametr może być używany tylko z łań-
sting 1).
cuchem OUTPUT.
Wyciągnięcie wniosków z wy-
Ostatni argument -j instruuje firewall, jakie działanie ma wykonać na zdefiniowanych
świetlanych w ten sposób staty-
wcześniej pakietach. Argument ten najczęściej występuje z parametrami ACCEPT i DROP.
styk może sprawić pewien kłopot
Jak można się domyślić, parametr ACCEPT przepuszcza zdefiniowany pakiet, zaś DROP
wymaga samodzielnego obli-
odrzuca.
czenia proporcji podejrzanych pa-
Jak to wygląda w praktyce? Załóżmy, że chcemy zablokować wszystkie połącze-
kietów w stosunku do całości ru-
nia komputera o adresie 123.45.78.90 z komputerem, na którym działa iptables:
chu sieciowego. Utrudniłoby to cią-
iptables -A INPUT -p tcp -s 123.45.78.90 -j DROP głe monitorowanie zagrożenia ata-
kiem DDoS.
Taką regułę najlepiej czytać od końca, czyli: odrzucamy wszystkie połączenia z adre-
Kontrolę można jednak zautoma-
su 123.45.78.90, używające protokołu TCP i przeznaczone dla komputera, na którym
tyzować za pomocą prostego skryp-
działa iptables.
tu. Przykładowe narzędzie zapre-
Linuksowy firewall ma ogromne możliwości i brak tu miejsca, by je opisać. Więcej
zentowano na Listingu 2 (można je
szczegółów można znalezć w artykule Bezpieczna sieć zapora ogniowa dla każde-
też znalezć na naszym CD). Wywoła
go, zamieszczonym na naszym CD.
ono alarm, gdy stosunek badanych
pakietów do całości osiągnie nie-
o dwóch rodzajach pakietów ICMP $ iptables -N ddos-stats bezpieczny poziom (w tym wypad-
i TCP SYN. W tym celu trzeba zało- ku 30 proc.). Warto umieścić skrypt
żyć nowy łańcuch, na przykład o na- W nim właśnie znajdować się będą w crontabie, aby regularnie kontrolo-
zwie ddos-stats: liczniki odpowiednich rodzajów pa- wał ilość niebezpiecznych danych.
2004 Hakin9 Nr 5/2004 www.hakin9.org
59
Wyszukiwarka
Podobne podstrony:
hakin9 5 04 atak jabber?mohakin9 6 04 przechowywanie?nych?moObrona Kreona1 Obrona cywilna A Skrabacz PSPOBRONA SOKRATESAhakin9 6 04 testy penetracyjne?moPlaton Obrona SokratesaObrona cywilna gminne centrum reagowaniahakin9 6 04 wykrywanie sniffingu?mowięcej podobnych podstron