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…)

Podobne dokumenty