4-Bezpieczeństwo sieci informatycznych
Transkrypt
4-Bezpieczeństwo sieci informatycznych
RUTERY - zabezpieczenia Dr inż. Małgorzata Langer Co to jest ruter (router)? • Urządzenie, które jest węzłem komunikacyjnym • Pracuje w trzeciej warstwie OSI • Obsługuje wymianę pakietów pomiędzy różnymi (o różnych maskach) sieciami • Na podstawie informacji zawartych w pakietach TCP/IP (ale obsługuje również inne protokoły) jest w stanie przekazać pakiety z dołączonej do siebie sieci źródłowej do docelowej, • Proces „kierowania ruchem” (trasowania) to routing Niektóre, pośredniczące, systemy nie muszą wykorzystywać wszystkich warstw – pełnią rolę „przekaźników” • Metody wyznaczania tras pozwalają routerowi na ocenę wszystkich dostępnych informacji i na tej podstawie podjęcie decyzji, którą ścieżką będą przesyłane pakiety. • Router może wykorzystać informacje podane przez administratora w trakcie konfiguracji, jak również te pochodzące z procesów uruchomionych na innych routerach. Tablica routingu • Tablica utworzona na podstawie znanych lokalizacji jest podstawą do przetwarzania i przełączania pakietów, a stan i wiarygodność pozycji umieszczonych w tablicy routingu warunkują poprawną pracę routera. Rodzaje routerów • Routery dostępowe – SOHO Small Office, Home Office – małe urządzenia wykorzystywane w domach i niewielkich firmach (do „rozdzielenia internetu” na kilka komputerów). Najczęściej posiadają jedno lub dwa łącza WAN (zazwyczaj Ethernet) lub modem ADSL (Asymmetric Digital Subscriber Line), często również punkt dostępowy sieci bezprzewodowej (hot spot), gniazdo dla VoIP itp. Rodzaje – c.d. • Routery sieci korporacyjnych - wiele funkcji dodatkowych – wewnątrz sieci, łączące różne segmenty (wyznaczanie tras do transmisji pakietów pomiędzy dwoma końcowymi urządzeniami oraz routerami, – brzegowe - muszą przede wszystkim zapewnić bezpieczeństwo – instaluje się zapory sieciowe (umożliwiają dostęp użytkownikom zdalnym), ale powinny obsługiwać kilka technik transmisyjnych, posiadać dużą przepustowość Rodzaje c.d. • Routery sieci szkieletowych – duża przepustowość, wiele inerfejsów – obsługa wielu technik transmisyjnych i różnych standardów, duża niezawodność, najczęściej budowa modułowa Rodzaje routingu ze względu na przeznaczenie • UNICAST dostarczanie wiadomości do pojedynczego, podanego węzła (dominujący sposób w Internecie) • BROADCAST dostarczanie wiadomości do wszystkich węzłów w sieci • MULTICAST dostarczanie wiadomości do grupy węzłów, zainteresowanych otrzymaniem wiadomości • ANYCAST – do kogokolwiek z grupy – najczęściej do najbliższego węzła dla źródła • GEOCAST - dostarczanie wiadomości na dany obszar geograficzny Anycast Unicast Broadcast Multicast Geocast Protokoły routingu (trasowania) • Umożliwiają wymianę informacji o trasach pomiędzy sieciami • Bez wymiany informacji możliwe byłoby tylko skierowanie pakietu do następnego (znanego, sąsiedniego) routera • Dzięki wymianie informacji można uwzględnić obciążenie, awarię, zmiany konfiguracji itp. Wewnętrzne protokoły trasowania – IGP – Interior Gateway Protocol • Służą do wymiany informacji wewnątrz autonomicznych systemów - RIP – Routing Information Protocol - OSPF (Open Shortest Path First) - wykorzystuje algorytm Dijkstry - EIGRP (Enhanced Interior Gateway Routing Protocol) – zastrzeżony przez CISCO • Algorytm Dijkstry służy do wyznaczania najmniejszej odległości od ustalonego wierzchołka do wszystkich pozostałych w skierowanym grafie • Zapraszam do sprawdzenia, jak działa; wiele przykładów w internecie Zewnętrzne protokoły trasowania – EGP – Exterior Gateway Protocol • Służą do wymiany informacji o trasach pomiędzy różnymi autonomicznymi systemami, np. - BGP – Border Gateway Protocol – v.4 (protokół bramy brzegowej) jest podstawą działania współczesnego internetu. Protokół BGP funkcjonuje w oparciu o protokół warstwy 4; relacje między sąsiadami BGP tworzone są dzięki protokołowi TCP BGP • Protokół BGP służy do nawiązywania relacji między poszczególnymi systemami autonomicznymi. System autonomiczny - (ang. Autonomous System, AS), czyli sieć lub grupa sieci pod wspólną administracją i ze wspólną polityką trasowania. Systemy autonomiczne identyfikowane są za pomocą numerów, zwanych numerami AS (4 bajty). Wyznaczanie ścieżki • BGP wyznacza ścieżkę na podstawie wielu parametrów (tzw. atrybutów) • Gdy protokół BGP otrzyma wiele ścieżek do konkretnego celu w zdalnej sieci, wybierze zawsze tylko jedną z nich. BGP zawsze propaguje najlepszą ścieżkę do wszystkich routerów równorzędnych. • Atrybuty są dość dobrze opisane np. w http://pl.wikipedia.org/wiki/BGP zachęcam do samodzielnego przestudiowania… Wyznaczanie ścieżki polega na umożliwieniu routerowi wybrania następnego skoku w drodze pakietu do adresata. W procesie wyznaczania ścieżki brane są pod uwagę: •odległość do celu, •przepustowość łącza, •obciążenie łącza, •koszt łącza. •I inne …… Sieci Kolejne urządzenie Odległość Licznik czasowy Flaga Sieć 1 Router A 4 t1, t2, t3 X, y Sieć 2 Router B 5 t1, t2, t3 X, y Sieć 3 Router C 7 t1, t2, t3 X, y Liczniki czasowe • • • routing update timer (30 s)- częstotliwość rozsyłania informacji o routingu, route invalid timer(90 s)- czas po upływie, którego możemy przypuszczać, że trasa jest nieaktualna jeśli jednostka nie otrzyma ponowienia jej oferty, route flush timer (270 s)- czas po upływie, którego nastąpi wykasowanie informacji o trasie jeśli jednostka nie otrzyma ponowienia jej oferty. Serwer pośredniczący (PROXY) • Anonimowość w sieci? • Poprzez serwer pośredniczący łączymy się z siecią za pomocą specjalnego oprogramowania • Serwery pośredniczące mają za zadanie przyśpieszyć proces ładowania się stron www, poprzez trzymanie ich w pamięci. Rodzaje Proxy • high anonymous (całkowicie anonimowe) – serwer odbierający nie otrzymuje informacji, że korzystamy z serwera proxy, ale nie ma naszego IP • anonymous (anonimowe) - serwer odbierający otrzymuje informację, że korzystamy z serwera proxy, ale nie ma naszego IP • transparent (przezroczyste) - nasz adres IP jest jawny; szybciej ładujemy strony Inne zalety Proxy • • • • blokowanie niebezpiecznych skryptów blokowanie niechcianych reklam możliwość zarządzania cookies Czyli pewne zwiększenie bezpieczeństwa dla użytkownika • ALE: wiele stron nie dopuszcza serwerów proxy (anonimowość) Listy dostępu (Access Control List - ACL) • ACL pozwala ruterowi na decyzję, czy pozwolić wejść i/lub wyjść pakietowi w oparciu o podane kryteria. Jest konfigurowana w trybie globalnym (numery IP), ale stosowana jest na danym interfejsie; PAKIETY SĄ FILTROWANE • Filtracja rozpoczyna się od góry listy. Po „trafieniu”, zostaje podjęta przepisana akcja i dalsze przetwarzanie ACL zostaje dla danego pakietu przerwane. ACL - standardowe • Na podstawie numeru IP (wyłącznie) podejmowana jest akcja: PERMIT (pozwalaj) lub DENY (odmawiaj) • Standardowo, jeżeli nie nastąpi dopasowanie, ostatnia linijka (dla pozostałych) jest DENY Inne funkcje ACL • Ograniczenie uaktualnień przesyłanych przez protokoły tras rutingu • Definiowanie przynależności pakietów do odpowiednich kolejek (mechanizmy QoS) • Kontrolowanie dostępu do linii ssh • itp. ACL – rozszerzona – c.d. • Oprócz IP można również uwzględniać źródło i/lub przeznaczenie pakietu (ale wtedy trzeba wejść wyżej niż do warstwy transportu) • Np. pozwalaj lub nie na używanie telnet, FTP, interaktywne przeglądanie stron Listy dostępu (ACL) • Przygotowanych list na danym ruterze może być dużo. Każda musi mieć swój unikalny numer lub nazwę • Zakres numeracji dla list standardowych: 1-99 oraz 1300 – 1399 • Zakres numeracji dla list rozszerzonych : 100-199 oraz 2000 - 2699 Numeracja list dla innych systemów i protokołów • RouterA(config)#access-list ? <1-99> IP standard access list <100-199> IP extended access list <200-299> Protocol type-code access list <300-399> DECnet access list <400-499> XNS standard access list <500-599> XNS extended access list <600-699> Appletalk access list <700-799> 48-bit MAC address access list <800-899> IPX standard access list <900-999> IPX extended access list <1000-1099> IPX SAP access list <1100-1199> Extended 48-bit MAC address access list <1200-1299> IPX summary address access list ACL – c.d. • Może istnieć tylko jedna lista na interfejs, na protokół lub na kierunek (np. jedna ACL na IP przychodzące i jedna na wychodzące). Musi być zainstalowana. • Każda lista musi mieć przynajmniej jedną komendę „permit”, inaczej byłoby to zamknięcie interfejsu (jako ‘default’ wszystkie pozostałe IP są odrzucane) • Gdy przypisana lista dostępu jest pusta – przepuszczany jest cały ruch Schemat blokowy ACL START TAK NIE NIE Zgodność wzorca Udzielić dostępu Koniec listy NIE TAK TAK PERMIT DENY KONIEC Model TCP/IP - protokoły • 5. Application layer (DHCP – Dynamic Host Configuration Protocol, DNS – Domain Name Service, FTP – File Transfer Protocol, TELNET, SSH – Secure Shell Encryption…) • 4. Transport layer (TCP – Transport Control Protocol, UDP – User Datagram Protocol, IGMP – Internet Group Management Protocol, ICMP – Internet Control Message Protocol (also v. 6), …) • 3. Network/Internet Layer (IPv4, IPv.6, OSPF – Open Shortest Path First, ARP – Address Resolution Protocol, …) • 2. Data link layer (Token Ring, Ethernet, GPRS – General Packet Radio Service, …) • 1. Physical layer ACL standardowe • „sięgają” tylko do zawartości protokołu IP (warstwa sieci) • Funkcje IP: • • • • • Source routing Operacje routingu Loose and strict routing Opcja zapisywania trasy (Route-Recording Option) Opcja zapisywania czasu (Timestamp Option) – w milisekundach, wg Greenwitch • Moduł ICMP (Internet Control Message Protocol ) IP – Datagram nagłówka VERSION (4) HEADER LENGTH (4) TYPE OF SERVICE (8) TOTAL LENGTH (16) FLAGS (3) FRAGMENT OFFSET (13) TIME TO LIVE (8) PROTOCOL (8) c.d. HEADER CHECKSUM (16) SOURCE ADDRESS (32) DESTINATION ADDRESS (32) OPTIONS AND PADDING (Variable) DATA (Variable) Struktura pakietu IP po 32 bity • • • • • • • Bity 0-3 wersja IP 4-7 długość nagłówka 8-15 typ usługi (Type of Service) 16-31 całkowita długość pakietu + (0-15) numer ID + (16-18) Flagi + (19-31) Offset (przesunięcie) c.d. • • • • • • • ++ (0-7) TTL – czas życia pakietu ++ (8-15) – protokół warstwy wyższej ++ (16-31) – Suma kontrolna nagłówka +++ (0-31) adres źródłowy IP ++++(0-31) adres docelowy IP +++++(0-18) opcje (19-31) uzupełnienie Od 192 bitu - dane Długość nagłówka • Pole zawiera 4 bity; ilość 32-bitowych słów składających się na nagłówek. Typowo nagłówek zawiera 20 bajtów, więc wartość w polu zazwyczaj wynosi 5 (0101) TOS (Type of Service) • Ustalanie priorytetu i klasy usługi (pierwsze 2 bity dają rodzaj usługi – np. ssh, ftp; „1” w trzecim bicie – to prosba o opóźnienie, w czwartym – żądanie zwiększenia przepływności, w 5 – tzw bit niezawodności – żądanie zwiększenia jakości, dwa ostatnie – zależnie od operatora; nie są ustandaryzowane) Całkowita długość pakietu • 16 bitów pozwala na ustawienie wielkości maksymalnej na 65.536 bajtów • Wszystkie bramki w sieci globalnej „muszą dać sobie radę” przynajmniej z 576 bajtów • Minimalna długość pakietu: 20 bajtów (czyli typowa długość nagłówka) ID • Potrzebny do fragmentacji i defragmentacji (pozwala odbiorcy zidentyfikować, skąd pochodzi fragment) Flagi • Wskazują, czy wolno dzielić fragment, a jeżeli tak – ostatni bit mówi, czy to jest ostatni fragment pakietu; Offset pokazuje numer fragmentu (od 0 w górę) Time to live - TTL • Liczba (8 bitów) zostaje zmniejszana przy przejściu przez każdy router. Po osiągnięciu 0 pakiet nie jest dalej przekazywany – zapobiega to nieskończonemu błąkaniu się pakietów po sieci Protokół warstwy wyższej Na przykład: • TCP – to wartość 6 • ICMP – to 1 • UDP – to 17 • OSI transport layer - 20 Główne usługi IP • Source routing (protokół warstwy wyższej [ULP] może dać listę kolejnych adresów IP aż do końcowego skoku) • Routing operations – decyzje co do soku zgodnie z listą lub tabelą dostępnych bramek (statycznych lub dynamicznych); obliczanie drogi najkrótszej • Informację o niedostępności może przesłać ICMP, IP nie ma takich mechanizmów Główne usługi IP – c.d. • Loose and strict routing • Loose – dopóki „da się”, wykorzystana jest ‘source list’, jeżeli nie ma możliwości, droga i najbliższy skok wykonywany jest zgodnie z innymi algorytmami • Strict – tylko zgodnie z ‘source list’, jeżeli nie – to wcale Główne usługi IP – c.d. • Route-Recording Option – tak, jak ‘source routing’, ale z zapisywaniem ścieżki • Timestamp Option – każdy moduł IP daje swój czas z dokładnością do milisekund, wg czasu Greenvich • ICMP module (internet control message protocol) – BO IP JEST BEZPOŁĄCZENIOWY (CONECTIONLESS) I NIE MA ŻADNYCH MECHANIZMÓW KONTROLI Aby „obsłużyć” listy rozszerzone • Pakiet musi wejść do warstwy transportu (ponad IP). Jest tam protokół TCP (obsługuje nie tylko IP) • TCP odpowiada za realizację wirtualnego kanału (end-to-end), niezawodność, pełen duplex, komunikaty ACK i NACK itd. • Daje możliwość ustalenia priorytetów i poziomu bezpieczeństwa Segment TCP (PDU) 32 bits H E A D E R P A R T Source port (16) Destination port (16) Sequence number (32) Acknowledgment number (32) Data offset Reserv ed (6) (4) UAPRSF RCSSYI GKHTNN Checksum (16) Options (Variable) DATA (Variable) Window (16) Urgent Pointer (16) Padding • Source port & Destination port – identyfikuje programy z wyższej warstwy (aplikacji), które uzywają połączenia TCP • Sequence number –numer kolejny pierwszego bajtu w polu danych użytkownika (specyfikuje położenie strumienia bajtów) • W ramach zarządzania połączeniem – podaje initial send sequence (ISS) – numer, który ma być użyty jako następna numeracja danych użytkownika • Acknowledgment number ustawiany jest na wartość, która potwierdza ostatnie otrzymane dane (wszystkie bajty do bieżącego minus jeden) • Data offset pole, które podaje ilość 32bitowych słów w nagłówku TCP; określa, gdzie zaczyna się pole danych • Reserved field –zawiera 6 bitów, które najczęściej są ustawione na 0 (zarezerwowane) Flagi • URG wskazuje, że wskaźnik (urgent pointer) jest znaczący • ACK wskazuje, czy pole potwierdzenia (acknowledgment ) jest znaczące • PSH wskazuje , że moduł wymaga ręcznej obsługi (przycisku) • RST wskazuje, że połączenie musi zostać zresetowane Flagi – c.d. • SYN wskazuje, że numery kolejne muszą być zsynchronizowane • FIN wskazuje, że wysyłający nie ma już danych do wysłania (rodzaj EOT) • Window – ustawione na wartość wskazującą ilość bajtów, które odbiornik chce przyjmować • Checksum – zawiera 16-bitowe uzupełnienie ‘1’ (uwzględnia nagłówek i dane) • Urgent pointer – wskazuje bajt z pilnymi danymi. • Options – pole umożliwia rozwój protokołu TCP; 3 opcje: 0: koniec listy opcji 1: żadnej operacji 2: maksymalny rozmiar segmentu • Padding – pole uzupełniające; główka TCP musi być parzysta wielokrotnością 32 bitów. Format UDP 32 bits SOURCE PORT DESTINATION PORT CHECKSUM LENGTH DATA Source Port: port aplikacji wysyłającej (pole opcjonalne). Jeżeli nie jest używane – wypełnione zerami • Destination Port: identyfikuje port na hoście przeznaczenia • Length – identyfikuje długość datagramu użytkownika, włącznie z główka i danymi (wartość minimalna – 8 X 8 bitów) • Checksum – 16-bitów DHCP – Dynamic Host Configuration Protocol • Znajduje się w warstwie aplikacji • Został opublikowany jako standard w roku 1993 (RFC 2131); DHCPv6 opisany w RFC 3315 jest integralną częścią opisu IPv6 • Protokół komunikacyjny - umożliwia uzyskanie od serwera danych konfiguracyjnych (adres IP hosta, bramy sieciowej, DNS, maski podsieci…)