Bezpieczeństwo sieci w Linuksie. Wykrywanie ataków i obrona przed nimi za pomocą iptables, psad i fwsnort
Wykrywanie i zwalczanie ataków sieciowych dla zaawansowanych
-
Jak wykrywać ataki i bronić sieci na różnych warstwach sieciowych?
-
Jak wykorzystać logi do automatycznego tworzenia reguł iptables?
-
Jak zabezpieczyć serwer przy użyciu metod pasywnej autoryzacji?
Każdy administrator sieci wie, jak ważna jest jej ochrona przed atakami z zewnątrz. Wie również, że jest to nieustająca walka z coraz bardziej zaawansowanymi technikami.
Raz postawiony firewall nie jest w stanie zapewnić sieci całkowitego bezpieczeństwa w nieskończoność, dlatego ciągłe poszerzanie swojej wiedzy i umiejętne jej zastosowanie jest nieodłączną częścią pracy administratorów. Jeśli jesteś odpowiedzialny za utrzymanie bezpieczeństwa sieci, książka ta jest dla Ciebie. Stanowi źródło wiedzy z zakresu wykorzystania oprogramowania open source i systemu Linux w walce o bezpieczeństwo sieci.
Michael Rash, autor wielu publikacji i książek, jest ekspertem w dziedzinie ochrony sieci. W książce Bezpieczeństwo sieci w Linuksie. Wykrywanie ataków i obrona przed nimi za pomocą iptables, psad i fwsnort przedstawia sposób łączenia metod zabezpieczeń w systemie Linux przy użyciu iptables, Snort oraz psad, fwsnort i fwknop, których sam jest twórcą. Na praktycznych przykładach udowadnia skuteczność zastosowanych technologii, które są porównywalne z komercyjnymi, i pokazuje sposoby ich wykorzystywania. Dołączone do książki skrypty umożliwiają przetestowanie omawianych technologii w praktyce.
-
Konfiguracja iptables
-
Atak i obrona w warstwach modelu OSI
-
Instalacja i konfiguracja psad
-
Integracja psad z oprogramowaniem zewnętrznym
-
Konfiguracja systemu wykrywania włamań Snort
-
Przetwarzanie sygnatur Snort na reguły iptables
-
Automatyzacja przetwarzania sygnatur poprzez fwsnort
-
Analiza i raporty psad
-
Instalacja i konfiguracja fwknop
-
Wizualizacja logów iptables
Poznaj niekomercyjne metody skutecznej ochrony sieci!
SPIS TREŚCI:
Podziękowania (13)
Przedmowa (15)
Wprowadzenie (19)
-
Dlaczego wykrywać ataki przy pomocy iptables? (20)
-
Co z dedykowanymi sieciowymi systemami wykrywania włamań? (21)
-
Głęboka obrona (22)
-
Wymagania (22)
-
Literatura (23)
-
Strona internetowa (24)
-
Podsumowanie rozdziałów (24)
1. Konfigurowanie iptables (27)
-
iptables (27)
-
Filtrowanie pakietów z iptables (28)
-
Tabele (29)
-
Łańcuchy (29)
-
Dopasowania (30)
-
Cele (30)
-
Instalacja iptables (31)
-
Konfiguracja jądra (32)
-
Najważniejsze opcje kompilacji Netfilter (33)
-
Kończenie konfiguracji jądra (35)
-
Ładowalne moduły jądra kontra opcje wkompilowane i bezpieczeństwo (35)
-
Bezpieczeństwo i minimalna kompilacja (36)
-
Kompilacja i instalacja jądra (37)
-
Instalacja binariów iptables działających w przestrzeni użytkownika (38)
-
Domyślna polityka bezpieczeństwa iptables (39)
-
Wymagania polityki bezpieczeństwa (39)
-
Początek skryptu iptables.sh (41)
-
Łańcuch INPUT (42)
-
Łańcuch OUTPUT (44)
-
Łańcuch FORWARD (45)
-
Translacja adresów sieciowych (NAT) (46)
-
Uaktywnianie polityki bezpieczeństwa (47)
-
Programy iptables-save i iptables-restore (47)
-
Testowanie polityki bezpieczeństwa: TCP (50)
-
Testowanie polityki bezpieczeństwa: UDP (52)
-
Testowanie polityki bezpieczeństwa: ICMP (53)
-
Podsumowanie (54)
2. Atak i obrona w warstwie sieciowej (55)
-
Logowanie nagłówków warstwy sieci w iptables (56)
-
Logowanie nagłówka IP (56)
-
Definicje ataków na warstwę sieci (59)
-
Nadużycia w warstwie sieci (60)
-
ICMP Ping z Nmap (60)
-
Fałszowanie pakietów IP (IP spoofing) (61)
-
Fragmentacja pakietów IP (63)
-
Niskie wartości TTL (63)
-
Atak smerfów (the Smurf Attack) (65)
-
Ataki DDoS (65)
-
Ataki IGMP jądra Linuksa (66)
-
Odpowiedzi w warstwie sieci (66)
-
Filtrowanie w warstwie sieci (67)
-
Odpowiedź wyzwalana w warstwie sieci (67)
-
Łączenie odpowiedzi w różnych warstwach (68)
3. Obrona i atak w warstwie transportowej (71)
-
Logowanie nagłówków warstwy transportowej za pomocą iptables (72)
-
Logowanie nagłówka TCP (72)
-
Logowanie nagłówka UDP (74)
-
Definicje ataków na warstwę transportową (75)
-
Nadużycia w warstwie transportowej (75)
-
Skanowanie portów (76)
-
Przemiatanie portów (84)
-
Ataki przewidujące sekwencję TCP (85)
-
SYN flood (85)
-
Obrona w warstwie transportowej (86)
-
Obrona protokołu TCP (86)
-
Obrona protokołu UDP (90)
-
Reguły firewalla i listy kontrolne routera (91)
4. Atak i obrona w warstwie aplikacji (93)
-
Dopasowanie ciągów znaków w warstwie aplikacji przy użyciu iptables (94)
-
Obserwowanie rozszerzenia porównującego ciągi znaków w działaniu (94)
-
Dopasowywanie znaków niedrukowalnych w warstwie aplikacji (96)
-
Definicje ataków w warstwie aplikacji (97)
-
Nadużycia w warstwie aplikacji (98)
-
Sygnatury Snort (98)
-
Wykorzystanie przepełnienia bufora (99)
-
Ataki typu SQL injection (101)
-
Czynnik ludzki (102)
-
Szyfrowanie i kodowanie danych w aplikacji (105)
-
Obrona w warstwie aplikacji (106)
5. Wprowadzenie do psad (107)
-
Historia (107)
-
Po co analizować logi firewalla? (108)
-
Możliwości psad (109)
-
Instalacja psad (109)
-
Administracja psad (111)
-
Uruchamianie i zatrzymywanie psad (112)
-
Unikalność procesu usługi (112)
-
Konfiguracja polityki bezpieczeństwa iptables (112)
-
Konfiguracja syslog (113)
-
Klient usługi whois (116)
-
Konfiguracja psad (117)
-
/etc/psad/psad.conf (117)
-
/etc/psad/auto_dl (123)
-
/etc/psad/signatures (124)
-
/etc/psad/snort_rule_dl (124)
-
/etc/psad/ip_options (125)
-
/etc/psad/pf.os (125)
-
Podsumowanie (126)
6. Działanie psad: wykrywanie podejrzanych danych (127)
-
Wykrywanie skanowania portów przy pomocy psad (128)
-
Skanowanie TCP connect() (129)
-
Skanowanie TCP SYN (132)
-
Skanowanie TCP FIN, XMAS i NULL (134)
-
Skanowanie UDP (135)
-
Ostrzeganie i raportowanie przy pomocy psad (137)
-
Ostrzeżenia psad wysyłane przez email (137)
-
Raporty generowane przez psad do sysloga (140)
-
Podsumowanie (141)
7. Zaawansowane zagadnienia psad: od porównywania sygnatur do wykrywania systemów operacyjnych (143)
-
Wykrywanie ataku z wykorzystaniem reguł Snort (144)
-
Wykrywanie skanera portów ipEye (145)
-
Wykrywanie ataku LAND (146)
-
Wykrywanie ruchu na 0 porcie TCP (147)
-
Wykrywanie pakietów z zerową wartością TTL (147)
-
Wykrywanie ataku Naptha DoS (148)
-
Wykrywanie prób rutowania źródła (148)
-
Wykrywanie spamu komunikatora Windows Messenger (149)
-
Uaktualnienia sygnatur psad (150)
-
Wykrywanie systemów operacyjnych (151)
-
Aktywne wykrywanie systemów operacyjnych za pomocą Nmap (151)
-
Pasywne wykrywanie systemu operacyjnego z p0f (152)
-
Raportowanie DShield (154)
-
Format raportów DShield (155)
-
Przykładowy raport DShield (155)
-
Przeglądanie danych o statusie psad (156)
-
Analizowanie archiwalnych logów (159)
-
Tryb informacyjny/śledzenia (160)
-
Podsumowanie (161)
8. Automatyczna obrona za pomocą psad (163)
-
Zapobieganie włamaniom a aktywna obrona (163)
-
Minusy aktywnej obrony (165)
-
Rodzaje ataków (165)
-
Fałszywe alarmy (166)
-
Reagowanie za pomocą psad na atak (166)
-
Opcje (167)
-
Zmienne konfiguracyjne (168)
-
Przykłady automatycznej obrony (170)
-
Konfiguracja automatycznej obrony (170)
-
Reakcja na skanowanie typu SYN (171)
-
Reakcja na skanowanie UDP (173)
-
Sprawdzanie wersji oprogramowania za pomocą Nmap (174)
-
Reakcja na skanowanie typu FIN (174)
-
Złośliwe fałszowanie skanowania (175)
-
Integrowanie automatycznych odpowiedzi psad z innymi narzędziami (176)
-
Interfejs wiersza poleceń (176)
-
Integracja ze Swatch (178)
-
Integracja z własnymi skryptami (179)
-
Podsumowanie (181)
9. Tłumaczenie reguł Snort na reguły iptables (183)
-
Dlaczego warto używać fwsnort? (184)
-
Dogłębna obrona (185)
-
Wykrywanie włamań zorientowane na cel i defragmentacja warstwy sieci (185)
-
Małe wymagania (186)
-
Bezpośrednie odpowiedzi (186)
-
Przykłady przetłumaczonych sygnatur (187)
-
Sygnatura Nmap command attempt (187)
-
Sygnatura Bancos Trojan z Bleeding Snort (188)
-
Sygnatura próby połączenia PGPNet (189)
-
Interpretacja reguł Snort przez fwsnort (190)
-
Tłumaczenie nagłówka reguły Snort (190)
-
Tłumaczenie opcji reguł Snort: logowanie pakietów w iptables (192)
-
Opcje Snort i filtrowanie pakietów w iptables (195)
-
Niewspierane opcje reguł Snort (207)
-
Podsumowanie (209)
10. Uruchomienie fwsnort (211)
-
Instalacja fwsnort (211)
-
Uruchomienie fwsnort (214)
-
Plik konfiguracyjny fwsnort (215)
-
Budowa skryptu fwsnort.sh (217)
-
Parametry fwsnort (221)
-
Obserwowanie fwsnort w działaniu (222)
-
Wykrywanie Trin00 (223)
-
Wykrywanie ruchu sieciowego związanego z wykonywaniem kodów powłoki systemu Linux (224)
-
Wykrywanie i obrona przed trojanem Dumador (225)
-
Wykrywanie i reagowanie na atak fałszujący pamięć podręczną DNS (227)
-
Tworzenie białych i czarnych list (230)
-
Podsumowanie (231)
11. Połączenie psad i fwsnort (233)
-
Łączenie wykrywania fwsnort i działań psad (234)
-
Atak na Setup.php z WEB-PHP (234)
-
Aktywna obrona (238)
-
psad kontra fwsnort (238)
-
Ograniczanie działań psad wobec ataków wykrytych przez fwsnort (239)
-
Łączenie działań fwsnort i psad (240)
-
Cele DROP i REJECT (242)
-
Uniemożliwianie uaktualnień Metasploit (245)
-
Uaktualnienia Metasploit (245)
-
Tworzenie sygnatury (248)
-
Zatrzymywanie uaktualnień Metasploit za pomocą fwsnort i psad (249)
-
Podsumowanie (253)
12. Port knocking a autoryzacja pojedynczym pakietem (255)
-
Redukcja możliwości ataku (256)
-
Problem ataków 0-Day (256)
-
Odkrywanie ataków typu 0-Day (257)
-
Wpływ na systemy wykrywania włamań wykorzystujące sygnatury (258)
-
Dogłębna obrona (259)
-
Wywołania portów (port knocking) (259)
-
Uniemożliwienie wyszukiwania celów za pomocą Nmap (261)
-
Jawne sekwencje wywołań portów (261)
-
Zaszyfrowane sekwencje wywołań portów (263)
-
Ograniczenia architektury techniki wywołań portów (266)
-
Autoryzacja pojedynczym pakietem (269)
-
Przekraczanie ograniczeń wywołań portów (270)
-
Ograniczenia architektoniczne SPA (271)
-
Zabezpieczanie przez utajnianie? (272)
-
Podsumowanie (274)
13. Wprowadzenie fwknop (275)
-
Instalacja fwknop (276)
-
Konfiguracja fwknop (278)
-
/etc/fwknop/fwknop.conf (278)
-
/etc/fwknop/access.conf (282)
-
Przykładowy plik /etc/fwknop/access.conf (285)
-
Format pakietu SPA fwknop (286)
-
Uruchomienie fwknop (289)
-
SPA i szyfrowanie symetryczne (289)
-
SPA i szyfrowanie asymetryczne (292)
-
Wykrywanie i powstrzymywanie ataku odtwarzającego pakiety (296)
-
Fałszowanie adresu źródłowego pakietu SPA (298)
-
Integracja OpenSSH z fwknop (299)
-
SPA przez Tor (300)
-
Podsumowanie (302)
14. Wizualizacja logów iptables (303)
-
Dostrzec nietypowe (304)
-
Gnuplot (306)
-
Rysowanie wykresów w Gnuplot (307)
-
Łączenie psad i Gnuplot (308)
-
AfterGlow (309)
-
Wizualizacje ataków iptables (310)
-
Skanowania portów (310)
-
Przemiatanie portów (314)
-
Robak Slammer (318)
-
Robak Nachi (319)
-
Połączenia wychodzące z zaatakowanych systemów (321)
-
Podsumowanie (323)
A: Fałszowanie ataku (325)
B: Skrypt fwsnort (331)
Skorowidz (337)