Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00721 009499 11026005 na godz. na dobę w sumie
Sieci komputerowe. Kompendium - książka
Sieci komputerowe. Kompendium - książka
Autor: Liczba stron: 448
Wydawca: Helion Język publikacji: polski
ISBN: 83-7197-942-8 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> sieci komputerowe >> budowa sieci
Porównaj ceny (książka, ebook, audiobook).
Praktyczna wiedza niezbędna każdemu administratorowi Często zdarza się, że administrator sieci rozpoczynając swoją pierwszą pracę nie jest do niej przygotowany. Jego wiedza jest fragmentaryczna i bardzo teoretyczna, a zetknięcie z rzeczywistymi potrzebami okazuje się dużym zaskoczeniem. Musi szybko uzupełnić braki w swoich wiadomościach, uporządkować je i zdobyć narzędzia do rozwiązywania napotkanych problemów.

Książka, którą trzymasz w ręku, zawiera informacje, które umożliwią Ci szybkie przygotowanie się do pełnienia obowiązków administratora sieci. To źródło informacji, do którego zawsze będziesz mógł wrócić, aby przypomnieć sobie zasadę działania i właściwości charakterystyczne dla wprowadzanej w twojej sieci technologii. Nie jest bowiem prawdą, że administrator sieci musi znać na pamięć całe tomy parametrów sieciowych, możliwe sposoby konfiguracji. Musi mieć źródło, w którym znajdzie potrzebne informacje. Takim źródłem stanie się dla Ciebie ta książka, opisująca m.in.:

