Wykład 9
Sieci komputerowe (2)
Topologia sieci
Pojęcie „
topologia
” oznacza (dla naszych
potrzeb)
schemat połączeń
w danej
sieci. Cechą charakterys-tyczną dla sieci
komputerowych
jest
ich
hierar-
chiczność
, podobna do komórkowej
budowy organiz-mów żywych: wielka
ogólnoświatowa sieć to zlepek wielu
sieci
lokalnych
(LAN)
połączonych
strukturami rozległymi (WAN). Sieci
lokalne też są wieloczłonowe - od
małych systemów o zasięgu jednej firmy
czy szkoły aż do sieci miejskich czy
akademickich.
Nasza nadrzędna sieć to
Wrocławska
Akademicka Sieć Komputerowa
(
WASK
).
1 gwwask (156.17.103.254) 1.164 ms
2 c355012.wask.wroc.pl (156.17.254.202) 2.416 ms
3 witawask-g12centrum.wask.wroc.pl (156.17.255.131)
2.013 ms
4 z-wroclawia.wroc.poznan-gw.622.pol34.pl
(212.191.224.133) 7.248 ms
5 pol-34.pl1.pl.geant.net (62.40.103.109) 5.584 ms
6 pl.cz1.cz.geant.net (62.40.96.45) 28.256 ms
7 cz.de1.de.geant.net (62.40.96.38) 33.359 ms
8 de.fr1.fr.geant.net (62.40.96.50) 41.806 ms
9 fr.uk1.uk.geant.net (62.40.96.90) 49.711 ms
10 62.40.126.13 (62.40.126.13) 116.148 ms
11 62.40.126.6 (62.40.126.6) 119.198 ms
12 chi-s-nyc.es.net (134.55.205.106) 136.445 ms
13 ameslab-chi.es.net (134.55.208.37) 154.336 ms
14 al-rtr3-ext.ameslab.gov (147.155.254.2) 155.776 ms
Droga pakietu z sieci Wydziału do
Ameslab (USA)
Adresy internetowe (IPv4)
Adresy symboliczne, jak
www.wroclaw.pl
,
są tłuma-czone na odpowiednie kody
cyfrowe (
adresy IP
) przez
serwery nazw
,
czyli
DNS-y
(
Domain Name Server
). W
standardzie IPv4 adresy IP to czterobaj-
towe cyfry, np.
195.205.155.2
Pewne adresy są zarezerwowane na cele
sieci lokal-nych, ich występowanie w
„zewnętrznym”
Internecie
jest
niedozwolone:
A 10.000.0.0 - 10.255.255.255
B 172.016.0.0 - 172.031.255.255
C 192.168.0.0 - 192.168.255.255
localhost: 127.0.0.1
Adresy internetowe (IPv6)
Mimo że standard IPv4 daje do
dyspozycji kilka miliardów adresów IP,
uważa się obecnie, że jest on mało
elastyczny przy
routingu
(przekazywaniu
pa-kietów
między
sieciami).
Nowy
protokół
IPv6
, który ma stopniowo
zastępować wersję IPv4, używa adre-
sowania
16-bajtowego.
Przykładowy
adres IPv6 to
02fe:8ed9:31fc:cf23:3123:759c:1234:002a
Jak ograniczyć ataki z
zewnątrz?
Projektując sieć LAN powinniśmy się
zastanowić,
czy
potrzebne
jest
udostępnianie każdemu komputerowi
własnego numeru IP. Choć jest to
wygodne, zwiększa możliwość ataków na
poszczególne maszyny.
Można jednak przekierować cały ruch
sieciowy przez specjalny serwer -
firewall
- który zamienia adresy IP w
pakietach
na
swój
adres.
Świat
zewnętrzny widzi naszą sieć LAN jako
jedną maszynę - firewall, które-go
zadaniem jest odpowiednio rozdzielić
nadchodzą-ce odpowiedzi i skierować je
do właściwych kompute-rów sieci LAN.
Protokoły internetowe:
warstwy
Przesyłanie informacji w sieci jest
możliwe dzięki
protokołom
, które tworzą
warstwy
. Najniższą warstwę tworzą
protokoły
zarządzające
przesyłem
pojedynczych pakietów:
TCP/IP
. Pełnią
one rolę „alfabetu”:
a b c d а б в г
Wyższa warstwa to protokoły rządzące
zawartością pakietów, a zatem podobne
do reguł słownikowych języka:
FTP
,
telnet
,
SMTP
,
HTTP
.
Protokoły internetowe:
FTP, telnet
Protokół
FTP
(
File Transfer Protocol
)
służy do prze-syłania plików. Serwer FTP
udostępnia swe dyski dla pobierania
plików (
downloading
) albo wysyłania na
serwer (
uploading
).
Protokół
telnet
umożliwia pracę zdalną
na kompute-rze, z którym się łączymy
(jeśli jego system opera-cyjny na to
pozwala - np. UNIX).
Protokoły te mają dwie wady: połączenie
utrzymy-wane jest cały czas (nawet gdy
nic nie robimy), zaś
dane przesyłane są
w formie jawnej
- łatwej do prze-
chwycenia.
Protokoły internetowe:
SMTP, HTTP
Protokół
SMTP
(
Simple Mail Transfer
Protocol
) umożliwia przesyłanie poczty
między
maszynami.
Jeżeli
chcemy
odebrać pocztę gromadzoną dla nas na
jakimś serwerze, korzystamy z innych
protokołów:
POP3
,
IMAP
.
Strony WWW przesyłane są protokołem
HTTP
(
Hypertext Transfer Protocol
),
który działa na zasa-dzie „żądanie-
usługa”, czyli nasza maszyna wysyła
zlecenie, serwer je realizuje i odsyła
wynik,
po
czym
połączenie
jest
przerywane. Dalej jednak brak jest
zabezpieczeń przed podsłuchem.
Pliki „cookie”
Pliki
„cookie”
są formą identyfikowania
użytkow-nika - a raczej jego komputera i
przeglądarki.
Podłą-czamy
się
do
serwera, a on wysyła do nas plik „coo-
kie”, który ma zawartość identyfikującą
nas i będzie przechowywany na naszym
komputerze.
Przy
nastę-pnym
połączeniu z serwerem plik jest odsyłany
i serwer „wie, że to my”.
Niechęć niektórych osób wobec plików
„cookie” wy-nika z tego, że mogą one
służyć do zbierania informa-cji o
użytkowniku bez jego wiedzy i zgody np.
na po-trzeby firm reklamowych.
Protokoły internetowe: SSL
Protokół
SSL
(
Secure Socket Layer
)
wprowadzony
przez
Netscape
daje
możliwość szyfrowania danych. Jest on
warstwą pośrednią między TCP/IP a
„wyso-kimi” protokołami HTTP, FTP,
telnet itp. Najczę-ściej stosowany jest
jednak do połączeń HTTP, znanych
wtedy jako
HTTPS
.
Szyfrowanie danych jest sensowne tylko
wtedy, gdy złamanie kodu nie jest łatwe
- a trzeba pamiętać, że nasze dane nie
muszą być odszyfrowywane na bieżą-co -
można je przechwycić, zapisać i poddać
próbie odszyfrowania!
Protokoły internetowe: SSH
Protokół
SSH
(
Secure Shell
) umożliwia
zdalną pracę na komputerze (zwykle z
systemem wielodostępnym typu Unix)
zapewniając szyfrowanie połączenia oraz
bezpieczną autentyfikację użytkownika.
Dzięki temu SSH stopniowo wypiera
protokół telnet. Nie znaczy to, że jest
niezawodny: z uwagi na możliwość prze-
chwycenia transmisji, wersja SSH1 jest
obecnie
powoli
wycofywana
i
zastępowana przez SSH2.
Żadne protokoły szyfrujące nie zastąpią
ostrożności w posługiwaniu się hasłami
dostępu!
Nowoczesne szyfrowanie
Skomplikowane metody szyfrowania z
ubiegłych lat (np. Enigma) są nieraz
trudne do złamania przez człowieka, ale
komputer nie będzie miał z tym więk-
szego problemu z uwagi na swą
szybkość. Może on choćby próbować
odszyfrować wiadomość podsta-wiając
za hasło każde słowo ze słownika.
Dzisiejsze metody szyfrowania są zwykle
asyme-tryczne
, tj. szyfrowanie odbywa
się za pomocą
kluczy
publicznych
, a
deszyfrowanie
-
prywatnych
,
lub
odwrotnie.
Bezpieczne połączenie: SSH
1. Nasz komputer (klient) żąda połączenia
z serwerem
2. Serwer odsyła swój
klucz publiczny
i
klucz godzinny
3. Klient sprawdza, czy klucz serwera jest
zgodny
z
za-
pisanym w pamięci (bazie danych itp.)
4. Klient generuje
hasło
, szyfrując je
kodem
publicz-
nym i godzinnym serwera. Wysyła je do
serwera
5. Serwer odkodowuje hasło swoim
kluczem
prywat-
nym
i odsyła klientowi potwierdzenie
zaszyfrowane
otrzymanym hasłem
6.
Klient
odszyfrowuje
otrzymane
potwierdzenie.
Jeżeli
jest ono prawidłowe, serwer jest
wiarygodny.
Certyfikaty
Metodę kluczy publicznych i prywatnych
można wykorzystać też w drugą stronę -
jako uwierzytelnie-nie nadawcy. Klucze
publiczne (zwane też
certyfika-tami
)
gromadzi się w odpowiednich bazach
danych.
Jeżeli zaszyfruję wiadomość kluczem
prywatnym, to można ją odczytać tylko
używając mojego klucza publicznego.
Odbiorca wiadomości zna mój klucz
publiczny i wie, że jeśli wiadomość udało
mu się od-szyfrować, to pochodzi ona
właśnie ode mnie. W ten sposób działają
systemy pocztowe PGP
oraz
elektro-
niczny podpis
.