W książce omówiono zarówno tradycyjne i sprawdzone protokoły używane w wielu sieciach komputerowych, jak i najnowsze standardy, których znajomość staje się coraz bardziej niezbędna. Szeroki zakres poruszanych tematów sprawia, że jest to pozycja, która powinna znaleźć się na półce każdego administratora sieci. Będziesz do niej często wracał -- to pewne.
Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK TWÓJ KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOĎCIACH O NOWOĎCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Sieci komputerowe. Kompendium Autor: Karol Krysiak ISBN: 83-7197-942-8 Format: B5, stron: oko³o 448 • Omówienie teoretycznych podstaw sieci komputerowych • Szczegó³owy opis dzia³ania sieci opartych na TCP/IP i innych protoko³ach • Najnowsze technologie: sieci bezprzewodowe, protokó³ IPv6 • Praktyczne wskazówki dotycz¹ce zabezpieczania sieci • Omówienie wszystkich popularnych us³ug sieciowych: od HTTP do SNMP Czêsto zdarza siê, ¿e administrator sieci rozpoczynaj¹c swoj¹ pierwsz¹ pracê nie jest do niej przygotowany. Jego wiedza jest fragmentaryczna i bardzo teoretyczna, a zetkniêcie z rzeczywistymi potrzebami okazuje siê du¿ym zaskoczeniem. Musi szybko uzupe³niæ braki w swoich wiadomoġciach, uporz¹dkowaæ je i zdobyæ narzêdzia do rozwi¹zywania napotkanych problemów. Ksi¹¿ka, któr¹ trzymasz w rêku, zawiera informacje, które umo¿liwi¹ Ci szybkie przygotowanie siê do pe³nienia obowi¹zków administratora sieci. To ĥród³o informacji, do którego zawsze bêdziesz móg³ wróciæ, aby przypomnieæ sobie zasadê dzia³ania i w³aġciwoġci charakterystyczne dla wprowadzanej w twojej sieci technologii. Nie jest bowiem prawd¹, ¿e administrator sieci musi znaæ na pamiêæ ca³e tomy parametrów sieciowych, mo¿liwe sposoby konfiguracji. Musi mieæ ĥród³o, w którym znajdzie potrzebne informacje. Takim ĥród³em stanie siê dla Ciebie ta ksi¹¿ka, opisuj¹ca m.in.: • Podstawowe narzêdzia administratora sieci • Topologie i modele budowy sieci • Najwa¿niejsze technologie stosowane przy budowie sieci • Sieci ġwiat³owodowe i bezprzewodowe • Standard Ethernet • Protoko³y warstwy internetowej, adresowanie i routing, IPv6 • Us³ugi warstwy aplikacji: DNS, SMTP, POP, IMAP, FTP, HTTP, SSL, Telnet, SSH i inne • Protoko³y Token Ring, FDDI, IPX, ISDN, PPP, xDSL, Frame Relay, ATM, sieci oparte na telewizji kablowej • Zagadnienia zwi¹zane z administracj¹ sieciami LAN • Sposoby zabezpieczania sieci komputerowych, konfiguracjê zapór sieciowych i postêpowanie w razie wykrycia w³amania Spis treści Wstęp ...................................................z.......................................... 11 Rozdział 1. Sieci komputerowe ...................................................z....................... 23 1.1. Podział sieci komputerowych w zależności od rozmiaru.......................................23 1.2. Topologie sieci komputerowych ...................................................ł.....................24 Topologia sieci...................................................ł..............................................24 Topologia fizyczna ...................................................ł........................................24 Topologia logiczna ...................................................ł........................................25 1.3. Model ISO/OSI...................................................ł.............................................26 1.4. Model protokołu TCP/IP...................................................ł................................28 Rozdział 2. Warstwa dostępu do sieci — rodzaje nośników................................. 33 2.1. Najważniejsze technologie ...................................................ł.............................33 2.2. Przewód koncentryczny...................................................ł.................................35 Zastosowania sieci 10Base-2...................................................ł..........................38 2.3. Skrętka UTP...................................................ł.................................................39 Wymagania dla instalacji spełniającej założenia CAT-5...........................................44 2.4. Światłowód...................................................ł...................................................ł45 Budowa światłowodu...................................................ł.....................................45 Zasada działania światłowodu ...................................................ł........................46 Światłowód wielomodowy ...................................................ł.............................46 Światłowód jednomodowy...................................................ł.............................47 Złącza światłowodowe...................................................ł...................................47 Standardy transmisji światłowodowych...................................................ł...........49 2.5. Sieci bezprzewodowe. Wireless LAN — standard 802.11 ..........................................49 Rozdział 3. Warstwa dostępu do sieci — standard Ethernet................................ 59 3.1. Historia ...................................................ł...................................................ł.....59 3.2. Działanie protokołu ...................................................ł.......................................59 Metody transmisji...................................................ł..........................................59 Norma IEEE 802.3...................................................ł........................................60 Wydajność sieci Ethernet 10 Mb/s ...................................................ł..................63 3.3. Budowa ramki Ethernet ...................................................ł.................................64 Protokół LLC ...................................................ł...............................................66 3.4. Zasady konstruowania sieci Ethernet...................................................ł...............68 Reguły dla Ethernetu (10 Mb/s)...................................................ł......................68 Reguły dla Fast Ethernetu (100 Mb/s)...................................................ł.............72 Reguły dla Gigabit Ethernetu (1 000 Mb/s) ...................................................ł.....73 6 Sieci komputerowe. Kompendium 3.5. Technologie ...................................................ł..................................................73 Full-duplex ...................................................ł...................................................ł73 MAC Control...................................................ł................................................74 Automatyczne negocjowanie parametrów łącza...................................................ł75 1000Base-T...................................................ł..................................................76 VLAN...................................................ł...................................................ł.......76 Sygnały i kodowanie ...................................................ł.....................................80 3.6. Protokół ARP — protokół określania adresów...................................................ł..82 Proxy-ARP...................................................ł...................................................ł83 Reverse-ARP...................................................ł................................................83 Zapobieganie zdublowaniu adresów IP ...................................................ł...........84 Pakiet protokołu ARP...................................................ł....................................84 Polecenia do manipulacji tablicą ARP...................................................ł.............86 3.7. Urządzenia sieciowe działające w warstwie dostępu do sieci ................................88 Karta sieciowa ...................................................ł..............................................88 Modem ...................................................ł...................................................ł.....89 Transceiver...................................................ł...................................................ł89 Konwerter nośników ...................................................ł.....................................90 Regenerator (repeater) ...................................................ł...................................90 Koncentrator (hub)...................................................ł........................................90 Most (bridge)...................................................ł................................................94 Przełącznik (switch) ...................................................ł......................................95 Rozdział 4. Warstwa Internetu ...................................................z........................ 99 4.1. Protokół IP ...................................................ł...................................................ł99 Zadania spełniane przez protokół IP...................................................ł..............100 Cechy protokołu IP ...................................................ł.....................................100 Budowa datagramu IP ...................................................ł.................................100 4.2. Adresowanie IP...................................................ł...........................................103 Klasy adresów w TCP/IP...................................................ł.............................107 Bezklasowe routowanie międzydomenowe (CIDR)........................................... 107 Adresy specjalne i klasy nieroutowalne ...................................................ł.........112 Nadawanie adresów IP interfejsowi sieciowemu ...............................................113 4.3. Routowanie datagramów IP...................................................ł..........................117 Tablica routingu ...................................................ł..........................................120 Polecenia służące do manipulacji tablicą routingu .............................................122 Routing źródłowy...................................................ł........................................124 4.4. Protokół ICMP...................................................ł............................................126 Zadania protokołu ICMP ...................................................ł.............................126 Format nagłówka ICMP...................................................ł...............................127 Pola Typ i Kod komunikatu ICMP ...................................................ł...............128 Polecenia wykorzystujące protokół ICMP ...................................................ł.....131 4.5. IPv6 — wersja szósta protokołu IP ...................................................ł...............134 Nagłówek IPv6 ...................................................ł...........................................135 Adres IPv6 ...................................................ł.................................................136 4.6. Urządzenia pracujące w warstwie Internetu ...................................................ł...137 Router...................................................ł...................................................ł.....137 Rozdział 5. Warstwa transportowa ...................................................z................ 139 5.1. Port, gniazdo...................................................ł...............................................139 5.2. Protokół UDP ...................................................ł.............................................141 5.3. Protokół TCP...................................................ł..............................................142 tcpdump...................................................ł...................................................ł..145 netstat ...................................................ł...................................................ł.....150 Spis treści 7 Rozdział 6. Usługi warstwy aplikacji.............................z.................................... 155 6.1. DNS..................................................ł...................................................ł.........155 Rejestrowanie własnej domeny...................................................ł.....................158 Ogólne informacje o serwerach DNS ...................................................ł............159 Jak to w rzeczywistości działa?...................................................ł.....................160 Konfiguracja hosta ...................................................ł......................................162 Rekordy zasobów...................................................ł........................................165 Serwery DNS ...................................................ł.............................................167 Konfiguracja serwera BIND...................................................ł.........................167 Sterowanie demonem named...................................................ł........................175 Kwestie bezpieczeństwa...................................................ł...............................179 Format komunikatu DNS...................................................ł.............................182 Programy użytkowe — diagnostyka ...................................................ł..............184 6.2. SMTP ...................................................ł...................................................ł.....192 Serwery SMTP ...................................................ł...........................................193 Sprawdzanie działania serwera ...................................................ł.....................195 Protokół MIME ...................................................ł..........................................201 Bezpieczeństwo ...................................................ł..........................................203 6.3. POP...................................................ł...................................................ł........204 Sprawdzanie działania serwera ...................................................ł.....................205 Serwery POP...................................................ł..............................................206 6.4. IMAP...................................................ł...................................................ł......207 Sprawdzanie działania serwera ...................................................ł.....................207 Serwery IMAP...................................................ł............................................209 6.5. FTP ...................................................ł...................................................ł........210 Tryby pracy FTP...................................................ł.........................................210 Komunikacja z serwerem...................................................ł.............................212 Obsługa programu ftp...................................................ł..................................214 Serwery...................................................ł...................................................ł...215 Bezpieczeństwo ...................................................ł..........................................216 6.6. HTTP...................................................ł...................................................ł......217 Protokół HTTP...................................................ł...........................................217 Sprawdzanie działania serwera HTTP...................................................ł...........218 Serwery...................................................ł...................................................ł...219 Bezpieczeństwo ...................................................ł..........................................221 6.7. SSL ...................................................ł...................................................ł........222 Certyfikaty ...................................................ł.................................................223 Uproszczona zasada działania SSL ...................................................ł...............223 Długość klucza...................................................ł............................................224 Wykorzystanie pakietu stunnel ...................................................ł.....................224 6.8. Telnet...................................................ł...................................................ł......225 6.9. SSH ...................................................ł...................................................ł........225 6.10. Finger...................................................ł...................................................ł....227 6.11. Auth...................................................ł...................................................ł......227 6.12. NNTP ...................................................ł...................................................ł...228 6.13. SNMP...................................................ł...................................................ł...228 Różnice pomiędzy wersjami SNMP...................................................ł..............231 Bezpieczeństwo ...................................................ł..........................................231 6.14. IRC ...................................................ł...................................................ł.......232 6.15. Whois...................................................ł...................................................ł....232 6.16. NTP...................................................ł...................................................ł......235 6.17. Syslog ...................................................ł...................................................ł...237 8 Sieci komputerowe. Kompendium Rozdział 7. 6.18. Bootps, DHCP ...................................................ł..........................................238 Nagłówek DHCP ...................................................ł........................................239 Proces uzyskiwania konfiguracji...................................................ł...................241 Konfiguracja klientów DHCP...................................................ł.......................242 Serwery DHCP...................................................ł...........................................244 6.19. NetBIOS..................................................ł...................................................ł.248 Wyszukiwanie nazw NetBIOS ...................................................ł.....................250 Optymalizacja...................................................ł.............................................251 Bezpieczeństwo ...................................................ł..........................................252 6.20. Urządzenia sieciowe pracujące w warstwie aplikacji ........................................252 Komputer...................................................ł...................................................ł252 Serwer ...................................................ł...................................................ł....253 Inne protokoły ...................................................z............................ 255 7.1. Token Ring ...................................................ł.................................................255 7.2. FDDI ...................................................ł...................................................ł......256 7.3. IPX/SPX ...................................................ł...................................................ł.258 Budowa pakietu IPX ...................................................ł...................................259 Adresy IPX ...................................................ł................................................261 Protokoły używane w IPX ...................................................ł...........................261 7.4. ISDN ...................................................ł...................................................ł......262 7.5. PPP...................................................ł...................................................ł.........265 Ramka PPP ...................................................ł................................................266 Dodatkowe możliwości PPP ...................................................ł........................267 Konfiguracja PPP w Linuksie ...................................................ł.......................267 7.6. xDSL ...................................................ł...................................................ł......273 ADSL ...................................................ł...................................................ł.....274 RADSL...................................................ł...................................................ł...275 SDSL...................................................ł...................................................ł......275 HDSL ...................................................ł...................................................ł.....276 VDSL ...................................................ł...................................................ł.....276 7.7. Frame Relay ...................................................ł...............................................276 Opis technologii Frame Relay...................................................ł.......................276 Zasada działania FR ...................................................ł....................................277 Format ramki Frame Relay...................................................ł...........................279 Mechanizmy sieci FR ...................................................ł..................................279 Parametry transmisji FR...................................................ł...............................282 7.8. ATM...................................................ł...................................................ł.......283 Właściwości standardu ATM ...................................................ł.......................283 Interfejsy ATM...................................................ł...........................................284 Rodzaje połączeń w sieciach ATM ...................................................ł...............284 Komórka ATM ...................................................ł...........................................285 Usługi ATM ...................................................ł...............................................286 Model ATM ...................................................ł...............................................287 Klasy ruchu ...................................................ł................................................288 Trasowanie ATM...................................................ł........................................290 Dodatkowe możliwości sieci ATM ...................................................ł............... 290 7.9. Sieci w gniazdku zasilającym — PLC ...................................................ł..............291 Topologia sieci PLC...................................................ł....................................291 Standardy PLC ...................................................ł...........................................292 Wady PLC ...................................................ł.................................................293 7.10. Sieci telewizji kablowych ...................................................ł...........................294 Standard MCSN/DOCSIS...................................................ł............................294 Spis treści 9 Rozdział 8. Administracja siecią LAN ...................................................z............ 297 8.1. Projektowanie sieci LAN...................................................ł..............................298 Struktura fizyczna sieci...................................................ł................................298 Struktura logiczna sieci...................................................ł................................301 8.2. Rozwiązywanie problemów...................................................ł..........................303 Poważna awaria ...................................................ł..........................................303 Użytkownik...................................................ł................................................304 Rady ...................................................ł...................................................ł.......304 Problemy...................................................ł...................................................ł.306 8.3. Narzędzia administratora sieci ...................................................ł......................308 Sniffery...................................................ł...................................................ł...310 Analizatory sieci ...................................................ł.........................................315 SNMP...................................................ł...................................................ł.....322 Inne ...................................................ł...................................................ł........322 Testowanie dostępności usług...................................................ł.......................324 Skanery bezpieczeństwa ...................................................ł..............................325 Inne narzędzia...................................................ł.............................................331 8.4. Wykorzystanie protokołu SNMP ...................................................ł..................331 Konfiguracja agenta snmpd...................................................ł..........................332 Konfiguracja menedżera MRTG...................................................ł...................333 8.5. Zarządzalne urządzenia aktywne...................................................ł...................336 Rozdział 9. Bezpieczeństwo ...................................................z.......................... 341 9.1. Polityka bezpieczeństwa...................................................ł...............................342 9.2. Najważniejsze pojęcia...................................................ł..................................345 9.3. Konstrukcja sieci ...................................................ł.........................................357 9.4. Rozpoznanie terenu ...................................................ł.....................................363 Zbieranie danych...................................................ł.........................................363 Skanowanie ...................................................ł................................................365 Metody ukrywania skanowania...................................................ł.....................369 Identyfikacja systemu operacyjnego...................................................ł..............372 9.5. Metody włamań ...................................................ł..........................................377 Uzyskanie dostępu ...................................................ł......................................378 Destabilizacja pracy ...................................................ł....................................386 9.6. Zagrożenia wewnętrzne...................................................ł................................390 Wykrywanie snifferów...................................................ł.................................391 Sposoby omijania przełączników ...................................................ł..................392 Zasoby...................................................ł...................................................ł....395 9.7. Podsumowanie...................................................ł............................................396 Zachowanie podczas włamania...................................................ł.....................396 Rozdział 10. Firewall ...................................................z...................................... 399 10.1. Rodzaje firewalli ...................................................ł.......................................399 Tradycyjne proxy (Traditional proxies) ...................................................ł.........399 Przezroczyste proxy (Transparent proxies)...................................................ł.....400 Tłumaczenie adresów IP (NAT) ...................................................ł...................400 Filtrowanie pakietów ...................................................ł...................................400 10.2. Obsługa filtrowania pakietów w Linuksie...................................................ł.....401 Ipchains — Linux 2.2...................................................ł..................................402 Składnia polecenia ipchains...................................................ł..........................403 Iptables — Linux 2.4...................................................ł...................................405 10.3. Tworzymy firewall ...................................................ł....................................407 Podstawy ...................................................ł...................................................ł408 Konfiguracja...................................................ł...............................................409 10 Sieci komputerowe. Kompendium Logi systemowe ...................................................ł..........................................416 Problemy z działaniem firewalla ...................................................ł...................416 Wyłączanie firewalla ...................................................ł...................................416 10.4. Dodatkowe funkcje...................................................ł....................................417 Ograniczenia na ICMP ...................................................ł................................417 Jak przepuścić nową usługę na przykładzie Direct Connect................................419 Ustawianie priorytetów pakietów...................................................ł..................419 Wykrywanie skanowania za pomocą firewalla ..................................................421 Wykrywanie NAT...................................................ł.......................................422 Skorowidz...................................................z................................... 425 Rozdział 10. Firewall W tym rozdziale zajmę się sposobami kompleksowego zabezpieczenia sieci komputero- wej za pomocą techniki filtrowania datagramów (firewall) oraz tłumaczenia adresów sieciowych NAT (Network Address Translation). Nie przedstawię tutaj gotowego rozwią- zania, ale postaram się, abyś zrozumiał, w jaki sposób możesz stworzyć coś takiego dla swojej sieci. Uważam, że absurdem jest ściągnięcie z sieci gotowego skryptu i urucho- mienie go. Musisz rozumieć, co robi twój firewall i jak działa — lepiej, aby był prosty, ale żebyś rozumiał dokładnie jego działanie. Każdy firewall jest inny, tak jak każda sieć jest inaczej zbudowana i różne są charaktery i poziomy wiedzy ich administratorów. Twój firewall rozwija się wraz z tobą, wraz ze zwiększaniem się twojej wiedzy o zagrożeniach i metodach przeciwdziałania im. Zmienia się też wraz z wykrywaniem coraz nowszych zagrożeń. Jest to żywy organizm stanowiący pierwszą linię ochrony dla twojej sieci, poświęć więc mu trochę czasu i za- angażowania. 10.1. Rodzaje firewalli Poniżej przedstawię bardziej dokładny podział firewalli niż podany w rozdziale 9. Opi- szę również ich cechy, na podstawie których jako administrator sieci będziesz wybierał odpowiedni rodzaj do potrzebnego ci zastosowania. Oczywiście dobór konkretnego fire- walla z dostępnych na rynku pozostawiam już tobie, zwłaszcza że tryb wydawania książki jest długi, a zmiany możliwości produktów dostępnych na rynku następują bardzo szybko. Tradycyjne proxy (Traditional proxies) Jest to rodzaj firewalla pośredniczącego; pakiety z sieci prywatnej nigdy nie wychodzą do Internetu i vice versa. Adresy IP w sieci prywatnej powinny być z klas nieroutowal- nych. Jedynym sposobem połączenia się z Internetem jest wywołanie firewalla, ponie- waż jest on jedyną maszyną mogącą łączyć się równocześnie z obiema sieciami. Urucha- 400 Sieci komputerowe. Kompendium miamy jest na nim program zwany proxy, który tego dokonuje. Dla każdej usługi, która ma być dostępna z Internetu, na firewallu musi być uruchomiony osobny program po- średniczący w jej świadczeniu. Komputery w sieci wewnętrznej muszą być specjalnie skonfigurowane w celu uzy- skania dostępu do wybranych usług. Przykładowo, aby ściągnąć stronę WWW, muszą połączyć się z firewallem na port 8080, zalogować się i zażądać potrzebnej strony. W tym momencie uruchamia się odpowiedni program pośredniczący, ściąga potrzebne dane i przekazuje do odpowiedniego komputera w sieci lokalnej. Przezroczyste proxy (Transparent proxies) Jest to drugi rodzaj firewalla pośredniczącego; pakiety z sieci prywatnej również nig- dy nie wychodzą do Internetu i vice versa. Adresy IP w sieci prywatnej powinny być z klas nieroutowalnych. Jedyną drogą połączenia się z Internetem jest wywołanie fire- walla, ponieważ jest on jedyną maszyną, mogącą łączyć się równocześnie z obiema sie- ciami. Uruchamiamy na nim program zwany transparent proxy, który tego dokonuje. System operacyjny zamiast dokonać routingu pakietów do Internetu, kieruje je do tego programu. Dla każdej usługi, która ma być dostępna z Internetu, na firewallu musi być uruchomiony osobny program pośredniczący w świadczeniu takiej usługi. Przezroczyste proxy jest bardziej wygodne dla użytkowników i dla administratora. Klient nie musi wiedzieć o użyciu oprogramowania typu proxy i nie musi być specjalnie kon- figurowany. Na przykład firewall jest skonfigurowany do przekierowywania (np. za po- mocą polecenia KREJCKPU) wszystkich połączeń do portu 80 na port 8080, na którym pracuje tranparent proxy. Przy próbie pobrania dowolnej strony WWW transmisja prze- kierowywana jest na port 8080, a następnie wszystko odbywa się tak, jak w poprzednim przykładzie. Tłumaczenie adresów IP (NAT) Pakiety z sieci prywatnej nigdy nie wychodzą do Internetu bez specjalnej obróbki i vice versa. Adresy IP w sieci prywatnej powinny być z klas nieroutowalnych. W tym przy- padku używamy specjalnych funkcji zmieniających niektóre pola transportowanych pakietów (adres źródłowy, port źródłowy). Zostało to już opisane wcześniej. Filtrowanie pakietów W tym przypadku nasza sieć jest częścią Internetu, pakiety mogą poruszać się bez zmian poprzez obie sieci. Firewall na podstawie nagłówków protokołów podejmuje decyzję, czy przepuścić dany pakiet, czy nie. Filtrowanie pakietów zastosowano, aby ograniczyć dostęp z Internetu tylko do naszych wewnętrznych serwerów i uniemożliwić dostęp do komputerów użytkowników. Jeżeli firewall ma możliwość śledzenia sesji proto- kołów warstwy transportowej, nazywamy go firewallem z inspekcją stanu (statefull instpection); czasami spotyka się w literaturze również pojęcie firewalla obwodów. Rozdział 10. ♦ Firewall 401 Ten typ firewalla ma najmniejsze możliwości kontroli i autoryzacji dostępu, ale jest równocześnie najbardziej elastyczny i wprowadza najmniej ograniczeń dla użytkowni- ków z sieci wewnętrznej. Nie ma potrzeby uruchamiania specjalnych programów po- średniczących. 10.2. Obsługa filtrowania pakietów w Linuksie Linux jest typowym systemem sieciowym; możliwości filtrowania pakietów pojawiły się w nim bardzo wcześnie, bo już w wersji 1.1. Alan Cox po prostu w 1994 roku prze- niósł z BSD kod używanego tam ipfw. Jos Vos rozbudował ten kod i w jądrach wersji 2.0 pojawiło się narzędzie KRHYCFO do kontroli reguł filtrowania. W 1998 roku dla wersji 2.2 Paul Russell i Michael Neuling mocno zmienili kod jądra i wprowadzili nowe narzędzie KREJCKPU. W 1999 roku dla jąder w wersji 2.4 kod podsystemu sieciowego został prze- pisany od nowa, wprowadzono wiele przydatnych możliwości: zaawansowany routing (również w oparciu o adres źródła pakietu), zarządzanie pasmem oraz całkiem nową „ścianę ogniową”. Do zarządzania firewallem zostało przeznaczone nowe polecenie KRVCDNGU. Musisz mieć włączony (wkompilowany) w jądrze moduł netfilter oraz zain- stalowany pakiet iptables. Tabela 10.1. Porównanie funkcjonalności ipchains i iptables Możliwe kryteria selekcji pakietów Funkcjo- nalność Iptables Ipchains Adres źródłowy IP Adres docelowy IP Protokół (TCP,UDP) i port lub zakres portów Protokół ICMP i komunikat Zaistnienie fragmentacji Wartości bitów TOS Pakiety z flagą SYN Możliwość określania reguł symetrycznych (odwrotnych) [ Adres sprzętowy interfejsu MAC Dowolna kombinacja flag TCP Kryterium częstotliwości nadchodzących pakietów (zabezpieczenie przeciwko DoS) Właściciel pakietu w systemie Inspekcja stanu, śledzenie sesji dla protokołów TCP, UDP, ICMP Pełna funkcjonalność NAT Możliwość konfigurowania wyglądu (i poziomu) logów Obsługa IPv6 Uproszczona translacja adresów, tzw. Masquerading Możliwość logowania pakietów 402 Sieci komputerowe. Kompendium Pamiętaj, że pakiet ipchains nie jest już rozwijany, a do iptables ciągle pojawiają się nowe dodatki. Jest to główny powód, poza o wiele większą funkcjonalnością, dla które- go skupię się na tym pakiecie. Jeśli brak jest funkcji, których potrzebujesz, spróbuj zaj- rzeć do zbioru dodatków do nazwie Patch-o-Matic; listę najnowszych można przeczy- tać pod adresem http://www.netfilter.org/documentation/pomlist/pom-extra.html. Najcie- kawsze dodatki umożliwiają ograniczanie liczby połączeń z jednego IP, selekcjono- wanie pakietów w zależności od opcji IP, określanie rozmiaru pakietu. Ipchains — Linux 2.2 W tym podrozdziale zamieszczam skrócony opis obiegu datagramów IP w jądrach wersji 2.2. Następny podrozdział jest poświęcony projektowi netfilter i dokładniej opi- suje działanie KRVCDNGUużywanego w jądrach wersji 2.4. +REJCKPU jest linuksowym poleceniem używanym do konfiguracji reguł firewalla i tłu- maczenia adresów IP (NAT). Zastąpiło ono starsze KRHYCFO. Aby móc wykorzystać kom- puter z systemem operacyjnym Linuks do filtrowania pakietów, należy skompilować jądro systemu z opcjami (dla jądra z serii 2.2): 10(+)A(+4 9#..[ 10(+)A+2A(+4 9#..[ Aby stwierdzić, czy jądro ma prawidłowo wkompilowaną obsługę filtrowania datagra- mów, należy sprawdzić, czy w katalogu /proc/net/ istnieje plik ip_fwchains, zawierający konfigurację reguł firewalla. Przy konfigurowaniu firewalla za pomocą polecenia KREJCKPU, podstawowym pojęciem jest łańcuch (chain). Łańcuch jest to zbiór reguł filtrujących, na podstawie których po- dejmowana jest decyzja, czy pakiet zostanie przepuszczony, czy też usunięty. Istnieją trzy standardowe łańcuchy: input, forward i output, ponadto użytkownik może two- rzyć własne łańcuchy. Rysunek 10.1. Obieg pakietów w Linuksie 2.2 Droga datagramów IP poprzez firewall jest bardzo skomplikowana. Na samym począt- ku drogi pakietu 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ą odwrotnemu procesowi NAT Rozdział 10. ♦ Firewall 403 (demasquerade), czyli adres routera usuwany jest z pola „adres docelowy” i zastępowa- ny adresem IP docelowego komputera w sieci prywatnej. Dalej na podstawie tablicy routingu (routing decision) lub protokołu routującego podejmowana jest decyzja o dal- szym losie pakietu. Procesy lokalne (local process) mogą odbierać pakiety po etapie ro- utowania i wysyłać pakiety poprzez etap routowania i bezpośrednio łańcuch wyjściowy (output chain). Jeśli pakiet nie został utworzony przez proces lokalny, jest dodatkowo sprawdzany w łańcuchu przejściowym (forward chain). Jeśli proces lokalny będzie się komunikował z innym procesem lokalnym, kieruje pakiet przez łańcuch wyjściowy (out- put chains) do interfejsu lo (lo interface - loopback). Każdy z pakietów opuszczających komputer musi zostać sprawdzony przez reguły zawarte w łańcuchu wyjściowym (out- put chain). Składnia polecenia ipchains Pokrótce przedstawię podstawową składnię polecenia KREJCKPU. Dokładny opis po- zostałych opcji znajduje się w publikacji http://www.tldp.org/HOWTO/IPCHAINS- HOWTO.html Po poleceniu KREJCKPU następuje opcja określająca jego działanie: ( (Flush) — usuwa wpisy z wymienionego później łańcucha, # (Append) — dodaje nową regułę do łańcucha, + (Insert) — wstawia nową regułę do łańcucha na podane miejsce,  (Delete) — usuwa regułę z łańcucha. Następnie występują wpisy określające źródło i cel transmisji: U (source) — źródło, F (destination) — cel. Adresy mogą być podawane jako nr IP lub nazwa oraz jako zakresy, np. U— adres źródłowy równy 192.168.23.24, F — adres źródłowy pochodzący z sieci 192.168.23.0 o 24-bitowej masce, F— zapis równoważny poprzedniemu, U — dowolny adres. Większość opcji umożliwia zastosowanie negacji logicznej, na przykład U NQECNJQUV oznacza wszystkie komputery poza lokalnym. Protokół może być podawany jako numer pobrany z pliku /etc/protocols lub nazwa (tcp, udp, icmp), nie jest ważne, czy użyjesz małych, czy też wielkich liter: RWFR — protokół UDP, 404 Sieci komputerowe. Kompendium Można również podawać numer portu, dla którego układamy regułę: R6 2U — ruch protokołem TCP z dowolnego adresu z portu 23 (telnet). Możemy definować również zakresy portów: R6 2U — ruch protokołem TCP z adresu 192.168.1.6 z portów o numerach 20, 21, 22 i 23, R7 2F — ruch protokołem UDP do komputerów z sieci 192.168.1.0/24 na wysokie porty (porty o numerach 1024 i więcej). Równie dobrze możemy podać nazwę portu: R6 2UYYY. Określamy interfejs sieciowy, którego dotyczy reguła: KGVJ — karta sieciowa eth0, KGVJ — oznacza wszystkie interfejsy zaczynające się na eth. Aby włączyć zapisywanie pakietów do logów systemowych, musimy dodać do reguły flagę N. Flaga L specyfikuje, co należy wykonać z pakietem pasującym do reguły. Jeśli nie ma tej flagi, to reguła jest używana do prostego zliczania pakietów ją spełniających. Działa- niami, które możemy zlecić, są: L# 26 — podejmuje decyzję o przepuszczeniu pakietu pasującego do reguły, L 0; — natychmiast likwiduje pakiety pasujące do reguły, L4 , 6 — likwiduje pakiety, wysyłając do nadawcy komunikat ICMP o nieosiągalności celu, L/#53 — stosuje uproszczoną odmianę NAT, nazywaną czasem „maskaradą” (jądro musi być skompilowane z IP Masquerading enabled); opcja prawidłowa jedynie dla łańcucha forward, L4 +4 6PWOGTARQTVW— przekierowuje pakiet na lokalny port; opcja musi być użyta w łańcuchu INPUT i można jej używać jedynie dla protokołów TCP i UDP, L4 6740 — powoduje natychmiastowe osiągnięcie końca łańcucha. Ustalamy politykę dla łańcucha. Polityka określa, co należy zrobić z pakietem nie pa- sującym do żadnej z zawartych w nim reguł: KREJCKPU2KPRWV 0; Przedstawię teraz przykładową konfigurację; należy ją traktować jedynie jako przykład podany w celu przedstawienia sposobu konstruowania reguł firewalla: 9[E[UEGPKGđCēEWEJÎYYEGNWRQD[EKCUKúRQVGPELCNP[EJ9RQQUVCđQħEK UDKPKREJCKPU(KPRWV UDKPKREJCKPU(QWVRWV UDKPKREJCKPU(HQTYCTF Rozdział 10. ♦ Firewall 405 2TGMKGTQYCPKGTWEJWPCRQTVWľ[YCP[RTGWUđWIúRTGTQE[U9VGIQ2TQZ[ UDKPKREJCKPU#KPRWVRVERUFL4 +4 9 6 7VYQTGPKGYđCUPGIQđCēEWEJCQPCYKGO[EJCKP UDKPKREJCKPU0O[EJCKP  QFCYCPKGTGIWđFQđCēEWEJCO[EJCKP  GYQNGPKGPCVTCPUOKULGUGTYGTÎY5/62 UDKPKREJCKPU#O[EJCKPUUOVRFL# 26  GYQNGPKGPCVTCPUOKULGFQUGTYGTÎY5/62 UDKPKREJCKPU#O[EJCKPUFUOVRL# 26  GYQNGPKGPCVTCPUOKULGUGTYGTÎY999 UDKPKREJCKPU#O[EJCKPUYYYFL# 26  GYQNGPKGPCVTCPUOKULGFQUGTYGTÎY999 UDKPKREJCKPU#O[EJCKPUFYYYL# 26  GYQNGPKGPCVTCPUOKULGUGTYGTÎY 05 UDKPKREJCKPU#O[EJCKPR7 2UFPUFL# 926 2TGMKGTQYCPKGRCMKGVÎYUKGEKNQMCNPGLFQđCēEWEJCO[EJCKP UDKPKREJCKPU#KPRWVUFLO[EJCKP -QPHKIWTCELC0#6 PKGFQMQPWL0#6PCTWEJWUKGEKNQMCNPGLFQUKGEKNQMCNPGL UDKPKREJCKPU#HQTYCTFUFL# 26 PKGFQMQPWL0#6FNCTWEJWGYPæVT UDKPKREJCKPU#HQTYCTFUFL# 26 FQMQPWL0#6FNCTWEJWUKGEKYGYPúVTPGLPCGYPæVT UDKPKREJCKPU#HQTYCTFUFL/#53 0KGRQYÎNPCLCMKMQNYKGMKPP[TWEJ UDKPKREJCKPU2O[EJCKPKPRWV 0; Iptables — Linux 2.4 Polskie tłumaczenie dokumentu HOWTO do iptables znajdziesz na stronie http://mr0vka. eu.org/tlumaczenia/index.html. Powinieneś się z nim zapoznać, zanim zaczniesz czytać dalszy ciąg tego działu. Przeczytaj również pozostałe tłumaczenia pojawiające się na stronie Łukasza Bromirskiego http://mr0vka.eu.org — naprawdę warto. Zajrzyj rów- nież na stronę domową pakietu netfilter http://www.netfilter.org. Taaaak. Wiedziałem, że nie będzie ci się chciało czytać takiej ilości tekstu. Dobrze, zatem postaram się omó- wić pokrótce, jak wędrują pakiety w jądrze 2.4. Podstawowym pojęciem jest łańcuch (chain). Łańcuch jest to zbiór reguł filtrujących. Istnieją trzy standardowe łańcuchy: input, forward i output oraz łańcuchy dodatkowe, prerouting i forward. Ponadto użytkownik może tworzyć własne łańcuchy. Łańcuch jest listą reguł, do których po kolei jest porównywany pakiet. Jeśli pakiet pasuje do którejś z reguł, wykonywana jest akcja zdefiniowana wewnątrz niej. Reguły definiujemy wła- śnie poleceniem KRVCDNGU. Jeśli pakiet nie pasuje do żadnej reguły, wykonywana jest akcja zdefiniowana w polityce danego łańcucha. Tylko łańcuchy podstawowe i dodat- kowe mają własną politykę, łańcuchy utworzone przez użytkownika nie mają własnej po- lityki, a pakiet po przejściu przez taki łańcuch wraca do miejsca (do łańcucha), z któ- rego został wywołany. 406 Rysunek 10.2. Obieg pakietów w Linuksie 2.4 Sieci komputerowe. Kompendium Jeśli porównasz ten schemat z algorytmem dla ipchains, zuważysz, jak bardzo został on uproszczony i logicznie przemyślany. Pakiet sprawdzany jest najpierw w łańcuchu PRE- ROUTING. Następnie podejmowana jest decyzja Routing decision, czy pakiet skie- rowany jest do komputera lokalnego. Przechodzi wtedy przez łańcuch INPUT i dociera do procesów lokalnych Local process. Drugą możliwością jest, że pakiet jest skiero- wany do jednej z sieci, do których dany komputer jest routerem. W takim przypadku podejmowana jest decyzja o routingu danego pakietu (w uproszczeniu — definiowana karta sieciowa, przez którą należy dany pakiet dalej przesłać) i pakiet trafia do łańcucha FORWARD. Pakiety wygenerowane przez procesy lokalne (np. przeglądarkę WWW wysyłającą zapytanie o stronę) przechodzą przez łańcuch OUTPUT. Następnie wszystkie pakiety przechodzą przez łańcuch POSTROUTING i są wysyłane na karty sieciowe. Przedstawione powyżej łańcuchy są dodatkowo rozdzielone pomiędzy tablice. zawie- rające niektóre z nich. Pierwszą jest tabela mangle, służąca do zmieniania zawartości pakietów przechodzących przez nasz firewall. Następnie pakiety przechodzą przez ta- belę nat, w której definiujemy różne rodzaje translacji adresów NAT. Ostatnią jest najczęściej używana tabela filter. Definiujemy w niej reguły filtrowania pakietów, czyli podstawowy kod naszego firewalla. Nie wszystkie łańcuchy istnieją w poszczegól- nych tabelach. Do tabeli mangle (polecenie: KRVCDNGUVOCPING …) należą łańcuchy:  PREROUTING,  OUTPUT. Do tabeli nat (polecenie: KRVCDNGUVPCV …) należą łańcuchy:  PREROUTING - DNAT (destination nat) podmieniany jest adres docelowy pakietów,  POSTROUTING - SNAT (source nat) podmieniany jest adres źródłowy pakietów,  OUTPUT - DNAT dla pakietów generowanych przez procesy lokalne. Domyślną tabelą jest filter (polecenie: KRVCDNGU … — nie trzeba używać przełącznika V), należą do niej łańcuchy:  INPUT,  OUTPUT,  FORWARD. Rozdział 10. ♦ Firewall 407 Nie będę omawiał składni KRVCDNGU, jest ona bardzo rozbudowana i zajęłaby zbyt dużo miejsca. Ponadto zostało to bardzo dobrze zrobione w wymienionym wcześniej doku- mencie HOWTO (z polskim tłumaczeniem). Podczas tworzenia firewalla postaram się omówić używane przeze mnie konstrukcje. Jeśli coś wyda ci się niejasne, zajrzyj do HOWTO lub na stronę manuala (OCPKRVCDNGU). 10.3. Tworzymy firewall Postanowiłem omówić tworzenie firewalla na konkretnym, praktycznym przykładzie. Ponieważ jednak niezbyt dobrym pomysłem na początek byłoby tworzenie rozbudo- wanego firewalla, przedstawię często spotykaną sytuację. Zakładamy małą sieć lokalną złożoną, podłączoną poprzez Ethernet do Internetu. Oczywi- ście rzadko się zdarza, aby nasze łącze stałe było skrętką. Jednak ze względu na przej- rzystość, przedstawię takie rozwiązanie. Tak czy inaczej jest to tylko szablon i aby go zastosować w praktyce, będziesz go musiał poddać znacznym modyfikacjom. Aby zmi- nimalizować koszty, utworzymy firewall na tej samej maszynie, co router — najczę- ściej tak się właśnie robi, konstruując rozwiązanie oparte na Linuksie. Takie rozwią- zanie daje nam dużą elastyczność, możemy korzystać z możliwości nowego kodu siecio- wego jądra 2.4: zarządzać pasmem przydzielanym komputerom w sieci lokalnej i kon- kretnym usługom, stosować routing źródłowy i łączyć to wszystko z rozbudowanymi możliwościami firewalla opartego na KRVCDNGU. Zawsze najlepszym wyjściem jest, gdy firewall jest dedykowanym serwerem, na którym nie ma uruchomionych żadnych do- datkowych usług. Dzięki temu nie ma możliwości (przynajmniej teoretycznie) włama- nia do niego. Na maszynę spełniającą tego typu zadania dla niewielkiej sieci często wy- starczy stare 486DX i jakieś 16 MB RAM-u. Zdobycie tego typu „maszyny” nie powinno nastręczać wielkich kłopotów. Jeśli nie masz dysku twardego, to możesz poszukać jakiejś jednodyskietkowej dystry- bucji Linuksa lub BSD przystosowanej do pełnienia roli routera i firewalla. Jednodyskietkowe dystrybucje przeznaczone do tworzenia routera i firewalla: • http://www.freesco.org, • http://www.freesco.arx.pl/linux/ — polska strona dystrybucji Freesco przystosowanej do SDI, • http://www.linuxrouter.org, • http://www.coyotelinux.com, • http://www.floppyfw.org. Jednak wtedy najpewniej nie będziesz mógł skorzystać z konfiguracji opisanej poni- żej — wersje jednodyskietkowe Linuksów są wykonywane najczęściej na jądrach se- rii 2.2. Możesz wtedy korzystać jedynie z polecenia KREJCKPU. Jeśli chodzi o wybór dys- trybucji, to nie jest to zbyt ważny element, wybierz najbardziej wygodną dla siebie. Jeśli 408 Sieci komputerowe. Kompendium dystrybucję będziesz często aktualizował, powyłączasz wszystkie usługi sieciowe, to zabezpieczenie powinno być wystarczające. Oczywiście dyskusyjne jest pozostawienie działającego demona SSH do administracji. Jeśli jest to konieczne, zainstaluj jak naj- nowszą wersję stabilną i ciągle dbaj o szybką aktualizację źródeł, które oczywiście sa- modzielnie skompilujesz. Nie używaj pakietu binarnego otrzymanego z dystrybucją. Po- nadto postaraj się wytyczyć ścieżki, z których będziesz korzystał podczas administracji i podczas implementacji firewalla pozwól na dostęp do SSH tylko z konkretnych ad- resów IP. Jeśli podajesz adresy w sieci lokalnej, zdefiniuj adresy MAC kart sieciowych zamiast adresów IP. Podstawy Router (i firewall), który konfigurujemy, ma dwie karty sieciowe; jedną — eth0 — na zewnątrz z numerem IP przydzielonym przez naszego dostawcę usług i drugą — eth1 — do naszej sieci lokalnej, której IP sami sobie konfigurujemy. Jeśli masz łącze SDI, to najprawdopodobniej musisz wymienić wpis eth0 na ppp0. Cały opis przedstawię dla dystrybucji Slackware, jednak jak już napisałem, nie jest ważne, jakiej dystrybucji uży- jesz, ale jak ją skonfigurujesz. Nigdy nie należy pozostawiać konfiguracji domyślnej. Rysunek 10.3. Sieć, dla której napiszemy firewall eth0 eth1 przydzielony numer IP: 10.20.30.40 z maską 8 bitów czyli: 255.0.0.0 gateway (router): 10.20.30.1 przyjmujemy numer IP: 192.168.1.1 z maską 24 bity 255.255.255.0 Przykładowy komputer w sieci wewnętrznej konfigurujemy: numer IP: 192.168.1.2 z maską 255.255.255.0 Rozdział 10. ♦ Firewall 409 gateway (router): 192.168.1.1 serwery DNS ustawiamy na zalecane przez dostawcę usług. W przypadku Slackware’a wyremowałem (postawiłem na początku wiersza #) ze skryptu /etc/rc.d/rc.inet1 wszystko poza wierszem: RQECVGMUMT[RVWGVETEFTEKPGV *1560#/ BECVGVE*1560#/ B Następnie konfigurujemy standardowe urządzenie lo, dopisując do tego pliku: UDKPKHEQPHKINQ UDKPTQWVGCFFPGVPGVOCUMNQQ W moim przypadku włączamy potrzebne moduły do kart sieciowych 3Com: UDKPOQFRTQDGE A następnie przechodzimy do konfiguracji tychże kart sieciowych i routingu. UDKPKHEQPHKIGVJPGVOCUMDTQCFECUVQWR UDKPTQWVGCFFFGHCWNVIY UDKPKHEQPHKIGVJPGVOCUMDTQCFECUVQWR Dalej musimy włączyć NAT dla pakietów z sieci lokalnej wychodzących na zewnątrz. OQFRTQDGKRAEQPPVTCEMAKTE OQFRTQDGKRAPCVAKTE KRVCDNGUVPCV#21564176+0)QGVJL50#6VQUQWTEGQ GEJQ RTQEU[UPGVKRXKRAHQTYCTF GVETEFHKTGYCNNUVCTV WUTNQECNUDKPUUJF 2QNGEGPKCOKOQFRTQDG włączamy moduły do irca (jeśli będą nam potrzebne). +RVCDNGU uruchamia SNAT pakietów, który podmienia adres źródłowy pakietów z naszej sieci we- wnętrznej na adres 10.20.30.40. Oczywiście odbywa się to w łańcuchu POSTROUTING w tabeli nat, co widać w strukturze tego polecenia. W tym momencie pakiety z naszego przykładowego komputera o adresie 192.168.1.2, wychodząc w Internet (z karty eth0) wydają się pochodzić z adresu 10.20.30.40. Aby to zadziałało, musimy jeszcze urucho- mić proces routingu — dzieje się to w następnym wierszu, gdzie zmieniamy odpowied- nią wartość w katalogu /proc. Następnie uruchamiamy nasz skrypt firewall.start. Na koniec uruchamiamy demona ssh (najlepiej w wersji 2), abyśmy mogli administrować naszym routerem z zewnątrz. Jest to koniec naszego skryptu /etc/rc.d/rc.inet1, urucha- miającego podstawowe funkcje sieciowe. W tym momencie zaczynamy pisanie skryptu firewalla /etc/rc.d/firewall.start. Konfiguracja Podstawową zasadą przy pisaniu reguł firewalla jest: najpierw stawiamy barierę nie do przebycia dla wszystkich pakietów, a następnie wybijamy w niej przejścia tylko dla takiego ruchu, który chcemy przepuścić. 410 Sieci komputerowe. Kompendium W skrócie: co nie jest dozwolone — jest zabronione, czyli po pierwsze wybieramy po- łączenia do naszego routera z Internetu, które będą możliwe. Poza tym tak naprawdę powinniśmy również ściśle zdefiniować rodzaje usług w Internecie, z których mogą korzystać komputery znajdujące się w sieci lokalnej, oraz połączenia, które komputery z sieci lokalnej mogą wykonywać do routera. Ponieważ omawiamy najprostszy przypa- dek, nie będę na razie komplikował sytuacji i założę, że kierownictwo firmy nie wyka- zało zrozumienia i użytkownicy mają mieć dostęp do wszystkich usług udostępnianych w Internecie. Zagrożenia wynikające z takiego postępowania opisywałem w poprzednich rozdziałach. Aby przypomnieć, podam przykład, gdy na komputerze w sieci lokalnej pojawi się jakiś trojan. Przy silnie restrykcyjnym firewallu, gdyby trojan próbował nawiązać połączenie na zewnątrz, zostałoby ono uniemożliwione przez firewall i mielibyśmy o tym infor- mację w logach systemowych. Oczywiście istnieją trojany wykorzystujące np. port 80 (http), który raczej musimy przepuścić. Oznacza to, że na komputerach lokalnych nie możemy zaniedbać podstawowych zasad bezpieczeństwa i musimy zainstalować jakieś (często uaktualniane) oprogramowanie antywirusowe. Tak więc zaczynamy. W katalogu /etc/rc.d/ tworzymy sobie skrypt firewall.start, który jest uruchamiany z pliku rc.inet1. Dla większości dystrybucji Linuksa możemy urucha- mianie firewalla umieścić w pliku /etc/rc.d/rc.local. Moja konfiguracja została oparta na opisie ze strony: http://www.sns.ias.edu/~jns/security/iptables — oczywiście doko- nałem w niej dużych zmian. Nie będę tworzył skryptu sparametryzowanego — jest on zbyt mało przejrzysty dla celów demonstracji, a ponadto gdy zaglądamy do niego po kilku miesiącach, jest trudniejszy w analizie. Przed poleceniami KRVCDNGUwystępującymi w skrypcie powinieneś dopisać pełną bezwzględną ścieżkę dostępu, np. WUTNQECNUDKP KRVCDNGU … DKPUJ 2QECVGMUMT[RVWGVETEFHKTGYCNNUVCTV OQFRTQDGKRAVCDNGU OQFRTQDGKRAEQPPVTCEM OQFRTQDGKRAEQPPVTCEMAHVR KRVCDNGU2+0276 412 KRVCDNGU2176276 412 KRVCDNGU2(149#4  412 Najpierw próbujemy ładować moduły, które mogą się nam przydać. Bardzo ważnym mo- dułem jest conntrack, umożliwiający śledzenie połączeń. Dzięki niemu możemy stwier- dzić, które pakiety nie są poprawnymi pakietami danego połączenia. Moduł conntrack potrafi śledzić, poza oczywistym protokołem TCP, który jest protokołem połączenio- wym, również protokoły UDP i ICMP. Lista aktualnie śledzonych połączeń znajduje się w pliku /proc/net/ip_conntrack. W ostatnich 3 wierszach ustawiliśmy politykę podsta- wowych łańcuchów na DROP — w tym momencie nasz router nie odbiera i nie prze- puszcza żadnych pakietów, możesz to sprawdzić. Teraz wykonamy wstępną konfigura- cję parametrów jądra wpływających na działanie stosu TCP/IP w Linuksie. Jeśli z uwagą przeczytałeś wcześniejsze rozdziały, a zwłaszcza ten dotyczący bezpieczeństwa, bę- dziesz rozumiał, co robią te parametry i przeciwko jakim atakom są zabezpieczeniem.   9[đæECO[QFRQYKGFKPCRKPIK DKPGEJQ RTQEU[UPGVKRXKEORAGEJQAKIPQTGACNN Rozdział 10. ♦ Firewall 411   1EJTQPCRTGFCVCMKGOV[RW5OWTH DKPGEJQ RTQEU[UPGVKRXKEORAGEJQAKIPQTGADTQCFECUVU   0KGCMEGRVWLGO[FCVCITCOÎY+2QRELæUQWTEGTQWVG DKPGEJQ RTQEU[UPGVKRXEQPHCNNCEEGRVAUQWTEGATQWVG   0KGRT[LOWLGO[RCMKGVQY+ /2TGFKGEVMVÎTGOQIæOKGPKèPCUæ9VCDNKEú TQWVKPIW DKPGEJQ RTQEU[UPGVKRXEQPHCNNCEEGRVATGFKTGEVU   9đæECO[QEJTQPúRTGFMQOWPKMCVCOK+ /2GTTQT DKPGEJQ RTQEU[UPGVKRXKEORAKIPQTGADQIWUAGTTQTATGURQPUGU   9NCECNQIQYCPKGFKYP[EJ URQQHGFUQWTEGTQWVGFTGFKTGEVU RCMK9GVQY DKPGEJQ RTQEU[UPGVKRXEQPHCNNNQIAOCTVKCPU   9U[UVMKGMCTV[PKGDGFCRT[LOQYCN[RCMKGVQYUKGEKKPP9[EJPKVG VCDNKE[TQWVKPIWLGUVVQQEJTQPCRTGFURQQHKPIKGO GEJQ RTQEU[UPGVKRXEQPHCNNTRAHKNVGT Ponieważ w jądrach serii 2.4 automatyczna defragmentacja przyjmowanych pakietów jest włączana domyślnie, już nie musimy tego uruchamiać. W wierszu 1 informujemy nasz router, aby nie odpowiadał na zapytania ICMP echo — czyli router nie będzie odpowiadał na pingi. Warto się nad tym zastanowić, ponieważ postępowanie takie jest niezgodne z zaleceniami IETF. Podaję ten wpis w celach edukacyjnych, ponieważ może się zdarzyć, że będziesz chciał go użyć. W wierszu 2 uniemożliwiamy odpowiedzi ICMP Echo reply na pakiety rozgłoszeniowe (broadcast), w efekcie czego bronimy się przed atakiem typu Smurf. Atak ten polega na tym, że atakujący wysyła pakiety ICMP echo request skierowane na adresy broad- castowe naszej sieci. Wszystkie komputery naszej sieci odpowiadają na takie pakiety, co najczęściej powoduje silne przeciążenie sieci. Bardzo często adres źródłowy takiego pakietu jest zmieniony i ustawiony na rzeczywistą ofiarę, która otrzymuje nagle dużo pakietów z odpowiedziami typu echo-reply. Jeśli w ten sposób zostanie zaatakowanych kilka podsieci, łącze ofiary może ulec zapchaniu. W wierszu 3 powiadamiamy jądro systemu, aby nie akceptowało pakietów source routed. Atakujący może użyć tego typu pakietów, aby udawać, że jest z wnętrza naszej sieci, lecz ruch ten byłby kierowany z powrotem wzdłuż ścieżki, po której do nas dotarł. Opcje te rzadko są używane w zgodnych z prawem celach. W wierszu 4 zabraniamy zmieniania naszej tablicy routingu na podstawie pakietów ICMP redirect. W wierszu 5 powodujemy, że nasz host nie będzie reagował na fałszywe komunikaty o błędach. Wiersz 6 powoduje, że informacja o wszelakich dziwnych (podejrzanych) pakietach znajdzie się w logach systemowych. Może to być niebezpieczne, ponieważ nie mamy wpływu na częstotliwość zapisów i zmasowany atak takimi pakietami może przepeł- nić nasze logi. 412 Sieci komputerowe. Kompendium Standardowym mechanizmem jest ignorowanie pakietów pochodzących z sieci nie znaj- dujących się w naszej tablicy routingu, co odbywa się w wierszu 7. Oznacza to, że je- śli na karcie eth1 jest zdefiniowana sieć 192.168.1.0/24, to nie przyjmie ona pakietów z adresu 10.1.23.32. Oczywiście karta eth0 będzie przyjmowała pakiety ze wszystkich ad- resów, ponieważ jest poprzez nią dostęp do naszej domyślnej trasy (routera) — rów- nież pakiety z adresem źródłowym naszej karty eth1. Musimy więc zadbać za pomocą filtrowania na firewallu, aby nie istniała taka możliwość. Piszemy zatem dalszy ciąg skryptu: KRVCDNGU#+0276KNQL# 26 KRVCDNGU#176276QNQL# 26 Pierwsze co umożliwiamy, to ruch na urządzeniu lo (lopback), które jest wykorzysty- wane przez różne procesy lokalne. Temu ruchowi nie stawiamy żadnych ograniczeń. Poniżej tworzymy nowy łańcuch o nazwie syn-flood, który będzie zabezpieczał nasz router przed atakami typu DoS. Oczywiście jest bardzo prawdopodobne, że będziesz musiał dobrać (najczęściej eksperymentalnie) czułość działania modułu limit. KRVCDNGU0U[PHNQQF KRVCDNGU#+0276KGVJRVERU[PLU[PHNQQF KRVCDNGU#U[PHNQQFONKOKVNKOKVUNKOKVDWTUVL4 6740 KRVCDNGU#U[PHNQQFL.1)NQINGXGNFGDWINQIRTGHKZ
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Sieci komputerowe. Kompendium
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: