Bezpieczeństwo sieci - szybki przewodnik
W dzisiejszych czasach organizacje w dużym stopniu polegają na sieciach komputerowych, aby wymieniać informacje w całej organizacji w skuteczny i produktywny sposób. Organizacyjne sieci komputerowe stają się obecnie duże i wszechobecne. Zakładając, że każdy pracownik ma dedykowaną stację roboczą, duża firma miałaby kilka tysięcy stacji roboczych i wiele serwerów w sieci.
Jest prawdopodobne, że te stacje robocze mogą nie być zarządzane centralnie i nie będą miały ochrony obwodowej. Mogą mieć różne systemy operacyjne, sprzęt, oprogramowanie i protokoły, z różnym poziomem świadomości użytkowników w zakresie cyberprzestrzeni. Teraz wyobraź sobie, że te tysiące stacji roboczych w sieci firmowej są bezpośrednio połączone z Internetem. Ten rodzaj niezabezpieczonej sieci staje się celem ataku, który zawiera cenne informacje i wykazuje luki w zabezpieczeniach.
W tym rozdziale opiszemy główne luki w sieci i znaczenie bezpieczeństwa sieci. W kolejnych rozdziałach omówimy metody osiągnięcia tego samego.
Sieć fizyczna
Sieć jest definiowana jako dwa lub więcej urządzeń komputerowych połączonych ze sobą w celu efektywnego współdzielenia zasobów. Ponadto łączenie ze sobą dwóch lub więcej sieci jest znane jakointernetworking. Tak więc Internet jest tylko intersiecią - zbiorem połączonych ze sobą sieci.
Organizacja ma różne opcje konfiguracji sieci wewnętrznej. Może korzystać z sieci przewodowej lub bezprzewodowej, aby połączyć wszystkie stacje robocze. W dzisiejszych czasach organizacje najczęściej używają kombinacji zarówno sieci przewodowych, jak i bezprzewodowych.
Sieci przewodowe i bezprzewodowe
W sieci przewodowej urządzenia są połączone ze sobą kablami. Zwykle sieci przewodowe są oparte na protokole Ethernet, w którym urządzenia są połączone za pomocą kabli nieekranowanej skrętki (UTP) z różnymi przełącznikami. Przełączniki te są dalej podłączone do routera sieciowego w celu uzyskania dostępu do Internetu.
W sieci bezprzewodowej urządzenie łączy się z punktem dostępowym za pośrednictwem transmisji radiowej. Punkty dostępowe są ponadto połączone kablami z przełącznikiem / routerem w celu uzyskania dostępu do sieci zewnętrznej.
Sieci bezprzewodowe zyskały popularność dzięki oferowanej mobilności. Urządzenia mobilne nie muszą być podłączone kablem i mogą swobodnie przemieszczać się w zasięgu sieci bezprzewodowej. Zapewnia to efektywne udostępnianie informacji i zwiększa produktywność.
Luki i ataki
Powszechną luką występującą w sieciach przewodowych i bezprzewodowych jest „nieautoryzowany dostęp” do sieci. Atakujący może podłączyć swoje urządzenie do sieci przez niezabezpieczony port koncentratora / przełącznika. W związku z tym sieci bezprzewodowe są uważane za mniej bezpieczne niż sieci przewodowe, ponieważ dostęp do sieci bezprzewodowej jest łatwy bez fizycznego połączenia.
Po uzyskaniu dostępu osoba atakująca może wykorzystać tę lukę w celu przeprowadzenia ataków, takich jak -
Sniffing pakiet danych w celu kradzieży cennych informacji.
Odmowa usługi uprawnionym użytkownikom w sieci poprzez zalewanie medium sieciowego fałszywymi pakietami.
Podszywanie się pod tożsamości fizyczne (MAC) legalnych hostów, a następnie kradzież danych lub dalsze przeprowadzanie ataku typu „man-in-the-middle”.
Protokół sieciowy
Protokół sieciowy to zestaw reguł rządzących komunikacją między urządzeniami podłączonymi do sieci. Obejmują mechanizmy nawiązywania połączeń, a także reguły formatowania pakowania danych dla wysyłanych i odbieranych wiadomości.
Opracowano kilka protokołów sieci komputerowych, z których każdy został zaprojektowany do określonych celów. Popularnymi i szeroko stosowanymi protokołami są TCP / IP z powiązanymi protokołami wyższego i niższego poziomu.
Protokół TCP / IP
Transmission Control Protocol (TCP) i Internet Protocol(IP) to dwa różne protokoły sieci komputerowych, które są najczęściej używane razem. Ze względu na swoją popularność i szerokie zastosowanie są wbudowane we wszystkie systemy operacyjne urządzeń sieciowych.
IP odpowiada warstwie sieciowej (warstwa 3), natomiast TCP odpowiada warstwie transportowej (warstwa 4) w OSI. Protokół TCP / IP dotyczy komunikacji sieciowej, w której transport TCP jest używany do dostarczania danych w sieciach IP.
Protokoły TCP / IP są powszechnie używane z innymi protokołami, takimi jak HTTP, FTP, SSH w warstwie aplikacji i Ethernet na łączu danych / warstwie fizycznej.
Zestaw protokołów TCP / IP powstał w 1980 roku jako rozwiązanie sieciowe z bardzo niewielką troską o aspekty bezpieczeństwa.
Został opracowany do komunikacji w ograniczonej zaufanej sieci. Jednak z biegiem czasu protokół ten stał się de facto standardem niezabezpieczonej komunikacji internetowej.
Niektóre z typowych luk w zabezpieczeniach zestawów protokołów TCP / IP to:
HTTP to protokół warstwy aplikacji w pakiecie TCP / IP używany do przesyłania plików, które tworzą strony internetowe, z serwerów WWW. Te transfery są wykonywane w postaci zwykłego tekstu, a intruz może łatwo odczytać pakiety danych wymieniane między serwerem a klientem.
Inną luką w zabezpieczeniach HTTP jest słabe uwierzytelnianie między klientem a serwerem WWW podczas inicjowania sesji. Ta luka może prowadzić do ataku przejmującego sesję, w którym osoba atakująca kradnie sesję HTTP legalnego użytkownika.
Luka w zabezpieczeniach protokołu TCP to potrójne uzgadnianie przy ustanawianiu połączenia. Osoba atakująca może przeprowadzić atak typu „SYN-flooding” typu „odmowa usługi”, aby wykorzystać tę lukę. Ustanawia wiele półotwartych sesji, nie kończąc uścisku dłoni. Prowadzi to do przeciążenia serwera i ostatecznie do awarii.
Warstwa IP jest podatna na wiele luk. Poprzez modyfikację nagłówka protokołu IP osoba atakująca może przeprowadzić atak polegający na fałszowaniu adresu IP.
Oprócz wyżej wymienionych, w rodzinie protokołów TCP / IP istnieje wiele innych luk w zabezpieczeniach, zarówno w fazie projektowania, jak i ich implementacji.
Nawiasem mówiąc, w przypadku komunikacji sieciowej opartej na protokole TCP / IP, jeśli jedna warstwa zostanie zhakowana, inne warstwy nie dowiedzą się o włamaniu, a cała komunikacja zostanie naruszona. W związku z tym istnieje potrzeba stosowania kontroli bezpieczeństwa na każdej warstwie, aby zapewnić niezawodne bezpieczeństwo.
Protokół DNS
Domain Name System(DNS) służy do zamiany nazw domen hosta na adresy IP. Użytkownicy sieci polegają na funkcjonalności DNS głównie podczas przeglądania Internetu poprzez wpisywanie adresu URL w przeglądarce internetowej.
W ataku na DNS celem atakującego jest zmodyfikowanie prawidłowego rekordu DNS, tak aby został zamieniony na nieprawidłowy adres IP. Może skierować cały ruch związany z tym adresem IP na niewłaściwy komputer. Osoba atakująca może wykorzystać lukę w zabezpieczeniach protokołu DNS lub złamać zabezpieczenia serwera DNS w celu zmaterializowania ataku.
DNS cache poisoningto atak wykorzystujący lukę w protokole DNS. Osoba atakująca może zatruć pamięć podręczną, sfałszując odpowiedź na rekursywne zapytanie DNS wysłane przez mechanizm rozpoznawania nazw do autorytatywnego serwera. Gdy pamięć podręczna programu rozpoznawania nazw DNS zostanie zatruta, host zostanie przekierowany na złośliwą witrynę internetową i może przejąć informacje uwierzytelniające, komunikując się z tą witryną.
Protokół ICMP
Internet Control Management Protocol(ICMP) to podstawowy protokół zarządzania siecią w sieciach TCP / IP. Służy do wysyłania komunikatów o błędach i kontrolnych dotyczących stanu urządzeń w sieci.
ICMP jest integralną częścią implementacji sieci IP i dlatego jest obecny w samej konfiguracji sieci. ICMP ma swoje własne luki w zabezpieczeniach i może zostać wykorzystany do przeprowadzenia ataku na sieć.
Typowe ataki, które mogą wystąpić w sieci z powodu luk w zabezpieczeniach protokołu ICMP, to:
Protokół ICMP umożliwia atakującemu przeprowadzenie rozpoznania sieci w celu określenia topologii sieci i ścieżek do niej. Przeszukiwanie ICMP obejmuje wykrycie wszystkich adresów IP hostów, które istnieją w całej sieci docelowej.
Trace route to popularne narzędzie ICMP używane do mapowania sieci docelowej poprzez opisywanie ścieżki w czasie rzeczywistym od klienta do zdalnego hosta.
Osoba atakująca może przeprowadzić atak typu „odmowa usługi” przy użyciu luki ICMP. Atak ten polega na wysyłaniu pakietów ping IPMP, które przekraczają 65 535 bajtów do urządzenia docelowego. Komputer docelowy nie obsługuje poprawnie tego pakietu i może spowodować uszkodzenie systemu operacyjnego.
Inne protokoły, takie jak ARP, DHCP, SMTP itp. Również mają swoje luki w zabezpieczeniach, które osoba atakująca może wykorzystać w celu złamania zabezpieczeń sieci. Omówimy niektóre z tych luk w dalszych rozdziałach.
Najmniejsza troska o aspekt bezpieczeństwa podczas projektowania i wdrażania protokołów stała się główną przyczyną zagrożeń bezpieczeństwa sieci.
Cele bezpieczeństwa sieci
Jak omówiono we wcześniejszych sekcjach, w sieci istnieje wiele luk. Dlatego podczas transmisji dane są bardzo podatne na ataki. Atakujący może zaatakować kanał komunikacyjny, uzyskać dane i przeczytać to samo lub ponownie wstawić fałszywą wiadomość, aby osiągnąć swoje nikczemne cele.
Bezpieczeństwo sieci dotyczy nie tylko bezpieczeństwa komputerów na każdym końcu łańcucha komunikacyjnego; ma jednak na celu zapewnienie bezpieczeństwa całej sieci.
Bezpieczeństwo sieci obejmuje ochronę użyteczności, niezawodności, integralności i bezpieczeństwa sieci i danych. Skuteczne zabezpieczenia sieci zapobiegają przedostawaniu się do sieci lub rozprzestrzenianiu się w niej różnorodnych zagrożeń.
Podstawowym celem bezpieczeństwa sieci jest poufność, integralność i dostępność. Te trzy filary bezpieczeństwa sieci są często przedstawiane jakoCIA triangle.
Confidentiality- Funkcją poufności jest ochrona cennych danych biznesowych przed osobami nieupoważnionymi. Poufność części bezpieczeństwa sieci zapewnia, że dane są dostępne tylko dla osób do tego przeznaczonych i upoważnionych.
Integrity- Ten cel oznacza utrzymanie i zapewnienie dokładności i spójności danych. Funkcją integralności jest upewnienie się, że dane są wiarygodne i nie są zmieniane przez osoby nieuprawnione.
Availability - Funkcją dostępności w Network Security jest zapewnienie, że dane, zasoby / usługi sieciowe są stale dostępne dla uprawnionych użytkowników, kiedy tylko tego potrzebują.
Osiągnięcie bezpieczeństwa sieci
Zapewnienie bezpieczeństwa sieci może wydawać się bardzo proste. Cele do osiągnięcia wydają się proste. Ale w rzeczywistości mechanizmy wykorzystywane do osiągnięcia tych celów są bardzo złożone, a ich zrozumienie wymaga rozsądnego rozumowania.
International Telecommunication Union(ITU), w swoich zaleceniach dotyczących architektury bezpieczeństwa X.800, określił pewne mechanizmy w celu wprowadzenia standaryzacji metod zapewniających bezpieczeństwo sieci. Niektóre z tych mechanizmów to -
En-cipherment- Mechanizm ten zapewnia usługi w zakresie poufności danych poprzez przekształcenie danych w nieczytelne formy dla osób nieuprawnionych. Ten mechanizm wykorzystuje algorytm szyfrowania-deszyfrowania z tajnymi kluczami.
Digital signatures- Mechanizm ten jest elektronicznym odpowiednikiem zwykłych podpisów w danych elektronicznych. Zapewnia autentyczność danych.
Access control- Ten mechanizm służy do świadczenia usług kontroli dostępu. Mechanizmy te mogą wykorzystywać identyfikację i uwierzytelnianie podmiotu do określania i egzekwowania praw dostępu podmiotu.
Po opracowaniu i zidentyfikowaniu różnych mechanizmów bezpieczeństwa zapewniających bezpieczeństwo sieci, konieczne jest podjęcie decyzji, gdzie je zastosować; zarówno fizycznie (w jakiej lokalizacji), jak i logicznie (na jakiej warstwie architektury, takiej jak TCP / IP).
Mechanizmy bezpieczeństwa w warstwach sieciowych
Kilka mechanizmów bezpieczeństwa zostało opracowanych w taki sposób, że można je rozwijać w określonej warstwie modelu warstwy sieciowej OSI.
Security at Application Layer- Środki bezpieczeństwa stosowane w tej warstwie są specyficzne dla aplikacji. Różne rodzaje aplikacji wymagałyby oddzielnych środków bezpieczeństwa. Aby zapewnić bezpieczeństwo warstwy aplikacji, należy je modyfikować.
Uważa się, że zaprojektowanie poprawnego kryptograficznie protokołu aplikacji jest bardzo trudne, a jego prawidłowe wdrożenie jest jeszcze trudniejsze. Dlatego mechanizmy zabezpieczeń warstwy aplikacji służące do ochrony komunikacji sieciowej są preferowane jako jedyne rozwiązania oparte na standardach, które są używane od pewnego czasu.
Przykładem protokołu zabezpieczeń warstwy aplikacji jest Secure Multipurpose Internet Mail Extensions (S / MIME), który jest powszechnie używany do szyfrowania wiadomości e-mail. DNSSEC to kolejny protokół w tej warstwie używany do bezpiecznej wymiany wiadomości zapytań DNS.
Security at Transport Layer- Środki bezpieczeństwa w tej warstwie mogą służyć do ochrony danych podczas jednej sesji komunikacyjnej między dwoma hostami. Najpopularniejszym zastosowaniem protokołów zabezpieczeń warstwy transportowej jest ochrona ruchu sesji HTTP i FTP. Protokoły Transport Layer Security (TLS) i Secure Socket Layer (SSL) są najczęściej używanymi protokołami do tego celu.
Network Layer- Środki bezpieczeństwa w tej warstwie można zastosować do wszystkich aplikacji; w związku z tym nie są one specyficzne dla aplikacji. Cała komunikacja sieciowa między dwoma hostami lub sieciami może być chroniona w tej warstwie bez modyfikowania aplikacji. W niektórych środowiskach protokół zabezpieczeń warstwy sieciowej, taki jak Internet Protocol Security (IPsec), stanowi znacznie lepsze rozwiązanie niż mechanizmy transportu lub warstwy aplikacji ze względu na trudności z dodawaniem kontroli do poszczególnych aplikacji. Jednak protokoły bezpieczeństwa w tej warstwie zapewniają mniejszą elastyczność komunikacji, która może być wymagana przez niektóre aplikacje.
Nawiasem mówiąc, mechanizm bezpieczeństwa zaprojektowany do działania w wyższej warstwie nie może zapewnić ochrony danych w niższych warstwach, ponieważ niższe warstwy wykonują funkcje, których warstwy wyższe nie są świadome. W związku z tym może być konieczne wdrożenie wielu mechanizmów bezpieczeństwa w celu zwiększenia bezpieczeństwa sieci.
W kolejnych rozdziałach samouczka omówimy mechanizmy bezpieczeństwa stosowane w różnych warstwach architektury sieciowej OSI w celu osiągnięcia bezpieczeństwa sieci.
Różne usługi biznesowe są obecnie oferowane online za pośrednictwem aplikacji klient-serwer. Najpopularniejsze formularze to aplikacja internetowa i poczta elektroniczna. W obu aplikacjach klient komunikuje się z wyznaczonym serwerem i uzyskuje usługi.
Korzystając z usługi z dowolnej aplikacji serwerowej, klient i serwer wymieniają wiele informacji w intranecie lub Internecie. Mamy świadomość, że te transakcje informacyjne są narażone na różne ataki.
Bezpieczeństwo sieci polega na zabezpieczaniu danych przed atakami podczas ich przesyłania w sieci. Aby osiągnąć ten cel, zaprojektowano wiele protokołów bezpieczeństwa w czasie rzeczywistym. Taki protokół musi zapewniać co najmniej następujące główne cele -
- Strony mogą negocjować interaktywnie w celu wzajemnego uwierzytelnienia.
- Przed wymianą informacji w sieci ustal tajny klucz sesji.
- Wymień informacje w postaci zaszyfrowanej.
Co ciekawe, protokoły te działają na różnych warstwach modelu sieciowego. Na przykład protokół S / MIME działa w warstwie aplikacji, protokół SSL jest przeznaczony do pracy w warstwie transportowej, a protokół IPsec w warstwie sieciowej.
W tym rozdziale omówimy różne procesy zapewniania bezpieczeństwa komunikacji e-mail oraz powiązane protokoły bezpieczeństwa. Metodę zabezpieczenia DNS omówiono w dalszej części. W kolejnych rozdziałach zostaną opisane protokoły zapewniające bezpieczeństwo w sieci.
Bezpieczeństwo poczty elektronicznej
W dzisiejszych czasach poczta elektroniczna stała się bardzo szeroko stosowaną aplikacją sieciową. Omówmy pokrótce infrastrukturę poczty e-mail, zanim przejdziemy do poznania protokołów bezpieczeństwa poczty e-mail.
Infrastruktura poczty elektronicznej
Najprostszym sposobem wysłania wiadomości e-mail byłoby wysłanie wiadomości bezpośrednio z maszyny nadawcy do maszyny odbiorcy. W takim przypadku ważne jest, aby obie maszyny działały w sieci jednocześnie. Jednak ta konfiguracja jest niepraktyczna, ponieważ użytkownicy mogą czasami łączyć swoje komputery z siecią.
Stąd pojawiła się koncepcja konfiguracji serwerów poczty elektronicznej. W tej konfiguracji poczta jest wysyłana do serwera pocztowego, który jest stale dostępny w sieci. Gdy urządzenie odbiorcy łączy się z siecią, odczytuje pocztę z serwera pocztowego.
Ogólnie rzecz biorąc, infrastruktura poczty e-mail składa się z siatki serwerów pocztowych, zwanych również Message Transfer Agents (MTA) i komputery klienckie z programem pocztowym składającym się z agenta użytkownika (UA) i lokalnego MTA.
Zwykle wiadomość e-mail jest przekazywana dalej z jego UA, przechodzi przez siatkę MTA i ostatecznie dociera do UA na komputerze odbiorcy.
Protokoły używane do przesyłania wiadomości e-mail są następujące -
Prosty protokół przesyłania poczty (SMTP) używany do przesyłania dalej wiadomości e-mail.
Post Office Protocol (POP) i Internet Message Access Protocol (IMAP) są używane do pobierania wiadomości z serwera przez odbiorcę.
MIM
Podstawowy internetowy standard poczty elektronicznej został opracowany w 1982 roku i opisuje format wiadomości e-mail wymienianych w Internecie. Obsługuje głównie wiadomości e-mail zapisane jako tekst w podstawowym alfabecie łacińskim.
W 1992 roku odczuwano potrzebę poprawy tego samego. W związku z tym zdefiniowano dodatkowe standardowe Multipurpose Internet Mail Extensions (MIME). Jest to zestaw rozszerzeń do podstawowego standardu internetowej poczty e-mail. MIME umożliwia wysyłanie wiadomości e-mail przy użyciu znaków innych niż podstawowy alfabet łaciński, takich jak cyrylica (używana w języku rosyjskim), alfabet grecki, czy nawet znaki ideograficzne języka chińskiego.
Kolejną potrzebą spełnianą przez MIME jest wysyłanie treści nietekstowych, takich jak obrazy lub klipy wideo. Ze względu na te cechy standard MIME został powszechnie przyjęty w protokole SMTP do komunikacji e-mailowej.
Usługi bezpieczeństwa poczty elektronicznej
Rosnące wykorzystanie komunikacji e-mailowej w przypadku ważnych i kluczowych transakcji wymaga zapewnienia pewnych podstawowych usług bezpieczeństwa, takich jak:
Confidentiality - Wiadomość e-mail nie powinna być czytana przez nikogo poza zamierzonym odbiorcą.
Authentication - Odbiorca e-maila może mieć pewność co do tożsamości nadawcy.
Integrity - Zapewnienie odbiorcy, że wiadomość e-mail nie została zmieniona od czasu jej przesłania przez nadawcę.
Non-repudiation - Odbiorca wiadomości e-mail jest w stanie udowodnić osobie trzeciej, że nadawca rzeczywiście wysłał wiadomość.
Proof of submission - Nadawca wiadomości e-mail otrzymuje potwierdzenie przekazania wiadomości do systemu dostarczania poczty.
Proof of delivery - Nadawca otrzymuje potwierdzenie, że odbiorca otrzymał wiadomość.
Usługi bezpieczeństwa, takie jak prywatność, uwierzytelnianie, integralność wiadomości i niezaprzeczalność, są zwykle świadczone przy użyciu kryptografii klucza publicznego.
Zazwyczaj istnieją trzy różne scenariusze komunikacji e-mailowej. Omówimy metody osiągnięcia powyższych usług bezpieczeństwa w tych scenariuszach.
E-mail indywidualny
W tym scenariuszu nadawca wysyła wiadomość e-mail tylko do jednego odbiorcy. Zwykle w komunikacji zaangażowanych jest nie więcej niż dwóch MTA.
Załóżmy, że nadawca chce wysłać poufną wiadomość e-mail do odbiorcy. Zapewnienie prywatności w tym przypadku jest realizowane w następujący sposób -
Nadawca i odbiorca mają swoje klucze publiczno-prywatne odpowiednio jako (S PVT , S PUB ) i (R PVT , R PUB ).
Nadawca generuje tajny klucz symetryczny K S do szyfrowania. Chociaż nadawca mógł użyć R PUB do szyfrowania, klucz symetryczny jest używany do osiągnięcia szybszego szyfrowania i deszyfrowania.
Nadawca szyfruje wiadomość kluczem K S, a także szyfruje K S kluczem publicznym odbiorcy R PUB .
Nadawca wysyła zaszyfrowaną wiadomość i zaszyfrowaną K S do odbiorcy.
Odbiorca najpierw uzyskuje K S przez odszyfrowanie zakodowanego K S za pomocą swojego klucza prywatnego R PVT .
Następnie odbiorca odszyfrowuje wiadomość przy użyciu klucza symetrycznego, k S .
Jeśli w tym scenariuszu są również potrzebne usługi integralności wiadomości, uwierzytelniania i niezaprzeczalności, do powyższego procesu dodawane są następujące kroki.
Nadawca tworzy skrót wiadomości i podpisuje go cyfrowo swoim kluczem prywatnym S PVT .
Nadawca wysyła ten podpisany hash do odbiorcy wraz z innymi składnikami.
Odbiorca używa klucza publicznego S PUB i wyodrębnia skrót otrzymany pod podpisem nadawcy.
Następnie odbiorca haszuje odszyfrowaną wiadomość i porównuje teraz dwie wartości skrótu. Jeśli są zgodne, uznaje się, że integralność wiadomości została osiągnięta.
Odbiorca ma również pewność, że wiadomość została wysłana przez nadawcę (uwierzytelnienie). I wreszcie, nadawca nie może zaprzeczyć, że nie wysłał wiadomości (niezaprzeczalność).
E-mail dla adresatów jeden do wielu
W tym scenariuszu nadawca wysyła wiadomość e-mail do dwóch lub większej liczby odbiorców. Lista jest zarządzana przez program pocztowy nadawcy (UA + lokalny MTA). Wszyscy odbiorcy otrzymują tę samą wiadomość.
Załóżmy, że nadawca chce wysłać poufną wiadomość e-mail do wielu odbiorców (powiedzmy R1, R2 i R3). Zapewnienie prywatności w tym przypadku odbywa się w następujący sposób -
Nadawca i wszyscy odbiorcy mają własną parę kluczy publiczno-prywatnych.
Nadawca generuje tajny klucz symetryczny K s i szyfruje wiadomość tym kluczem.
Następnie nadawca wielokrotnie szyfruje K S za pomocą kluczy publicznych R1, R2 i R3, uzyskując R1 PUB (K S ), R2 PUB (K S ) i R3 PUB (K S ).
Nadawca wysyła zaszyfrowaną wiadomość i odpowiednie zaszyfrowane K S do odbiorcy. Na przykład odbiorca 1 (R1) odbiera zaszyfrowaną wiadomość i R1 PUB (K S ).
Każdy odbiorca najpierw wyodrębnia klucz K S przez odszyfrowanie zakodowanego K S za pomocą swojego klucza prywatnego.
Następnie każdy odbiorca odszyfrowuje wiadomość przy użyciu klucza symetrycznego, k S .
Aby zapewnić integralność wiadomości, uwierzytelnianie i niezaprzeczalność, kroki, które należy wykonać, są podobne do kroków opisanych powyżej w scenariuszu e-mail jeden do jednego.
E-mail z listą wysyłkową
W tym scenariuszu nadawca wysyła wiadomość e-mail do dwóch lub większej liczby odbiorców, ale lista adresatów nie jest zarządzana lokalnie przez nadawcę. Generalnie serwer poczty elektronicznej (MTA) obsługuje listę mailingową.
Nadawca wysyła wiadomość do MTA zarządzającego listą mailingową, a następnie jest ona rozsyłana przez MTA do wszystkich odbiorców na liście.
W tym przypadku, gdy nadawca chce wysłać poufną wiadomość e-mail do odbiorców listy mailingowej (powiedzmy R1, R2 i R3); prywatność jest zapewniona w następujący sposób -
Nadawca i wszyscy odbiorcy mają własną parę kluczy publiczno-prywatnych. Serwer Exploder ma parę kluczy prywatny-publiczny dla każdej utrzymywanej listy mailingowej (List PUB , List PVT ).
Nadawca generuje tajny klucz symetryczny K s, a następnie szyfruje wiadomość tym kluczem.
Następnie nadawca szyfruje K S kluczem publicznym skojarzonym z listą, uzyskuje List PUB (K S ).
Nadawca wysyła zaszyfrowaną wiadomość i List PUB (K S ). Zapalnik MTA deszyfruje listy PUB (K S ) za pomocą listy PVT i uzyska K S .
Eksploder szyfruje K S za pomocą tylu kluczy publicznych, ilu jest członków na liście.
Exploder przekazuje odebraną zaszyfrowaną wiadomość i odpowiadającą jej zaszyfrowaną K S do wszystkich odbiorców na liście. Na przykład Exploder przekazuje zaszyfrowaną wiadomość i R1 PUB (K S ) do odbiorcy 1 i tak dalej.
W celu zapewnienia integralności wiadomości, uwierzytelnienia i niezaprzeczalności kroki, które należy wykonać, są podobne do tych podanych w przypadku scenariusza wiadomości e-mail jeden do jednego.
Co ciekawe, oczekuje się, że program pocztowy wykorzystujący powyższą metodę zabezpieczenia poczty elektronicznej będzie działał we wszystkich możliwych scenariuszach omówionych powyżej. Większość z powyższych mechanizmów bezpieczeństwa poczty e-mail jest zapewniana przez dwa popularne schematy, Pretty Good Privacy (PGP) i S / MIME. Omówimy oba w kolejnych sekcjach.
PGP
Pretty Good Privacy(PGP) to schemat szyfrowania wiadomości e-mail. Stał się de facto standardem świadczenia usług bezpieczeństwa komunikacji e-mailowej.
Jak wspomniano powyżej, wykorzystuje kryptografię klucza publicznego, kryptografię klucza symetrycznego, funkcję skrótu i podpis cyfrowy. Zapewnia -
- Privacy
- Uwierzytelnianie nadawcy
- Integralność wiadomości
- Non-repudiation
Oprócz tych usług bezpieczeństwa zapewnia również kompresję danych i obsługę zarządzania kluczami. PGP wykorzystuje istniejące algorytmy kryptograficzne, takie jak RSA, IDEA, MD5 itp., Zamiast wymyślać nowe.
Działanie PGP
Obliczany jest skrót wiadomości. (Algorytm MD5)
Wynikowy 128-bitowy hash jest podpisywany kluczem prywatnym nadawcy (algorytm RSA).
Podpis cyfrowy jest łączony z wiadomością, a wynik jest kompresowany.
128-bitowy klucz symetryczny K S są generowane i wykorzystywane do szyfrowania sprężonego wiadomość z IDEA.
K S jest szyfrowane kluczem publicznym odbiorcy za pomocą algorytmu RSA, a wynik jest dołączany do zaszyfrowanej wiadomości.
Format wiadomości PGP pokazano na poniższym schemacie. Identyfikatory wskazują, który klucz jest używany do szyfrowania KS i który ma być używany do weryfikacji podpisu na hashu.
W schemacie PGP wiadomość jest podpisana i zaszyfrowana, a następnie MIME jest kodowana przed transmisją.
Certyfikat PGP
Certyfikat klucza PGP jest zwykle ustanawiany na podstawie łańcucha zaufania. Na przykład klucz publiczny A jest podpisywany przez B przy użyciu jego klucza publicznego, a klucz publiczny B jest podpisywany przez C przy użyciu jego klucza publicznego. W miarę trwania tego procesu tworzy sieć zaufania.
W środowisku PGP każdy użytkownik może pełnić rolę urzędu certyfikującego. Każdy użytkownik PGP może poświadczyć klucz publiczny innego użytkownika PGP. Jednak taki certyfikat jest ważny tylko dla innego użytkownika, jeśli ten użytkownik rozpozna certyfikującego jako zaufanego wprowadzającego.
Z taką metodą certyfikacji wiąże się kilka problemów. Znalezienie łańcucha prowadzącego ze znanego i zaufanego klucza publicznego do żądanego klucza może być trudne. Ponadto może istnieć wiele łańcuchów, które mogą prowadzić do różnych kluczy dla żądanego użytkownika.
PGP może również korzystać z infrastruktury PKI z urzędem certyfikacji, a klucze publiczne mogą być certyfikowane przez CA (certyfikat X.509).
S / MIME
S / MIME to skrót od Secure Multipurpose Internet Mail Extension. S / MIME to bezpieczny standard poczty elektronicznej. Opiera się na wcześniejszym niezabezpieczonym standardzie e-mailingu zwanym MIME.
Działanie S / MIME
Podejście S / MIME jest podobne do PGP. Wykorzystuje również kryptografię klucza publicznego, kryptografię klucza symetrycznego, funkcje skrótu i podpisy cyfrowe. Zapewnia podobne usługi bezpieczeństwa jak PGP do komunikacji e-mail.
Najpopularniejsze szyfry symetryczne używane w S / MIME to RC2 i TripleDES. Zwykłą metodą klucza publicznego jest RSA, a algorytm haszowania to SHA-1 lub MD5.
S / MIME określa dodatkowy typ MIME, taki jak „application / pkcs7-mime”, do umieszczania danych po zaszyfrowaniu. Cała jednostka MIME jest szyfrowana i pakowana w obiekt. S / MIME ma ustandaryzowane formaty wiadomości kryptograficznych (inne niż PGP). W rzeczywistości MIME jest rozszerzony o niektóre słowa kluczowe w celu zidentyfikowania zaszyfrowanych i / lub podpisanych części wiadomości.
S / MIME opiera się na certyfikatach X.509 do dystrybucji kluczy publicznych. Do obsługi certyfikacji wymaga hierarchicznej infrastruktury PKI odgórnej w dół.
Zatrudnialność S / MIME
Ze względu na wymaganie certyfikatu od urzędu certyfikacji do wdrożenia, nie wszyscy użytkownicy mogą korzystać z S / MIME, ponieważ niektórzy mogą chcieć zaszyfrować wiadomość za pomocą pary kluczy publiczny / prywatny. Na przykład bez zaangażowania lub kosztów administracyjnych związanych z certyfikatami.
W praktyce, chociaż większość aplikacji e-mailingowych implementuje S / MIME, proces rejestracji certyfikatu jest złożony. Zamiast tego obsługa PGP zwykle wymaga dodania wtyczki, a ta wtyczka zawiera wszystko, co jest potrzebne do zarządzania kluczami. W rzeczywistości sieć zaufania nie jest używana. Ludzie wymieniają swoje klucze publiczne na innym nośniku. Po uzyskaniu przechowują kopię kluczy publicznych osób, z którymi zwykle wymienia się e-maile.
Warstwa implementacji w architekturze sieciowej dla schematów PGP i S / MIME jest pokazana na poniższym obrazku. Oba te schematy zapewniają bezpieczeństwo komunikacji e-mail na poziomie aplikacji.
Jeden ze schematów, PGP lub S / MIME, jest używany w zależności od środowiska. Bezpieczną komunikację e-mail w sieci dostępowej można zapewnić, dostosowując się do PGP. Ze względu na bezpieczeństwo poczty e-mail w Internecie, gdzie wiadomości e-mail są wymieniane bardzo często z nowymi nieznanymi użytkownikami, S / MIME jest uważane za dobrą opcję.
Bezpieczeństwo DNS
W pierwszym rozdziale wspomnieliśmy, że osoba atakująca może wykorzystać usługę DNS Cache Poisoning do przeprowadzenia ataku na docelowego użytkownika. Domain Name System Security Extensions (DNSSEC) to standard internetowy, który może udaremnić takie ataki.
Podatność standardowego DNS
W standardowym schemacie DNS, gdy użytkownik chce połączyć się z dowolną nazwą domeny, jego komputer kontaktuje się z serwerem DNS i wyszukuje powiązany adres IP dla tej nazwy domeny. Po uzyskaniu adresu IP komputer łączy się z tym adresem IP.
W tym schemacie w ogóle nie ma procesu weryfikacji. Komputer pyta swój serwer DNS o adres powiązany z witryną internetową, serwer DNS odpowiada za pomocą adresu IP, a Twój komputer bez wątpienia akceptuje to jako uzasadnioną odpowiedź i łączy się z tą witryną.
W rzeczywistości wyszukiwanie DNS przebiega w kilku etapach. Na przykład, gdy komputer pyta o „www.tutorialspoint.com”, wyszukiwanie DNS jest wykonywane w kilku etapach -
Komputer najpierw pyta lokalny serwer DNS (dostarczony przez usługodawcę internetowego). Jeśli dostawca usług internetowych ma tę nazwę w swojej pamięci podręcznej, w innym przypadku przekazuje zapytanie do „katalogu strefy głównej”, gdzie może znaleźć „.com”. i odpowiedzi strefy głównej.
Na podstawie odpowiedzi komputer pyta o katalog „.com”, w którym może znaleźć „tutorialspoint.com”.
Na podstawie otrzymanych informacji komputer pyta „tutorialspoint.com”, gdzie może znaleźć www. tutorialspoint.com.
Zdefiniowane DNSSEC
Wyszukiwanie DNS, gdy jest wykonywane przy użyciu DNSSEC, obejmuje podpisywanie odpowiedzi przez podmiot odpowiadający. DNSSEC jest oparty na kryptografii klucza publicznego.
W standardzie DNSSEC każda strefa DNS ma parę kluczy publiczny / prywatny. Wszystkie informacje wysyłane przez serwer DNS są podpisane kluczem prywatnym strefy źródłowej w celu zapewnienia autentyczności. Klienci DNS muszą znać klucze publiczne strefy, aby sprawdzić podpisy. Klienci mogą być wstępnie skonfigurowani przy użyciu kluczy publicznych wszystkich domen najwyższego poziomu lub głównego serwera DNS.
W przypadku DNSSEC proces wyszukiwania przebiega w następujący sposób -
Gdy komputer chce zapytać strefę główną, gdzie może znaleźć domenę .com, odpowiedź jest podpisywana przez serwer strefy głównej.
Komputer sprawdza klucz podpisywania strefy głównej i potwierdza, że jest to uprawniona strefa główna, podając prawdziwe informacje.
W odpowiedzi strefa główna dostarcza informacji o kluczu podpisywania serwera .com zone i jego lokalizacji, umożliwiając komputerowi kontakt z katalogiem .com i upewniając się, że jest to legalne.
Katalog .com dostarcza następnie klucz podpisu i informacje dla tutorialspoint.com, umożliwiając mu skontaktowanie się z google.com i sprawdzenie, czy jesteś połączony z prawdziwym tutorialspoint.com, co potwierdzają strefy nad nim.
Przesyłane informacje mają postać zestawu rekordów zasobów (RRSets). Przykład ustawienia RRSet dla domeny „tutorialspoint.com” na serwerze najwyższego poziomu „.com” przedstawiono w poniższej tabeli.
Nazwa domeny | Czas żyć | Rodzaj | Wartość |
---|---|---|---|
tutorialspoint.com | 86400 | NS | dns.tutorialspoint.com |
dns.tutorialspoint.com | 86400 | ZA | 36..1.2.3 |
tutorialspoint.com | 86400 | KLUCZ | 3682793A7B73F731029CE2737D ... |
tutorialspoint.com | 86400 | SIG | 86947503A8B848F5272E53930C ... |
Rekord KEY jest kluczem publicznym witryny „tutorialspoint.com”.
Rekord SIG to podpisany skrót serwera .com najwyższego poziomu pól NS, A i KEY w celu zweryfikowania ich autentyczności. Jego wartość to Kcom pvt (H (NS, A, KEY)).
Dlatego uważa się, że po pełnym wdrożeniu DNSSEC komputer użytkownika jest w stanie potwierdzić, że odpowiedzi DNS są uzasadnione i prawdziwe, a także uniknąć ataków DNS przeprowadzanych przez zatruwanie pamięci podręcznej DNS.
Podsumowanie
Proces zabezpieczania wiadomości e-mail zapewnia kompleksowe bezpieczeństwo komunikacji. Świadczy usługi w zakresie poufności, uwierzytelniania nadawcy, integralności wiadomości i niezaprzeczalności.
Opracowano dwa schematy bezpieczeństwa poczty e-mail: PGP i S / MIME. Oba te schematy wykorzystują kryptografię klucza tajnego i klucza publicznego.
Standardowe wyszukiwanie DNS jest podatne na ataki, takie jak spoofing DNS / poisoning cache. Zabezpieczenie wyszukiwania DNS jest możliwe dzięki zastosowaniu DNSSEC, który wykorzystuje kryptografię klucza publicznego.
W tym rozdziale omówiliśmy mechanizmy stosowane w warstwie aplikacji w celu zapewnienia bezpieczeństwa sieci w komunikacji typu end-to-end.
Bezpieczeństwo sieci polega na zabezpieczaniu danych przed atakami podczas ich przesyłania w sieci. Aby osiągnąć ten cel, zaprojektowano wiele protokołów bezpieczeństwa w czasie rzeczywistym. Istnieją popularne standardy protokołów bezpieczeństwa sieci w czasie rzeczywistym, takie jak S / MIME, SSL / TLS, SSH i IPsec. Jak wspomniano wcześniej, protokoły te działają na różnych warstwach modelu sieci.
W ostatnim rozdziale omówiliśmy kilka popularnych protokołów zaprojektowanych w celu zapewnienia bezpieczeństwa warstwy aplikacji. W tym rozdziale omówimy proces osiągania bezpieczeństwa sieci w warstwie transportowej i powiązane protokoły bezpieczeństwa.
W przypadku sieci opartej na protokole TCP / IP warstwy fizyczne i łącza danych są zwykle implementowane w terminalu użytkownika i sprzęcie karty sieciowej. Warstwy TCP i IP są zaimplementowane w systemie operacyjnym. Wszystko powyżej TCP / IP jest implementowane jako proces użytkownika.
Potrzeba zabezpieczenia warstwy transportowej
Omówmy typową internetową transakcję biznesową.
Bob odwiedza witrynę Alice, aby sprzedawać towary. W formularzu na stronie internetowej Bob wpisuje rodzaj towaru i żądaną ilość, swój adres i dane karty płatniczej. Bob klika „Prześlij” i czeka na dostawę towaru, obciążając jego konto kwotą ceny. Wszystko to brzmi dobrze, ale w przypadku braku zabezpieczeń sieci Bob może spotkać się z kilkoma niespodziankami.
Jeśli transakcje nie wykorzystywały poufności (szyfrowania), osoba atakująca mogłaby uzyskać informacje o swojej karcie płatniczej. Atakujący może wtedy dokonać zakupów na koszt Boba.
Jeśli nie jest stosowana żadna miara integralności danych, osoba atakująca może zmodyfikować zamówienie Roberta pod względem rodzaju lub ilości towarów.
Wreszcie, jeśli nie jest używane żadne uwierzytelnianie serwera, serwer może wyświetlać słynne logo Alicji, ale witryna może być złośliwą witryną utrzymywaną przez atakującego podszywającego się pod Alicję. Po otrzymaniu rozkazu Boba mógł zabrać pieniądze Boba i uciec. Albo może dokonać kradzieży tożsamości, zbierając imię i nazwisko Boba oraz dane karty kredytowej.
Schematy zabezpieczeń warstwy transportowej mogą rozwiązać te problemy, ulepszając komunikację sieciową opartą na protokole TCP / IP o poufność, integralność danych, uwierzytelnianie serwera i uwierzytelnianie klienta.
Zabezpieczenia w tej warstwie są najczęściej używane do zabezpieczania transakcji internetowych opartych na protokole HTTP w sieci. Jednak może być używany przez dowolną aplikację działającą przez TCP.
Filozofia projektowania TLS
Protokoły Transport Layer Security (TLS) działają powyżej warstwy TCP. Konstrukcja tych protokołów wykorzystuje popularne interfejsy programów użytkowych (API) do TCP, zwane „gniazdami” do łączenia się z warstwą TCP.
Aplikacje są teraz połączone bezpośrednio z Transport Security Layer zamiast TCP. Transport Security Layer zapewnia proste API z gniazdami, które jest podobne i analogiczne do API TCP.
Na powyższym diagramie, chociaż technicznie TLS znajduje się między aplikacją a warstwą transportową, z powszechnej perspektywy jest to protokół transportowy, który działa jako warstwa TCP wzbogacona o usługi bezpieczeństwa.
TLS został zaprojektowany do działania przez TCP, niezawodny protokół warstwy 4 (nie na protokole UDP), aby projekt TLS był znacznie prostszy, ponieważ nie musi martwić się o „przekroczenie limitu czasu” i „ponowne przesłanie utraconych danych”. Warstwa TCP nadal robi to w zwykły sposób, co zaspokaja potrzebę TLS.
Dlaczego TLS jest popularny?
Powodem popularności korzystania z zabezpieczeń w Transport Layer jest prostota. Projektowanie i wdrażanie zabezpieczeń w tej warstwie nie wymaga żadnych zmian w protokołach TCP / IP zaimplementowanych w systemie operacyjnym. Jedynie procesy i aplikacje użytkownika wymagają projektowania / modyfikacji, co jest mniej złożone.
Secure Socket Layer (SSL)
W tej sekcji omówimy rodzinę protokołów zaprojektowanych dla TLS. Rodzina obejmuje SSL w wersji 2 i 3 oraz protokół TLS. SSLv2 został teraz zastąpiony przez SSLv3, więc skupimy się na SSL v3 i TLS.
Krótka historia SSL
W roku 1995 Netscape opracował SSLv2 i użył go w Netscape Navigator 1.1. Wersja SSL 1 nigdy nie została opublikowana ani używana. Później firma Microsoft ulepszyła SSLv2 i wprowadziła inny podobny protokół o nazwie Private Communications Technology (PCT).
Firma Netscape znacznie ulepszyła protokół SSLv2 w zakresie różnych kwestii związanych z bezpieczeństwem i wdrożyła protokół SSLv3 w 1999 r. Następnie Internet Engineering Task Force (IETF) wprowadziła podobny protokół TLS (Transport Layer Security) jako otwarty standard. Protokół TLS nie współpracuje z SSLv3.
TLS zmodyfikował algorytmy kryptograficzne do rozszerzania klucza i uwierzytelniania. Ponadto protokół TLS zasugerował użycie otwartego krypto Diffie-Hellmana (DH) i standardu podpisu cyfrowego (DSS) zamiast opatentowanego krypto RSA używanego w SSL. Jednak ze względu na wygaśnięcie patentu RSA w 2000 r. Nie było mocnych powodów, dla których użytkownicy mieliby odejść od szeroko rozpowszechnionego SSLv3 na TLS.
Istotne cechy SSL
Istotne cechy protokołu SSL są następujące -
SSL zapewnia bezpieczeństwo połączenia sieciowego dzięki -
Confidentiality - Informacje są wymieniane w postaci zaszyfrowanej.
Authentication- Podmioty komunikacyjne identyfikują się za pomocą certyfikatów cyfrowych. Uwierzytelnianie na serwerze internetowym jest obowiązkowe, natomiast uwierzytelnianie klienta jest opcjonalne.
Reliability - Utrzymuje kontrolę integralności wiadomości.
SSL jest dostępny dla wszystkich aplikacji TCP.
Obsługiwane przez prawie wszystkie przeglądarki internetowe.
Zapewnia łatwość prowadzenia interesów z nowymi podmiotami online.
Opracowany głównie dla handlu elektronicznego w sieci Web.
Architektura SSL
SSL jest specyficzny dla TCP i nie działa z UDP. SSL zapewnia aplikacjom interfejs programowania aplikacji (API). Biblioteki / klasy C i Java SSL są łatwo dostępne.
Protokół SSL jest przeznaczony do współpracy między aplikacją a warstwą transportową, jak pokazano na poniższym obrazku -
Sam SSL nie jest protokołem jednowarstwowym, jak pokazano na obrazku; w rzeczywistości składa się z dwóch podwarstw.
Dolna warstwa podrzędna składa się z jednego składnika protokołu SSL zwanego protokołem SSL Record. Ten komponent zapewnia usługi w zakresie integralności i poufności.
Górna warstwa podrzędna składa się z trzech komponentów protokołu związanych z SSL i protokołu aplikacji. Komponent aplikacji zapewnia usługę przesyłania informacji między interakcjami klient / serwer. Technicznie może również działać na warstwie SSL. Trzy składniki protokołu związane z SSL to -
- SSL Handshake Protocol
- Zmień protokół specyfikacji szyfrowania
- Protokół alertów.
Te trzy protokoły zarządzają wszystkimi wymianami komunikatów SSL i zostaną omówione w dalszej części tej sekcji.
Funkcje składników protokołu SSL
Cztery podkomponenty protokołu SSL obsługują różne zadania związane z bezpieczną komunikacją między komputerem klienckim a serwerem.
Protokół nagrywania
Warstwa rekordu formatuje komunikaty protokołu wyższej warstwy.
Fragmentuje dane na łatwe w zarządzaniu bloki (maksymalna długość 16 KB). Opcjonalnie kompresuje dane.
Szyfruje dane.
Zawiera nagłówek dla każdej wiadomości i skrót (kod uwierzytelniania wiadomości (MAC)) na końcu.
Przekazuje sformatowane bloki do warstwy TCP w celu transmisji.
SSL Handshake Protocol
Jest to najbardziej złożona część SSL. Jest wywoływana przed przesłaniem jakichkolwiek danych aplikacji. Tworzy sesje SSL między klientem a serwerem.
Ustanowienie sesji obejmuje uwierzytelnienie serwera, negocjację klucza i algorytmu, ustanowienie kluczy i uwierzytelnienie klienta (opcjonalnie).
Sesja jest identyfikowana przez unikalny zestaw kryptograficznych parametrów bezpieczeństwa.
Wiele bezpiecznych połączeń TCP między klientem a serwerem może współużytkować tę samą sesję.
Działania protokołu Handshake w czterech fazach. Zostały one omówione w następnej sekcji.
Protokół ChangeCipherSpec
Najprostsza część protokołu SSL. Składa się z pojedynczej wiadomości wymienianej między dwoma komunikującymi się jednostkami, klientem i serwerem.
Gdy każda jednostka wysyła komunikat ChangeCipherSpec, zmienia swoją stronę połączenia w stan bezpieczny zgodnie z ustaleniami.
Stan oczekujących parametrów szyfrowania jest kopiowany do stanu bieżącego.
Wymiana tej wiadomości oznacza, że wszystkie przyszłe wymiany danych są szyfrowane, a integralność jest chroniona.
Protokół alertów SSL
Ten protokół jest używany do zgłaszania błędów - takich jak nieoczekiwany komunikat, zły rekord MAC, nieudana negocjacja parametrów bezpieczeństwa itp.
Służy również do innych celów - takich jak powiadamianie o zamknięciu połączenia TCP, powiadamianie o otrzymaniu złego lub nieznanego certyfikatu itp.
Utworzenie sesji SSL
Jak omówiono powyżej, istnieją cztery fazy ustanawiania sesji SSL. Są one obsługiwane głównie przez protokół SSL Handshake.
Phase 1 - Ustanowienie możliwości bezpieczeństwa.
Ta faza obejmuje wymianę dwóch wiadomości - Client_hello i Server_hello .
Client_hello zawiera listę algorytmów kryptograficznych obsługiwanych przez klienta w malejącej kolejności według preferencji.
Server_hello zawiera wybrany Cipher Specification (CipherSpec) i nowy SESSION_ID .
CipherSpec zawiera pola takie jak -
Algorytm szyfrowania (DES, 3DES, RC2 i RC4)
Algorytm MAC (oparty na MD5, SHA-1)
Algorytm klucza publicznego (RSA)
Obie wiadomości mają „nonce”, aby zapobiec atakowi typu Replay.
Phase 2 - Uwierzytelnianie serwera i wymiana kluczy.
Serwer wysyła certyfikat. Oprogramowanie klienckie jest dostarczane z kluczami publicznymi różnych „zaufanych” organizacji (CA) w celu sprawdzenia certyfikatu.
Serwer wysyła wybrany zestaw szyfrów.
Serwer może zażądać certyfikatu klienta. Zwykle się tego nie robi.
Serwer wskazuje koniec Server_hello .
Phase 3 - Uwierzytelnianie klienta i wymiana kluczy.
Klient wysyła certyfikat tylko na żądanie serwera.
Wysyła również Pre-Master Secret (PMS) zaszyfrowany kluczem publicznym serwera.
Klient wysyła również wiadomość Certificate_verify, jeśli zostanie przez niego wysłany certyfikat, aby udowodnić, że posiada klucz prywatny powiązany z tym certyfikatem. Zasadniczo klient podpisuje skrót poprzednich wiadomości.
Phase 4 - koniec.
Klient i serwer wysyłają do siebie komunikaty Change_cipher_spec w celu skopiowania oczekującego stanu szyfrowania do stanu bieżącego.
Od teraz wszystkie dane są szyfrowane i chronione integralnością.
Komunikat „Zakończono” z każdego końca potwierdza, że procesy wymiany kluczy i uwierzytelniania zakończyły się pomyślnie.
Wszystkie cztery fazy, omówione powyżej, zachodzą podczas ustanawiania sesji TCP. Nawiązywanie sesji SSL rozpoczyna się po TCP SYN / SYNACK i kończy przed TCP Fin.
Wznawianie rozłączonej sesji
Możliwe jest wznowienie rozłączonej sesji (poprzez komunikat Alert ), jeśli klient wyśle hello_request do serwera z zaszyfrowaną informacją session_id .
Następnie serwer określa, czy session_id jest prawidłowy. Jeśli zostanie zweryfikowana, wymienia ChangeCipherSpec i zakończone komunikaty z klientem i wznawia bezpieczną komunikację.
Pozwala to uniknąć ponownego obliczania parametrów szyfrowania sesji i oszczędza obliczenia na serwerze i po stronie klienta.
Klucze sesji SSL
Widzieliśmy, że podczas fazy 3 ustanawiania sesji SSL klient przesyła do serwera pre-master sekret zaszyfrowany za pomocą klucza publicznego serwera. Główny sekret i różne klucze sesji są generowane w następujący sposób -
Główny sekret jest generowany (za pomocą generatora liczb pseudolosowych) za pomocą -
Sekret przedpremierowy.
Dwie wartości nonce (RA i RB) wymienione w komunikatach client_hello i server_hello.
Sześć tajnych wartości jest następnie wyprowadzanych z tego głównego sekretu:
Tajny klucz używany z MAC (dla danych wysyłanych przez serwer)
Tajny klucz używany z MAC (dla danych wysyłanych przez klienta)
Tajny klucz i IV używane do szyfrowania (według serwera)
Tajny klucz i IV używane do szyfrowania (przez klienta)
Protokół TLS
W celu zapewnienia otwartego internetowego standardu SSL, IETF wypuścił protokół Transport Layer Security (TLS) w styczniu 1999. TLS jest zdefiniowany jako proponowany Internet Standard w RFC 5246.
Zasadnicze elementy
Protokół TLS ma te same cele co SSL.
Umożliwia aplikacjom klient / serwer komunikację w bezpieczny sposób poprzez uwierzytelnianie, zapobieganie podsłuchiwaniu i przeciwstawianie się modyfikacjom wiadomości.
Protokół TLS znajduje się nad niezawodną, zorientowaną połączeniowo warstwą transportową TCP w stosie warstw sieciowych.
Architektura protokołu TLS jest podobna do protokołu SSLv3. Ma dwa protokoły podrzędne: protokół TLS Record i protokół TLS Handshake.
Chociaż protokoły SSLv3 i TLS mają podobną architekturę, wprowadzono kilka zmian w architekturze i działaniu, szczególnie w przypadku protokołu uzgadniania.
Porównanie protokołów TLS i SSL
Istnieje osiem głównych różnic między protokołami TLS i SSLv3. Są to następujące -
Protocol Version - Nagłówek segmentu protokołu TLS zawiera numer wersji 3.1 w celu rozróżnienia między numerem 3 przenoszonym przez nagłówek segmentu protokołu SSL.
Message Authentication- TLS wykorzystuje kod uwierzytelniania wiadomości z kluczem skrótu (H-MAC). Zaletą jest to, że H-MAC działa z dowolną funkcją skrótu, nie tylko MD5 lub SHA, jak wyraźnie określono w protokole SSL.
Session Key Generation - Istnieją dwie różnice między protokołami TLS i SSL do generowania materiału klucza.
Metoda obliczania tajemnic wstępnych i głównych jest podobna. Jednak w protokole TLS do obliczania klucza głównego używa się standardu HMAC i wyjścia funkcji pseudolosowej (PRF) zamiast adresu MAC ad-hoc.
Algorytm obliczania kluczy sesji i wartości inicjacji (IV) jest inny w protokole TLS niż SSL.
Komunikat protokołu alertów -
Protokół TLS obsługuje wszystkie wiadomości używane przez protokół Alert SSL, z wyjątkiem komunikatu o braku certyfikatu , który jest zbędny. Klient wysyła pusty certyfikat, jeśli uwierzytelnienie klienta nie jest wymagane.
Wiele dodatkowych komunikatów alarmowych jest zawartych w protokole TLS dla innych warunków błędów, takich jak record_overflow, decode_error itp.
Supported Cipher Suites- SSL obsługuje zestawy szyfrów RSA, Diffie-Hellman i Fortezza. Protokół TLS obsługuje wszystkie kombinezony oprócz Fortezza.
Client Certificate Types- TLS definiuje typy certyfikatów, które mają być wymagane w wiadomości certificate_request . SSLv3 obsługuje wszystkie te elementy. Ponadto SSL obsługuje niektóre inne typy certyfikatów, takie jak Fortezza.
CertyfikatZweryfikuj i zakończone wiadomości -
W SSL dla wiadomości certificate_verify używana jest złożona procedura wiadomości. W przypadku protokołu TLS zweryfikowane informacje są zawarte w samych komunikatach uzgadniania, co pozwala uniknąć tej złożonej procedury.
Gotowa wiadomość jest obliczana na różne sposoby w protokołach TLS i SSLv3.
Padding of Data- W protokole SSL dopełnienie dodane do danych użytkownika przed szyfrowaniem jest minimalną ilością wymaganą, aby całkowity rozmiar danych był równy wielokrotności długości bloku szyfru. W protokole TLS dopełnienie może być dowolną wielkością, która daje w wyniku rozmiar danych będący wielokrotnością długości bloku szyfru, maksymalnie do 255 bajtów.
Powyższe różnice między protokołami TLS i SSLv3 podsumowano w poniższej tabeli.
Bezpieczne przeglądanie - HTTPS
W tej sekcji omówimy wykorzystanie protokołu SSL / TLS do bezpiecznego przeglądania sieci.
Zdefiniowany przez HTTPS
Do przeglądania stron internetowych używany jest protokół Hyper Text Transfer Protocol (HTTP). Funkcja HTTPS jest podobna do HTTP. Jedyną różnicą jest to, że HTTPS zapewnia „bezpieczne” przeglądanie sieci. HTTPS to skrót od HTTP over SSL. Ten protokół służy do zapewniania zaszyfrowanego i uwierzytelnionego połączenia między przeglądarką internetową klienta a serwerem witryny internetowej.
Bezpieczne przeglądanie za pośrednictwem protokołu HTTPS zapewnia szyfrowanie następujących treści -
- URL żądanej strony internetowej.
- Zawartość strony internetowej dostarczana przez serwer do klienta użytkownika.
- Treść formularzy wypełnianych przez użytkownika.
- Pliki cookie utworzone w obu kierunkach.
Działanie HTTPS
Protokół aplikacji HTTPS zazwyczaj wykorzystuje jeden z dwóch popularnych protokołów zabezpieczeń warstwy transportowej - SSL lub TLS. Proces bezpiecznego przeglądania opisano w poniższych punktach.
Żądasz połączenia HTTPS ze stroną internetową, wpisując https: //, a po nim adres URL w pasku adresu przeglądarki.
Przeglądarka internetowa inicjuje połączenie z serwerem WWW. Użycie https wywołuje użycie protokołu SSL.
Aplikacja, w tym przypadku przeglądarka, używa portu systemowego 443 zamiast portu 80 (używanego w przypadku http).
Protokół SSL przechodzi przez protokół uzgadniania w celu ustanowienia bezpiecznej sesji, jak omówiono we wcześniejszych sekcjach.
Witryna początkowo wysyła swój cyfrowy certyfikat SSL do przeglądarki. Po weryfikacji certyfikatu uzgadnianie SSL postępuje w celu wymiany wspólnych sekretów dla sesji.
Gdy serwer korzysta z zaufanego certyfikatu cyfrowego SSL, użytkownicy widzą ikonę kłódki na pasku adresu przeglądarki. Po zainstalowaniu certyfikatu Extended Validation w witrynie internetowej pasek adresu zmienia kolor na zielony.
Po ustanowieniu sesja ta składa się z wielu bezpiecznych połączeń między serwerem WWW a przeglądarką.
Korzystanie z HTTPS
Korzystanie z HTTPS zapewnia poufność, uwierzytelnianie serwera i integralność wiadomości dla użytkownika. Umożliwia bezpieczne prowadzenie handlu elektronicznego w Internecie.
Zapobiega podsłuchiwaniu danych i kradzieży tożsamości, które są powszechnymi atakami na HTTP.
Współczesne przeglądarki internetowe i serwery internetowe są wyposażone w obsługę HTTPS. Korzystanie z HTTPS przez HTTP wymaga jednak większej mocy obliczeniowej po stronie klienta i serwera, aby przeprowadzić szyfrowanie i uzgadnianie SSL.
Secure Shell Protocol (SSH)
Istotne cechy SSH są następujące -
SSH to protokół sieciowy działający na wierzchu warstwy TCP / IP. Ma on zastąpić TELNET, który zapewniał niezabezpieczone środki zdalnego logowania.
SSH zapewnia bezpieczną komunikację klient / serwer i może być używany do zadań, takich jak przesyłanie plików i poczta e-mail.
SSH2 to rozpowszechniony protokół, który zapewnia lepsze bezpieczeństwo komunikacji sieciowej w porównaniu z wcześniejszą wersją SSH1.
Zdefiniowany przez SSH
SSH jest zorganizowany jako trzy protokoły podrzędne.
Transport Layer Protocol- Ta część protokołu SSH zapewnia poufność danych, uwierzytelnianie serwera (hosta) i integralność danych. Opcjonalnie może również zapewniać kompresję danych.
Server Authentication- Klucze hosta są asymetryczne, podobnie jak klucze publiczne / prywatne. Serwer używa klucza publicznego do udowodnienia swojej tożsamości klientowi. Klient sprawdza, czy serwer, z którym nawiązał kontakt, jest „znanym” hostem z bazy danych, którą utrzymuje. Po uwierzytelnieniu serwera generowane są klucze sesji.
Session Key Establishment- Po uwierzytelnieniu serwer i klient zgadzają się na użycie szyfru. Klucze sesji są generowane zarówno przez klienta, jak i przez serwer. Klucze sesji są generowane przed uwierzytelnieniem użytkownika, dzięki czemu nazwy użytkowników i hasła mogą być przesyłane w postaci zaszyfrowanej. Te klucze są zwykle wymieniane w regularnych odstępach czasu (powiedzmy co godzinę) podczas sesji i są niszczone natychmiast po użyciu.
Data Integrity- SSH wykorzystuje algorytmy Message Authentication Code (MAC) do sprawdzania integralności danych. Jest to ulepszenie w stosunku do 32-bitowego CRC używanego przez SSH1.
User Authentication Protocol- Ta część SSH uwierzytelnia użytkownika na serwerze. Serwer sprawdza, czy dostęp jest udzielany tylko określonym użytkownikom. Obecnie używanych jest wiele metod uwierzytelniania, takich jak wpisywane hasła, Kerberos, uwierzytelnianie za pomocą klucza publicznego itp.
Connection Protocol - Zapewnia to wiele kanałów logicznych w ramach jednego podstawowego połączenia SSH.
Usługi SSH
SSH zapewnia trzy główne usługi, które umożliwiają dostarczenie wielu bezpiecznych rozwiązań. Usługi te są krótko opisane w następujący sposób -
Secure Command-Shell (Remote Logon)- Pozwala użytkownikowi edytować pliki, przeglądać zawartość katalogów i uzyskiwać dostęp do aplikacji na podłączonym urządzeniu. Administratorzy systemów mogą zdalnie uruchamiać / przeglądać / zatrzymywać usługi i procesy, tworzyć konta użytkowników, zmieniać uprawnienia do plików / katalogów i tak dalej. Wszystkie zadania możliwe do wykonania w wierszu poleceń komputera można teraz bezpiecznie wykonywać z komputera zdalnego przy użyciu bezpiecznego zdalnego logowania.
Secure File Transfer- Protokół transferu plików SSH (SFTP) został zaprojektowany jako rozszerzenie protokołu SSH-2 w celu bezpiecznego przesyłania plików. Zasadniczo jest to oddzielny protokół nałożony na protokół Secure Shell do obsługi przesyłania plików. SFTP szyfruje zarówno nazwę użytkownika / hasło, jak i przesyłane dane pliku. Używa tego samego portu co serwer Secure Shell, czyli portu systemowego nr 22.
Port Forwarding (Tunneling)- Umożliwia zabezpieczenie danych z niezabezpieczonych aplikacji opartych na protokole TCP / IP. Po skonfigurowaniu przekierowania portów Secure Shell przekierowuje ruch z programu (zwykle klienta) i wysyła go przez zaszyfrowany tunel do programu po drugiej stronie (zwykle jest to serwer). Wiele aplikacji może przesyłać dane przez pojedynczy, multipleksowany bezpieczny kanał, eliminując potrzebę otwierania wielu portów w zaporze lub routerze.
Korzyści i ograniczenia
Korzyści i ograniczenia stosowania bezpieczeństwa komunikacji w warstwie transportowej są następujące:
Korzyści
Transport Layer Security jest przezroczysty dla aplikacji.
Serwer jest uwierzytelniony.
Nagłówki warstwy aplikacji są ukryte.
Jest bardziej drobnoziarnisty niż mechanizmy bezpieczeństwa w warstwie 3 (IPsec), ponieważ działa na poziomie połączenia transportowego.
Ograniczenia
Dotyczy tylko aplikacji opartych na protokole TCP (nie dotyczy UDP).
Nagłówki TCP / IP są czytelne.
Nadaje się do bezpośredniej komunikacji między klientem a serwerem. Nie obsługuje bezpiecznych aplikacji korzystających z łańcucha serwerów (np. E-mail)
SSL nie zapewnia niezaprzeczalności, ponieważ uwierzytelnianie klienta jest opcjonalne.
W razie potrzeby uwierzytelnianie klienta należy zaimplementować powyżej SSL.
Podsumowanie
W ciągu ostatniej dekady w Internecie pojawiło się wiele aplikacji internetowych. Wiele portali e-Governance i e-Commerce pojawiło się online. Aplikacje te wymagają, aby sesja między serwerem a klientem była bezpieczna, zapewniając poufność, uwierzytelnianie i integralność sesji.
Jednym ze sposobów ograniczenia potencjalnego ataku podczas sesji użytkownika jest użycie bezpiecznego protokołu komunikacyjnego. W tym rozdziale omówiono dwa z takich protokołów komunikacyjnych, Secure Sockets Layer (SSL) i Transport Layer Security (TLS). Oba te protokoły działają w warstwie transportowej.
Inny protokół warstwy transportowej, Secure Shell (SSH), zaprojektowany w celu zastąpienia TELNET, zapewnia bezpieczne środki zdalnego logowania. Jest w stanie świadczyć różne usługi, takie jak Secure Command Shell i SFTP.
Zastosowanie zabezpieczeń warstwy transportowej ma wiele zalet. Jednak protokół bezpieczeństwa zaprojektowany w tej warstwie może być używany tylko z TCP. Nie zapewniają bezpieczeństwa komunikacji realizowanej przy użyciu protokołu UDP.
Mechanizmy zabezpieczeń warstwy sieciowej były często używane do zabezpieczania komunikacji, szczególnie w sieciach współdzielonych, takich jak Internet, ponieważ mogą one zapewnić ochronę wielu aplikacji jednocześnie bez ich modyfikowania.
We wcześniejszych rozdziałach omawialiśmy, że wiele protokołów bezpieczeństwa czasu rzeczywistego rozwinęło się w celu zapewnienia bezpieczeństwa sieci, zapewniając podstawowe zasady bezpieczeństwa, takie jak prywatność, uwierzytelnianie pochodzenia, integralność wiadomości i niezaprzeczalność.
Większość z tych protokołów skupiała się na wyższych warstwach stosu protokołów OSI, aby zrekompensować nieodłączny brak bezpieczeństwa w standardowym protokole internetowym. Chociaż metody te są cenne, nie można ich łatwo uogólnić do użycia w żadnej aplikacji. Na przykład SSL został opracowany specjalnie do zabezpieczania aplikacji, takich jak HTTP lub FTP. Ale jest kilka innych aplikacji, które również wymagają bezpiecznej komunikacji.
Potrzeba ta doprowadziła do opracowania rozwiązania zabezpieczającego w warstwie IP, tak aby wszystkie protokoły wyższych warstw mogły to wykorzystać. W 1992 roku Internet Engineering Task Force (IETF) zaczął definiować standard „IPsec”.
W tym rozdziale omówimy, w jaki sposób uzyskuje się bezpieczeństwo w warstwie sieci przy użyciu tego bardzo popularnego zestawu protokołów IPsec.
Bezpieczeństwo w warstwie sieciowej
Każdy schemat opracowany w celu zapewnienia bezpieczeństwa sieci musi być zaimplementowany w jakiejś warstwie stosu protokołów, jak pokazano na poniższym schemacie -
Warstwa | Protokoły komunikacyjne | Protokoły bezpieczeństwa |
---|---|---|
Warstwa aplikacji | HTTP FTP SMTP | PGP. S / MIME, HTTPS |
Warstwa transportowa | TCP / UDP | SSL, TLS, SSH |
Warstwa sieci | IP | IPsec |
Popularną platformą opracowaną w celu zapewnienia bezpieczeństwa w warstwie sieciowej jest Internet Protocol Security (IPsec).
Funkcje protokołu IPsec
IPsec nie został zaprojektowany do pracy tylko z TCP jako protokołem transportowym. Działa z UDP, a także z każdym innym protokołem powyżej IP, takim jak ICMP, OSPF itp.
IPsec chroni cały pakiet prezentowany w warstwie IP, w tym nagłówki wyższych warstw.
Ponieważ nagłówki wyższych warstw są ukryte i przenoszą numer portu, analiza ruchu jest trudniejsza.
IPsec działa od jednej jednostki sieciowej do innej jednostki sieciowej, a nie od procesu aplikacji do procesu aplikacji. W związku z tym można zastosować zabezpieczenia bez konieczności wprowadzania zmian w komputerach / aplikacjach poszczególnych użytkowników.
Protokół IPsec, który jest szeroko stosowany do zapewniania bezpiecznej komunikacji między jednostkami sieciowymi, może również zapewniać bezpieczeństwo między hostami.
Najpopularniejszym zastosowaniem protokołu IPsec jest zapewnienie wirtualnej sieci prywatnej (VPN) między dwoma lokalizacjami (od bramy do bramy) lub między użytkownikiem zdalnym a siecią przedsiębiorstwa (od hosta do bramy).
Funkcje bezpieczeństwa
Ważne funkcje bezpieczeństwa zapewniane przez IPsec są następujące -
Poufność
Umożliwia węzłom komunikującym się szyfrowanie wiadomości.
Zapobiega podsłuchiwaniu przez osoby trzecie.
Uwierzytelnianie pochodzenia i integralność danych.
Zapewnia pewność, że odebrany pakiet został faktycznie przesłany przez stronę zidentyfikowaną jako źródło w nagłówku pakietu.
Potwierdza, że pakiet nie został zmieniony lub w inny sposób.
Zarządzanie kluczami.
Umożliwia bezpieczną wymianę kluczy.
Ochrona przed niektórymi typami ataków bezpieczeństwa, takich jak ataki typu Replay.
Wirtualnej sieci prywatnej
Idealnie byłoby, gdyby każda instytucja chciała mieć własną prywatną sieć do komunikacji w celu zapewnienia bezpieczeństwa. Jednak utworzenie i utrzymanie takiej sieci prywatnej na rozproszonym geograficznie obszarze może być bardzo kosztowne. Wymagałoby to zarządzania złożoną infrastrukturą łączy komunikacyjnych, routerów, DNS itp.
IPsec zapewnia łatwy mechanizm wdrażania wirtualnej sieci prywatnej (VPN) dla takich instytucji. Technologia VPN umożliwia przesyłanie ruchu między biurami instytucji przez publiczny Internet poprzez szyfrowanie ruchu przed wejściem do publicznego Internetu i logiczne oddzielenie go od innego ruchu. Uproszczone działanie VPN pokazano na poniższym schemacie -
Przegląd protokołu IPsec
IPsec to struktura / zestaw protokołów zapewniających bezpieczeństwo w warstwie IP.
Pochodzenie
Na początku lat 90. z internetu korzystało niewiele instytucji, głównie do celów naukowych. Jednak w późniejszych dziesięcioleciach rozwój Internetu stał się wykładniczy ze względu na ekspansję sieci i kilka organizacji wykorzystujących ją do komunikacji i do innych celów.
Wraz z ogromnym rozwojem Internetu, w połączeniu z nieodłącznymi słabościami protokołu TCP / IP, pojawiła się potrzeba opracowania technologii, która może zapewnić bezpieczeństwo sieci w Internecie. Raport zatytułowany „Bezpieczeństwo w architekturze Internetu” został opublikowany przez Radę Architektury Internetu (IAB) w 1994 roku. Wskazał on kluczowe obszary dla mechanizmów bezpieczeństwa.
IAB uwzględnił uwierzytelnianie i szyfrowanie jako podstawowe funkcje bezpieczeństwa w IPv6, IP nowej generacji. Na szczęście te możliwości bezpieczeństwa zostały zdefiniowane w taki sposób, że można je wdrożyć zarówno z obecnym IPv4, jak i futurystycznym IPv6.
Ramy bezpieczeństwa, IPsec, zostały zdefiniowane w kilku „żądaniach komentarzy” (RFC). Niektóre specyfikacje RFC określają niektóre części protokołu, podczas gdy inne dotyczą rozwiązania jako całości.
Operacje w ramach protokołu IPsec
Można uznać, że pakiet IPsec ma dwie oddzielne operacje, gdy są wykonywane zgodnie, zapewniając pełny zestaw usług bezpieczeństwa. Te dwie operacje to komunikacja IPsec i Internetowa wymiana kluczy.
Komunikacja IPsec
Zwykle jest powiązany ze standardową funkcjonalnością protokołu IPsec. Obejmuje hermetyzację, szyfrowanie i haszowanie datagramów IP oraz obsługę wszystkich procesów związanych z pakietami.
Odpowiada za zarządzanie komunikacją zgodnie z dostępnymi stowarzyszeniami bezpieczeństwa (SA) ustanowionymi między komunikującymi się stronami.
Używa protokołów bezpieczeństwa, takich jak Authentication Header (AH) i Encapsulated SP (ESP).
Komunikacja IPsec nie jest zaangażowana w tworzenie kluczy ani zarządzanie nimi.
Sama operacja komunikacji IPsec jest powszechnie nazywana IPsec.
Internetowa wymiana kluczy (IKE)
IKE to protokół automatycznego zarządzania kluczami używany przez IPsec.
Z technicznego punktu widzenia zarządzanie kluczami nie jest niezbędne do komunikacji IPsec, a klucze można zarządzać ręcznie. Jednak ręczne zarządzanie kluczami nie jest pożądane w przypadku dużych sieci.
IKE jest odpowiedzialne za tworzenie kluczy dla IPsec i zapewnianie uwierzytelniania podczas procesu ustanawiania klucza. Chociaż IPsec może być używany do innych protokołów zarządzania kluczami, IKE jest używany domyślnie.
IKE definiuje dwa protokoły (Oakley i SKEME), które mają być używane z już zdefiniowaną strukturą zarządzania kluczami Internet Security Association Key Management Protocol (ISAKMP).
ISAKMP nie jest specyficzny dla IPsec, ale zapewnia ramy do tworzenia skojarzeń zabezpieczeń dla dowolnego protokołu.
W tym rozdziale omówiono głównie komunikację IPsec i powiązany z nią protokół stosowany w celu zapewnienia bezpieczeństwa.
Tryby komunikacji IPsec
Komunikacja IPsec ma dwa tryby działania; transport i tryby tunelu. Tryby te mogą być używane w połączeniu lub używane indywidualnie, w zależności od żądanego typu komunikacji.
Tryb transportu
IPsec nie hermetyzuje pakietu odebranego z wyższej warstwy.
Oryginalny nagłówek IP jest zachowany, a dane są przesyłane dalej w oparciu o oryginalne atrybuty ustawione przez protokół wyższej warstwy.
Poniższy diagram przedstawia przepływ danych w stosie protokołów.
Ograniczeniem rodzaju transportu jest to, że nie można świadczyć żadnych usług bramki. Jest zarezerwowany dla komunikacji typu punkt-punkt, jak pokazano na poniższej ilustracji.
Tryb tunelu
Ten tryb protokołu IPsec zapewnia usługi enkapsulacji wraz z innymi usługami bezpieczeństwa.
W trybie tunelowym cały pakiet z wyższej warstwy jest hermetyzowany przed zastosowaniem protokołu bezpieczeństwa. Dodano nowy nagłówek IP.
Poniższy diagram przedstawia przepływ danych w stosie protokołów.
Tryb tunelu jest zwykle powiązany z działaniami bramy. Hermetyzacja zapewnia możliwość wysyłania kilku sesji przez jedną bramę.
Typową komunikację w trybie tunelu przedstawiono na poniższym schemacie.
Jeśli chodzi o punkty końcowe, mają one bezpośrednie połączenie warstwy transportowej. Datagram z jednego systemu przekazany do bramy jest hermetyzowany, a następnie przekazywany do bramy zdalnej. Zdalna skojarzona brama dekapsuluje dane i przekazuje je do docelowego punktu końcowego w sieci wewnętrznej.
Korzystając z protokołu IPsec, można również ustawić tryb tunelowania między bramą a indywidualnym systemem końcowym.
Protokoły IPsec
IPsec korzysta z protokołów bezpieczeństwa, aby zapewnić żądane usługi bezpieczeństwa. Te protokoły są sercem operacji IPsec, a wszystko inne zostało zaprojektowane do obsługi tych protokołów w IPsec.
Powiązania bezpieczeństwa między komunikującymi się podmiotami są ustanawiane i utrzymywane za pomocą używanego protokołu bezpieczeństwa.
Istnieją dwa protokoły bezpieczeństwa zdefiniowane przez IPsec - Authentication Header (AH) i Encapsulating Security Payload (ESP).
Nagłówek uwierzytelniania
Protokół AH zapewnia usługę integralności danych i uwierzytelniania pochodzenia. Opcjonalnie zapewnia odporność na powtórki wiadomości. Jednak nie zapewnia żadnej formy poufności.
AH to protokół zapewniający uwierzytelnianie całości lub części zawartości datagramu poprzez dodanie nagłówka. Nagłówek jest obliczany na podstawie wartości w datagramie. To, które części datagramu są używane do obliczeń i gdzie umieścić nagłówek, zależy od trybu współpracy (tunel lub transport).
Obsługa protokołu AH jest zaskakująco prosta. Można go uznać za podobny do algorytmów używanych do obliczania sum kontrolnych lub przeprowadzania kontroli CRC w celu wykrywania błędów.
Koncepcja AH jest taka sama, z wyjątkiem tego, że zamiast używać prostego algorytmu, AH używa specjalnego algorytmu mieszającego i tajnego klucza znanego tylko komunikującym się stronom. Skonfigurowane jest powiązanie zabezpieczeń między dwoma urządzeniami, które określa te szczegóły.
Proces AH przechodzi przez następujące fazy.
Gdy pakiet IP jest odbierany z górnego stosu protokołów, IPsec określa skojarzone z nim powiązanie zabezpieczeń (SA) na podstawie informacji dostępnych w pakiecie; na przykład adres IP (źródło i miejsce docelowe).
Z SA, gdy zostanie zidentyfikowane, że protokołem bezpieczeństwa jest AH, obliczane są parametry nagłówka AH. Nagłówek AH składa się z następujących parametrów -
Pole nagłówka określa protokół pakietu następującego po nagłówku AH. Indeks parametrów sekwencji (SPI) jest uzyskiwany z SA istniejącego między komunikującymi się stronami.
Numer sekwencji jest obliczany i wstawiany. Liczby te zapewniają AH opcjonalną możliwość odparcia ataku powtórki.
Dane uwierzytelniające są obliczane w różny sposób w zależności od trybu komunikacji.
W trybie transportowym na poniższym schemacie przedstawiono obliczenie danych uwierzytelniających i zestawienie końcowego pakietu IP do transmisji. W oryginalnym nagłówku IP zmiana jest dokonywana tylko w protokole o numerze 51 do wskazanej aplikacji AH.
W trybie tunelu powyższy proces przebiega zgodnie z poniższym diagramem.
Protokół Encapsulation Security Protocol (ESP)
ESP zapewnia usługi bezpieczeństwa, takie jak poufność, integralność, uwierzytelnianie pochodzenia i opcjonalna odporność na powtórki. Zestaw świadczonych usług zależy od opcji wybranych w momencie ustanowienia Security Association (SA).
W ESP algorytmy używane do szyfrowania i generowania uwierzytelniacza są określane przez atrybuty użyte do utworzenia SA.
Proces ESP jest następujący. Pierwsze dwa kroki są podobne do procesu AH, jak opisano powyżej.
Po ustaleniu, że w grę wchodzi ESP, obliczane są pola pakietu ESP. Na poniższym schemacie przedstawiono rozmieszczenie pól ESP.
Proces szyfrowania i uwierzytelniania w trybie transportowym przedstawia poniższy diagram.
W przypadku trybu tunelowego proces szyfrowania i uwierzytelniania jest przedstawiony na poniższym schemacie.
Chociaż uwierzytelnianie i poufność są podstawowymi usługami świadczonymi przez ESP, obie są opcjonalne. Z technicznego punktu widzenia możemy użyć szyfrowania NULL bez uwierzytelniania. Jednak w praktyce jeden z dwóch musi zostać zaimplementowany, aby efektywnie używać ESP.
Podstawową koncepcją jest użycie ESP, gdy chce się uwierzytelnienia i szyfrowania, oraz użycie AH, gdy chce się uwierzytelnienia rozszerzonego bez szyfrowania.
Skojarzenia bezpieczeństwa w IPsec
Security Association (SA) to podstawa komunikacji IPsec. Cechy SA to -
Przed wysłaniem danych zostaje ustanowione wirtualne połączenie między jednostką wysyłającą i odbierającą, zwane „Security Association (SA)”.
IPsec zapewnia wiele opcji szyfrowania i uwierzytelniania w sieci. Każde połączenie IPsec może zapewnić szyfrowanie, integralność, autentyczność lub wszystkie trzy usługi. Gdy usługa bezpieczeństwa jest określona, dwie jednostki równorzędne IPsec muszą dokładnie określić, których algorytmów użyć (na przykład DES lub 3DES do szyfrowania; MD5 lub SHA-1 do integralności). Po podjęciu decyzji co do algorytmów, oba urządzenia muszą współdzielić klucze sesji.
SA to zestaw powyższych parametrów komunikacyjnych, który zapewnia relację między dwoma lub więcej systemami w celu zbudowania sesji IPsec.
SA ma prosty charakter, dlatego do komunikacji dwukierunkowej wymagane są dwa SA.
SA są identyfikowane przez numer indeksu parametru bezpieczeństwa (SPI), który istnieje w nagłówku protokołu bezpieczeństwa.
Zarówno podmioty wysyłające, jak i odbierające zachowują informacje o stanie SA. Jest podobny do punktów końcowych TCP, które również przechowują informacje o stanie. IPsec jest zorientowany na połączenie, podobnie jak TCP.
Parametry SA
Każdy SA jest jednoznacznie identyfikowany za pomocą następujących trzech parametrów -
Indeks parametrów bezpieczeństwa (SPI).
Jest to 32-bitowa wartość przypisana do SA. Służy do rozróżniania różnych skojarzeń zabezpieczeń kończących się w tym samym miejscu docelowym i używających tego samego protokołu IPsec.
Każdy pakiet IPsec zawiera nagłówek zawierający pole SPI. SPI służy do mapowania przychodzącego pakietu na SA.
SPI to losowa liczba generowana przez nadawcę w celu zidentyfikowania SA odbiorcy.
Destination IP Address - Może to być adres IP routera końcowego.
Security Protocol Identifier - Wskazuje, czy stowarzyszenie jest AH czy ESP SA.
Przykład SA między dwoma routerami biorącymi udział w komunikacji IPsec pokazano na poniższym schemacie.
Zabezpieczenia administracyjne bazy danych
W IPsec istnieją dwie bazy danych, które kontrolują przetwarzanie datagramów IPsec. Jedną z nich jest baza danych SAD, a druga to baza danych zasad bezpieczeństwa (SPD). Każdy komunikujący się punkt końcowy korzystający z IPsec powinien mieć logicznie oddzielne SAD i SPD.
Baza danych zabezpieczeń
W komunikacji IPsec punkt końcowy przechowuje stan SA w bazie danych SAD (Security Association Database). Każdy wpis SA w bazie danych SAD zawiera dziewięć parametrów, jak pokazano w poniższej tabeli -
Sr.No. | Parametry i opis |
---|---|
1 | Sequence Number Counter Do komunikacji wychodzącej. Jest to 32-bitowy numer sekwencyjny podany w nagłówkach AH lub ESP. |
2 | Sequence Number Overflow Counter Ustawia flagę opcji, aby zapobiec dalszej komunikacji przy użyciu określonego SA |
3 | 32-bit anti-replay window Służy do określania, czy przychodzący pakiet AH lub ESP jest powtórzeniem |
4 | Lifetime of the SA Czas do SA pozostanie aktywny |
5 | Algorithm - AH Używany w AH i skojarzonym kluczu |
6 | Algorithm - ESP Auth Używany w części uwierzytelniającej nagłówka ESP |
7 | Algorithm - ESP Encryption Używany w szyfrowaniu ESP i skojarzonych z nią kluczowych informacji |
8 | IPsec mode of operation Tryb transportowy lub tunelowy |
9 | Path MTU(PMTU) Każda obserwowana maksymalna jednostka transmisji ścieżki (aby uniknąć fragmentacji) |
Wszystkie wpisy SA w SAD są indeksowane przez trzy parametry SA: docelowy adres IP, identyfikator protokołu bezpieczeństwa i SPI.
Baza danych zasad bezpieczeństwa
SPD służy do przetwarzania pakietów wychodzących. Pomaga w podjęciu decyzji, jakich wpisów SAD użyć. Jeśli nie ma wpisu SAD, SPD jest używany do tworzenia nowych.
Każdy wpis SPD zawierałby -
Wskaźnik do aktywnego SA odbywającego się w SAD.
Pola selektora - Pole w pakiecie przychodzącym z wyższej warstwy używane do decydowania o zastosowaniu IPsec. Selektory mogą obejmować adres źródłowy i docelowy, numery portów, jeśli dotyczy, identyfikatory aplikacji, protokoły itp.
Wychodzące datagramy IP przechodzą z wpisu SPD do określonego SA w celu pobrania parametrów kodowania. Przychodzący datagram IPsec dociera do właściwego SA bezpośrednio przy użyciu potrójnego SPI / DEST IP / protokołu i stamtąd wyodrębnia skojarzony wpis SAD.
SPD może również określać ruch, który powinien omijać IPsec. SPD można uznać za filtr pakietów, w którym zadecydowanymi akcjami są aktywacja procesów SA.
Podsumowanie
IPsec to zestaw protokołów do zabezpieczania połączeń sieciowych. Jest to raczej złożony mechanizm, ponieważ zamiast podawać prostą definicję konkretnego algorytmu szyfrowania i funkcji uwierzytelniania, zapewnia strukturę, która pozwala na implementację wszystkiego, na co zgadzają się oba komunikujące się cele.
Authentication Header (AH) i Encapsulating Security Payload (ESP) to dwa główne protokoły komunikacyjne używane przez IPsec. Podczas gdy AH uwierzytelnia tylko, ESP może szyfrować i uwierzytelniać dane przesyłane przez połączenie.
Tryb transportu zapewnia bezpieczne połączenie między dwoma punktami końcowymi bez zmiany nagłówka IP. Tryb tunelowy hermetyzuje cały pakiet IP ładunku. Dodaje nowy nagłówek IP. Ta ostatnia służy do tworzenia tradycyjnej sieci VPN, ponieważ zapewnia wirtualny bezpieczny tunel w niezaufanym Internecie.
Konfiguracja połączenia IPsec obejmuje wszelkiego rodzaju opcje kryptograficzne. Uwierzytelnianie jest zwykle oparte na kryptograficznym skrócie, takim jak MD5 lub SHA-1. Algorytmy szyfrowania to DES, 3DES, Blowfish i AES. Możliwe są również inne algorytmy.
Oba komunikujące się punkty końcowe muszą znać tajne wartości używane podczas mieszania lub szyfrowania. Klucze ręczne wymagają ręcznego wprowadzania tajnych wartości na obu końcach, przypuszczalnie przekazywanych przez jakiś mechanizm pozapasmowy, a IKE (Internet Key Exchange) jest wyrafinowanym mechanizmem umożliwiającym robienie tego online.
Widzieliśmy, że szybki rozwój Internetu wywołał poważne obawy o bezpieczeństwo sieci. Opracowano kilka metod zapewniania bezpieczeństwa w warstwie aplikacji, transportowej lub sieciowej sieci.
Wiele organizacji stosuje środki bezpieczeństwa w wyższych warstwach OSI, od warstwy aplikacji aż po warstwę IP. Jednak jednym z obszarów pozostających ogólnie bez opieki jest utwardzanie warstwy łącza danych. Może to otworzyć sieć na różne ataki i przejęcia.
W tym rozdziale omówimy problemy związane z bezpieczeństwem w warstwie łącza danych i metody ich zwalczania. Nasza dyskusja będzie koncentrować się na sieci Ethernet.
Kwestie bezpieczeństwa w warstwie łącza danych
Warstwa łącza danych w sieciach Ethernet jest wysoce podatna na kilka ataków. Najczęstsze ataki to -
ARP Spoofing
Protokół rozpoznawania adresów (ARP) to protokół używany do mapowania adresu IP na adres fizyczny maszyny rozpoznawalny w lokalnej sieci Ethernet. Gdy host musi znaleźć fizyczny adres Media Access Control (MAC) dla adresu IP, rozgłasza żądanie ARP. Drugi host, który jest właścicielem adresu IP, wysyła odpowiedź ARP z adresem fizycznym.
Każdy komputer hosta w sieci utrzymuje tabelę zwaną „pamięcią podręczną ARP”. Tabela zawiera adresy IP i powiązane adresy MAC innych hostów w sieci.
Ponieważ ARP jest protokołem bezstanowym, za każdym razem, gdy host otrzyma odpowiedź ARP od innego hosta, nawet jeśli nie wysłał żądania ARP, akceptuje ten wpis ARP i aktualizuje pamięć podręczną ARP. Proces modyfikowania pamięci podręcznej ARP hosta docelowego za pomocą sfałszowanego wpisu znanego jako zatruwanie ARP lub spoofing ARP.
Fałszowanie ARP może pozwolić atakującemu na podszywanie się pod legalnego hosta, a następnie przechwytywanie ramek danych w sieci, modyfikowanie ich lub zatrzymywanie. Często atak jest używany do przeprowadzania innych ataków, takich jak man-in-the-middle, przechwytywanie sesji lub odmowa usługi.
Zalanie MAC
Każdy przełącznik w sieci Ethernet ma tabelę pamięci adresowalnej zawartości (CAM), w której są przechowywane adresy MAC, numery portów przełączników i inne informacje. Stół ma stały rozmiar. W ataku MAC Flooding atakujący zalewa przełącznik adresami MAC za pomocą sfałszowanych pakietów ARP, aż tablica CAM zostanie zapełniona.
Po zalaniu CAM przełącznik przechodzi w tryb koncentratora i zaczyna nadawać ruch, który nie ma wejścia CAM. Atakujący, który jest w tej samej sieci, otrzymuje teraz wszystkie ramki przeznaczone tylko dla określonego hosta.
Kradzież portów
Przełączniki Ethernet mają możliwość uczenia się i wiązania adresów MAC z portami. Gdy przełącznik odbiera ruch z portu z adresem źródłowym MAC, wiąże numer portu i ten adres MAC.
Atak polegający na kradzieży portów wykorzystuje tę zdolność przełączników. Atakujący zalewa przełącznik sfałszowanymi ramkami ARP z adresem MAC docelowego hosta jako adresem źródłowym. Switch jest oszukiwany, wierząc, że docelowy host znajduje się na porcie, do którego faktycznie jest podłączony atakujący.
Teraz wszystkie ramki danych przeznaczone dla docelowego hosta są wysyłane do portu przełącznika atakującego, a nie do hosta docelowego. W ten sposób atakujący otrzymuje teraz wszystkie ramki, które w rzeczywistości były przeznaczone tylko dla hosta docelowego.
Ataki DHCP
Protokół dynamicznej konfiguracji hosta (DHCP) nie jest protokołem łącza danych, ale rozwiązania ataków DHCP są również przydatne do udaremniania ataków warstwy 2.
Protokół DHCP służy do dynamicznego przydzielania adresów IP komputerom na określony czas. Możliwe jest zaatakowanie serwerów DHCP, powodując odmowę usługi w sieci lub podszywając się pod serwer DHCP. W przypadku ataku polegającego na blokowaniu DHCP atakujący żąda wszystkich dostępnych adresów DHCP. Skutkuje to odmową usługi dla legalnego hosta w sieci.
W ataku polegającym na fałszowaniu protokołu DHCP osoba atakująca może wdrożyć fałszywy serwer DHCP, aby udostępniać adresy klientom. W tym przypadku osoba atakująca może udostępnić komputerom hosta domyślną bramę różową z odpowiedziami DHCP. Ramki danych z hosta są teraz kierowane do bramki rouge, w której atakujący może przechwycić cały pakiet i odpowiedzieć na rzeczywistą bramę lub je upuścić.
Inne ataki
Oprócz powyższych popularnych ataków istnieją inne ataki, takie jak rozgłaszanie oparte na warstwie 2, odmowa usługi (DoS), klonowanie adresów MAC.
W ataku rozgłoszeniowym osoba atakująca wysyła sfałszowane odpowiedzi ARP do hostów w sieci. Te odpowiedzi ARP ustawiają adres MAC bramy domyślnej na adres rozgłoszeniowy. Powoduje to, że cały ruch wychodzący jest rozgłaszany, umożliwiając podsłuchiwanie przez atakującego w tej samej sieci Ethernet. Ten rodzaj ataku wpływa również na przepustowość sieci.
W atakach DoS opartych na warstwie 2 osoba atakująca aktualizuje pamięci podręczne ARP hostów w sieci o nieistniejące adresy MAC. Adres MAC każdej karty sieciowej w sieci powinien być unikalny w skali globalnej. Można go jednak łatwo zmienić, włączając klonowanie adresów MAC. Osoba atakująca wyłącza hosta docelowego poprzez atak DoS, a następnie wykorzystuje adresy IP i MAC docelowego hosta.
Atakujący przeprowadza ataki w celu przeprowadzenia ataków wyższego poziomu, aby zagrozić bezpieczeństwu informacji przesyłanych w sieci. Potrafi przechwycić wszystkie ramki i byłby w stanie odczytać dane ramki. Atakujący może działać jako pośrednik i modyfikować dane lub po prostu upuścić ramkę prowadzącą do DoS. Może przechwycić trwającą sesję między docelowym hostem a innymi maszynami i całkowicie przekazać złe informacje.
Zabezpieczanie sieci Ethernet LAN
Omówiliśmy niektóre powszechnie znane ataki w warstwie łącza danych w poprzedniej sekcji. Opracowano kilka metod łagodzenia tego typu ataków. Niektóre z ważnych metod to -
Bezpieczeństwo portu
Jest to funkcja zabezpieczeń warstwy 2 dostępna w inteligentnych przełącznikach Ethernet. Polega na powiązaniu fizycznego portu przełącznika z określonym adresem / adresami MAC. Każdy może uzyskać dostęp do niezabezpieczonej sieci, po prostu podłączając hosta do jednego z dostępnych portów przełącznika. Ale bezpieczeństwo portu może zabezpieczyć dostęp do warstwy 2.
Domyślnie zabezpieczenia portów ograniczają liczbę wejściowych adresów MAC do jednego. Można jednak zezwolić więcej niż jednemu autoryzowanemu hostowi na połączenie z tego portu poprzez konfigurację. Dozwolone adresy MAC dla każdego interfejsu można skonfigurować statycznie. Wygodną alternatywą jest włączenie „trwałego” uczenia się adresów MAC, w którym adresy MAC będą dynamicznie uczone przez port przełącznika, aż do osiągnięcia maksymalnego limitu portu.
Aby zapewnić bezpieczeństwo, reakcję na zmianę określonych adresów MAC na porcie lub nadmiarowe adresy na porcie można kontrolować na wiele różnych sposobów. Port można skonfigurować tak, aby wyłączał lub blokował adresy MAC, które przekraczają określony limit. Zalecaną najlepszą praktyką jest wyłączenie portu. Bezpieczeństwo portów zapobiega zalewaniu adresów MAC i atakom klonowania.
DHCP Snooping
Widzieliśmy, że spoofing DHCP to atak polegający na tym, że osoba atakująca nasłuchuje żądań DHCP z hosta w sieci i odpowiada na nie fałszywą odpowiedzią DHCP, zanim autoryzowana odpowiedź DHCP dotrze do hosta.
Snooping DHCP może zapobiec takim atakom. Snooping DHCP to funkcja przełącznika. Przełącznik można skonfigurować w celu określenia, które porty przełącznika mogą odpowiadać na żądania DHCP. Porty przełącznika są identyfikowane jako zaufane lub niezaufane.
Tylko porty, które łączą się z autoryzowanym serwerem DHCP, są skonfigurowane jako „zaufane” i mogą wysyłać wszystkie typy komunikatów DHCP. Wszystkie inne porty na przełączniku są niezaufane i mogą wysyłać tylko żądania DHCP. Jeśli odpowiedź DHCP pojawi się na niezaufanym porcie, port zostanie zamknięty.
Zapobieganie spoofingowi ARP
Metoda zabezpieczenia portów może zapobiegać atakom polegającym na zalewaniu adresów MAC i klonowaniu. Jednak nie zapobiega to fałszowaniu ARP. Bezpieczeństwo portu sprawdza poprawność adresu źródłowego MAC w nagłówku ramki, ale ramki ARP zawierają dodatkowe pole źródłowe MAC w ładunku danych, a host używa tego pola do zapełnienia pamięci podręcznej ARP. Poniżej wymieniono niektóre metody zapobiegania fałszowaniu ARP.
Static ARP- Jedną z zalecanych czynności jest użycie statycznych wpisów ARP w tablicy ARP hosta. Statyczne wpisy ARP to trwałe wpisy w pamięci podręcznej ARP. Jednak ta metoda jest niepraktyczna. Ponadto nie pozwala na użycie niektórych protokołów dynamicznej konfiguracji hostów (DHCP), ponieważ statyczny adres IP musi być używany dla wszystkich hostów w sieci warstwy 2.
Intrusion Detection System- Metodą obrony jest wykorzystanie systemu wykrywania włamań (IDS) skonfigurowanego do wykrywania dużych ilości ruchu ARP. Jednak IDS jest podatne na zgłaszanie fałszywych alarmów.
Dynamic ARP Inspection- Ta metoda zapobiegania fałszowaniu ARP jest podobna do szpiegowania DHCP. Używa zaufanych i niezaufanych portów. Odpowiedzi ARP są dozwolone w interfejsie przełącznika tylko na zaufanych portach. Jeśli odpowiedź ARP dotrze do przełącznika na niezaufanym porcie, zawartość pakietu odpowiedzi ARP jest porównywana z tabelą powiązań DHCP w celu zweryfikowania jej dokładności. Jeśli odpowiedź ARP jest nieprawidłowa, odpowiedź ARP jest odrzucana, a port jest wyłączany.
Zabezpieczanie protokołu drzewa opinającego
Spanning Tree Protocol (STP) to protokół zarządzania łączami warstwy 2. Głównym celem protokołu STP jest zapewnienie, że nie ma pętli przepływu danych, gdy sieć ma nadmiarowe ścieżki. Ogólnie rzecz biorąc, nadmiarowe ścieżki są budowane w celu zapewnienia niezawodności sieci. Ale mogą tworzyć śmiertelne pętle, które mogą prowadzić do ataku DoS w sieci.
Protokół drzewa opinającego
Aby zapewnić pożądaną nadmiarowość ścieżek, a także uniknąć stanu pętli, protokół STP definiuje drzewo obejmujące wszystkie przełączniki w sieci. Protokół STP wymusza na niektórych nadmiarowych łączach danych stan zablokowania i utrzymuje inne łącza w stanie przekazywania.
Jeżeli łącze w stanie przekazywania ulegnie awarii, protokół STP rekonfiguruje sieć i redefiniuje ścieżki danych, aktywując odpowiednią ścieżkę rezerwową. STP działa na mostach i przełącznikach rozmieszczonych w sieci. Wszystkie przełączniki wymieniają informacje w celu wyboru przełącznika głównego i późniejszej konfiguracji sieci. Jednostki danych protokołu mostu (BPDU) przenoszą te informacje. Poprzez wymianę jednostek BPDU wszystkie przełączniki w sieci wybierają most / przełącznik główny, który staje się punktem centralnym w sieci i kontroluje blokowane i przekazywane łącza.
Ataki na STP
Przejęcie mostu głównego. Jest to jeden z najbardziej uciążliwych typów ataków w warstwie 2. Domyślnie przełącznik LAN przyjmuje wszystkie jednostki BPDU wysłane z sąsiedniego przełącznika po wartości nominalnej. Nawiasem mówiąc, protokół STP jest zaufany, bezstanowy i nie zapewnia żadnego mechanizmu uwierzytelniania dźwięku.
W trybie ataku na roota atakujący przełącznik wysyła jednostkę BPDU co 2 sekundy z tym samym priorytetem co aktualny most główny, ale z nieco niższym numerycznie adresem MAC, co zapewnia zwycięstwo w procesie wyboru mostu głównego. Przełącznik atakującego może rozpocząć atak DoS albo przez niepoprawne potwierdzanie innych przełączników powodujących zalanie BPDU, albo przez poddawanie przełączników nadmiernego przetwarzania BPDUS przez jednoczesne twierdzenie, że jest rootem i wycofywanie się w krótkich odstępach czasu.
DoS przy użyciu Flood of Configuration BPDU. Atakujący przełącznik nie próbuje przejąć uprawnień roota. Zamiast tego generuje dużą liczbę jednostek BPDU na sekundę, co prowadzi do bardzo wysokiego wykorzystania procesora na przełącznikach.
Zapobieganie atakom na STP
Na szczęście środek zaradczy przeciwko przejęciu roota jest prosty i bezpośredni. Dwie funkcje pomagają pokonać atak przejęcia roota.
Root Guard- Root Guard ogranicza porty przełącznika, z których można negocjować most główny. Jeśli port z włączoną ochroną roota odbiera jednostki BPDU, które są lepsze od tych, które wysyła bieżący most główny, wtedy ten port jest przenoszony do stanu niespójności root i żaden ruch danych nie jest przesyłany przez ten port. Root Guard jest najlepiej wdrażany w przypadku portów, które łączą się z przełącznikami, od których nie oczekuje się przejęcia funkcji mostu głównego.
BPDU-Guard- Ochrona BPDU służy do ochrony sieci przed problemami, które mogą być spowodowane odbieraniem jednostek BPDU na portach dostępu. To są porty, które nie powinny ich odbierać. Ochronę BPDU najlepiej jest wdrażać w kierunku portów skierowanych do użytkownika, aby zapobiec włożeniu nielegalnego przełącznika przez atakującego.
Zabezpieczanie wirtualnej sieci LAN
W sieciach lokalnych wirtualne sieci lokalne (VLAN) są czasami konfigurowane jako środek bezpieczeństwa w celu ograniczenia liczby hostów podatnych na ataki warstwy 2. Sieci VLAN tworzą granice sieci, przez które ruch rozgłoszeniowy (ARP, DHCP) nie może przekroczyć.
Wirtualna sieć lokalna
Sieć wykorzystującą przełączniki obsługujące funkcje VLAN można skonfigurować do definiowania wielu sieci VLAN w ramach jednej fizycznej infrastruktury LAN.
Popularną formą sieci VLAN jest sieć VLAN oparta na portach. W tej strukturze VLAN porty przełącznika są pogrupowane w sieci VLAN za pomocą oprogramowania do zarządzania przełącznikami. W ten sposób pojedynczy przełącznik fizyczny może działać jako wiele przełączników wirtualnych.
Zastosowanie sieci VLAN zapewnia izolację ruchu. Dzieli dużą sieć rozgłoszeniową warstwy 2 na mniejsze sieci logiczne warstwy 2, zmniejszając w ten sposób zakres ataków, takich jak spoofing ARP / DHCP. Ramki danych jednej sieci VLAN mogą przechodzić z / do portów należących tylko do tej samej sieci VLAN. Przekazywanie ramek między dwiema sieciami VLAN odbywa się za pośrednictwem routingu.
Sieci VLAN zazwyczaj obejmują wiele przełączników, jak pokazano na powyższym schemacie. Łącze między portami trunkingowymi przenosi ramki wszystkich sieci VLAN zdefiniowanych przez wiele przełączników fizycznych. Dlatego ramki VLAN przekazywane między przełącznikami nie mogą być prostymi ramkami w formacie Ethernet IEEE 802.1. Ponieważ te ramki poruszają się po tym samym łączu fizycznym, muszą teraz przenosić informacje o identyfikatorze sieci VLAN. Protokół IEEE 802.1Q dodaje / usuwa dodatkowe pola nagłówka do zwykłych ramek Ethernet przekazywanych między portami magistrali.
Gdy pole następujące po dwóch polach adresów IP ma wartość 0x8100 (> 1500), ramka jest identyfikowana jako ramka 802.1Q. Wartość 2-bajtowego identyfikatora protokołu tagu (TPI) to 81-00. Pole TCI składa się z 3-bitowych informacji o priorytecie, 1-bitowego wskaźnika kwalifikującego się do odrzucenia (DEI) i 12-bitowego identyfikatora VLAN. To 3-bitowe pole priorytetu i pole DEI nie są istotne dla sieci VLAN. Bity priorytetu służą do zapewniania jakości usług.
Gdy ramka nie należy do żadnej sieci VLAN, istnieje domyślny identyfikator sieci VLAN, z którym ramka jest uważana za powiązaną.
Atak na sieci VLAN i środki zapobiegawcze
Podczas ataku z przeskokiem VLAN osoba atakująca w jednej sieci VLAN może uzyskać dostęp do ruchu w innych sieciach VLAN, które normalnie nie byłyby dostępne. Pominąłby urządzenie warstwy 3 (router) podczas komunikacji z jednej sieci VLAN do drugiej, w ten sposób zniwecząc cel utworzenia sieci VLAN.
Przeskakiwanie do sieci VLAN można przeprowadzić na dwa sposoby; przełączać podszywanie się i podwójne tagowanie.
Switch Spoofing
Może się to zdarzyć, gdy port przełącznika, do którego jest podłączony atakujący, jest w trybie „trunkingu” lub „automatycznej negocjacji”. Atakujący działa jako przełącznik i dodaje nagłówki enkapsulacji 802.1Q ze znacznikami VLAN dla docelowych zdalnych sieci VLAN do swoich wychodzących ramek. Przełącznik odbierający interpretuje te ramki jako pochodzące z innego przełącznika 802.1Q i przekazuje ramki do docelowej sieci VLAN.
Dwa środki zapobiegające atakom polegającym na fałszowaniu przełączników to ustawienie portów brzegowych w trybie dostępu statycznego i wyłączenie automatycznej negocjacji na wszystkich portach.
Podwójne tagowanie
W tym ataku osoba atakująca podłączona do natywnego portu VLAN przełącznika umieszcza dwa znaczniki VLAN w nagłówku ramki. Pierwszy znacznik dotyczy natywnej sieci VLAN, a drugi dotyczy docelowej sieci VLAN. Gdy pierwszy przełącznik odbiera ramki atakującego, usuwa pierwszy znacznik, ponieważ ramki natywnej sieci VLAN są przekazywane bez znacznika przez port trunk.
Ponieważ drugi znacznik nigdy nie został usunięty przez pierwszy przełącznik, przełącznik odbierający identyfikuje pozostały znacznik jako miejsce docelowe sieci VLAN i przekazuje ramki do hosta docelowego w tej sieci VLAN. Atak z podwójnym tagowaniem wykorzystuje koncepcję natywnej sieci VLAN. Ponieważ VLAN 1 jest domyślną siecią VLAN dla portów dostępu i domyślną natywną siecią VLAN na łączach, jest to łatwy cel.
Pierwszym środkiem zapobiegawczym jest usunięcie wszystkich portów dostępu z domyślnej sieci VLAN 1, ponieważ port atakującego musi być zgodny z portem natywnej sieci VLAN przełącznika. Drugim środkiem zapobiegawczym jest przypisanie natywnej sieci VLAN na wszystkich łączach przełącznika do jakiejś nieużywanej sieci VLAN, powiedzmy o identyfikatorze VLAN 999. I wreszcie, wszystkie przełączniki są skonfigurowane do przeprowadzania jawnego znakowania natywnych ramek VLAN na porcie trunk.
Zabezpieczanie bezprzewodowej sieci LAN
Bezprzewodowa sieć lokalna to sieć węzłów bezprzewodowych na ograniczonym obszarze geograficznym, takim jak budynek biurowy lub kampus szkolny. Węzły są zdolne do komunikacji radiowej.
Bezprzewodowa sieć LAN
Bezprzewodowa sieć LAN jest zwykle implementowana jako rozszerzenie istniejącej przewodowej sieci LAN, aby zapewnić dostęp do sieci z mobilnością urządzeń. Najpowszechniej stosowane technologie bezprzewodowych sieci LAN są oparte na standardzie IEEE 802.11 i jego poprawkach.
Dwa główne komponenty bezprzewodowej sieci LAN to:
Access Points (APs)- To są stacje bazowe dla sieci bezprzewodowej. Nadają i odbierają częstotliwości radiowe, aby komunikować się z klientami bezprzewodowymi.
Wireless Clients- Są to urządzenia komputerowe wyposażone w kartę interfejsu sieci bezprzewodowej (WNIC). Laptopy, telefony IP, PDA to typowe przykłady klientów bezprzewodowych.
Wiele organizacji wdrożyło bezprzewodowe sieci LAN. Te sieci rozwijają się fenomenalnie. Dlatego kluczowe znaczenie ma zrozumienie zagrożeń w bezprzewodowych sieciach LAN i poznanie wspólnych środków zapobiegawczych w celu zapewnienia bezpieczeństwa sieci.
Ataki w bezprzewodowej sieci LAN
Typowe ataki przeprowadzane w bezprzewodowej sieci LAN to:
Eavesdropping - Atakujący pasywnie monitoruje sieci bezprzewodowe w poszukiwaniu danych, w tym danych uwierzytelniających.
Masquerading - Atakujący podszywa się pod autoryzowanego użytkownika i uzyskuje dostęp oraz przywileje w sieciach bezprzewodowych.
Traffic Analysis - Atakujący monitoruje transmisje za pośrednictwem sieci bezprzewodowych w celu identyfikacji wzorców komunikacji i uczestników.
Denial of Service - Osoba atakująca uniemożliwia lub ogranicza normalne użytkowanie lub zarządzanie bezprzewodową siecią LAN lub urządzeniami sieciowymi.
Message Modification/Replay - Atakujący zmienia prawidłową wiadomość wysłaną przez sieci bezprzewodowe lub odpowiada na nią, usuwając ją, dodając do niej, zmieniając lub zmieniając jej kolejność.
Środki bezpieczeństwa w bezprzewodowej sieci LAN
Środki bezpieczeństwa zapewniają środki do odparcia ataków i zarządzania zagrożeniami dla sieci. Są to zarządzanie siecią, jej obsługa i środki techniczne. Poniżej opisujemy środki techniczne przyjęte w celu zapewnienia poufności, dostępności i integralności danych przesyłanych przez bezprzewodowe sieci LAN.
W bezprzewodowych sieciach LAN wszystkie punkty dostępowe powinny być skonfigurowane tak, aby zapewniały bezpieczeństwo poprzez szyfrowanie i uwierzytelnianie klienta. Rodzaje schematów używanych w bezprzewodowej sieci LAN w celu zapewnienia bezpieczeństwa są następujące:
Wired Equivalent Privacy (WEP)
Jest to algorytm szyfrowania wbudowany w standard 802.11 w celu zabezpieczenia sieci bezprzewodowych. Szyfrowanie WEP wykorzystuje szyfr strumieniowy RC4 (Rivest Cipher 4) z 40-bitowymi / 104-bitowymi kluczami i 24-bitowym wektorem inicjalizacji. Może również zapewniać uwierzytelnianie punktu końcowego.
Jest to jednak najsłabszy mechanizm bezpieczeństwa szyfrowania, ponieważ w szyfrowaniu WEP odkryto szereg błędów. WEP również nie ma protokołu uwierzytelniania. Dlatego nie zaleca się używania WEP.
Protokół 802.11i
W tym protokole możliwe są liczne i silniejsze formy szyfrowania. Został opracowany, aby zastąpić słaby schemat WEP. Zapewnia mechanizm dystrybucji kluczy. Obsługuje jeden klucz na stację i nie używa tego samego klucza dla wszystkich. Używa serwera uwierzytelniającego niezależnego od punktu dostępu.
IEEE802.11i nakazuje użycie protokołu o nazwie Counter mode z CBC-MAC Protocol (CCMP). CCMP zapewnia poufność i integralność przesyłanych danych oraz autentyczność nadawcy. Jest on oparty na szyfrze blokowym Advanced Encryption Standard (AES).
Protokół IEEE802.11i ma cztery fazy działania.
STA i AP komunikują się i odkrywają wzajemne możliwości bezpieczeństwa, takie jak obsługiwane algorytmy.
STA i AS wzajemnie się uwierzytelniają i razem generują klucz główny (MK). AP działa jak „przejście”.
STA wyprowadza Pairwise Master Key (PMK). AS pobiera ten sam PMK i wysyła do AP.
STA i AP używają PMK do uzyskiwania klucza czasowego (TK), który ma być używany do szyfrowania wiadomości i integralności danych.
Inne standardy
Wi-Fi Protected Access(WPA) - Ten protokół implementuje większość standardu IEEE 802.11i. Istniał przed IEEE 802.11i i używa algorytmu RC4 do szyfrowania. Posiada dwa tryby pracy. W trybie „Enterprise” WPA używa protokołu uwierzytelniania 802.1x do komunikacji z serwerem uwierzytelniającym, dlatego klucze pre-master (PMK) są specyficzne dla stacji klienckiej. W trybie „osobistym” nie korzysta ze standardu 802.1x, PMK jest zastępowany kluczem wstępnym, który jest używany w środowiskach bezprzewodowej sieci LAN dla małych biur domowych (SOHO).
WPA obejmuje również kontrolę integralności wiadomości dźwiękowej, zastępującą cykliczną kontrolę nadmiarową (CRC), która była używana w standardzie WEP.
WPA2- WPA2 zastąpił WPA. WPA2 implementuje wszystkie obowiązkowe elementy schematu IEEE 802.11i. W szczególności obejmuje obowiązkową obsługę CCMP, trybu szyfrowania opartego na AES z silnymi zabezpieczeniami. Tak więc, jeśli chodzi o ataki, WPA2 / IEEE802.11i zapewnia odpowiednie rozwiązania do obrony przed słabymi punktami WEP, atakami typu man-in-the-middle, fałszowaniem pakietów i atakami typu replay. Jednak atak DoS nie jest właściwie adresowany i nie ma solidnych protokołów, które zatrzymywałyby takie ataki, ponieważ takie ataki są skierowane na warstwę fizyczną, na przykład ingerowanie w pasmo częstotliwości.
Podsumowanie
W tym rozdziale rozważaliśmy ataki i techniki łagodzenia skutków przy założeniu przełączanej sieci Ethernet z protokołem IP. Jeśli w Twojej sieci nie jest używany protokół Ethernet jako protokół warstwy 2, niektóre z tych ataków mogą nie mieć zastosowania, ale istnieje prawdopodobieństwo, że taka sieć jest podatna na różnego rodzaju ataki.
Bezpieczeństwo jest tak silne, jak najsłabsze ogniwo. Jeśli chodzi o sieci, warstwa 2 może być bardzo słabym ogniwem. Wspomniane w tym rozdziale środki bezpieczeństwa warstwy 2 znacznie przyczyniają się do ochrony sieci przed wieloma typami ataków.
Kontrola dostępu do sieci to metoda zwiększania bezpieczeństwa prywatnej sieci organizacyjnej poprzez ograniczenie dostępności zasobów sieciowych do urządzeń końcowych, które są zgodne z polityką bezpieczeństwa organizacji. Typowy schemat kontroli dostępu do sieci składa się z dwóch głównych komponentów, takich jak ograniczony dostęp i ochrona granic sieci.
Ograniczony dostęp do urządzeń sieciowych uzyskuje się poprzez uwierzytelnianie użytkownika i kontrolę autoryzacji, która jest odpowiedzialna za identyfikację i uwierzytelnianie różnych użytkowników w systemie sieciowym. Autoryzacja to proces przyznawania lub odmawiania określonych uprawnień dostępu do chronionego zasobu.
Network Boundary Protectionkontroluje łączność logiczną do iz sieci. Na przykład można wdrożyć wiele zapór ogniowych, aby zapobiec nieautoryzowanemu dostępowi do systemów sieciowych. W celu ochrony przed atakami z Internetu można również wdrożyć technologie wykrywania i zapobiegania włamaniom.
W tym rozdziale omówimy metody identyfikacji i uwierzytelniania użytkowników w celu uzyskania dostępu do sieci, a następnie różne typy zapór ogniowych i systemy wykrywania włamań.
Zabezpieczanie dostępu do urządzeń sieciowych
Ograniczenie dostępu do urządzeń w sieci jest bardzo istotnym krokiem do zabezpieczenia sieci. Ponieważ urządzenia sieciowe obejmują zarówno sprzęt komunikacyjny, jak i komputerowy, naruszenie ich bezpieczeństwa może potencjalnie spowodować uszkodzenie całej sieci i jej zasobów.
Paradoksalnie, wiele organizacji zapewnia doskonałe bezpieczeństwo swoich serwerów i aplikacji, ale pozostawia komunikujące się urządzenia sieciowe z podstawowymi zabezpieczeniami.
Ważnym aspektem bezpieczeństwa urządzeń sieciowych jest kontrola dostępu i autoryzacja. Opracowano wiele protokołów, aby spełnić te dwa wymagania i zwiększyć bezpieczeństwo sieci na wyższym poziomie.
Uwierzytelnianie i autoryzacja użytkownika
Uwierzytelnienie użytkownika jest niezbędne do kontroli dostępu do systemów sieciowych, w szczególności urządzeń infrastruktury sieciowej. Uwierzytelnianie ma dwa aspekty: ogólne uwierzytelnianie dostępu i autoryzację funkcjonalną.
Ogólne uwierzytelnianie dostępu to metoda kontrolowania, czy dany użytkownik ma „jakikolwiek” typ prawa dostępu do systemu, z którym próbuje się połączyć. Zwykle ten rodzaj dostępu jest powiązany z posiadaniem przez użytkownika „konta” w tym systemie. Autoryzacja dotyczy indywidualnych „praw” użytkowników. Na przykład decyduje, co może zrobić użytkownik po uwierzytelnieniu; użytkownik może być upoważniony do konfiguracji urządzenia lub tylko do przeglądania danych.
Uwierzytelnianie użytkownika zależy od czynników, które obejmują coś, co zna (hasło), coś, co posiada (token kryptograficzny) lub coś, czym jest (dane biometryczne). Użycie więcej niż jednego czynnika do identyfikacji i uwierzytelniania stanowi podstawę uwierzytelniania wieloskładnikowego.
Uwierzytelnianie oparte na haśle
Na minimalnym poziomie wszystkie urządzenia sieciowe powinny mieć uwierzytelnianie według nazwy użytkownika i hasła. Hasło powinno być nietrywialne (co najmniej 10 znaków, mieszane alfabety, cyfry i symbole).
W przypadku zdalnego dostępu przez użytkownika należy zastosować metodę zapewniającą, że nazwy użytkownika i hasła nie są przekazywane w sposób jawny przez sieć. Hasła również powinny być zmieniane z rozsądną częstotliwością.
Scentralizowane metody uwierzytelniania
System uwierzytelniania oparty na poszczególnych urządzeniach stanowi podstawowy środek kontroli dostępu. Jednak scentralizowana metoda uwierzytelniania jest uważana za bardziej skuteczną i wydajną, gdy w sieci znajduje się duża liczba urządzeń z dużą liczbą użytkowników uzyskujących dostęp do tych urządzeń.
Tradycyjnie do rozwiązywania problemów napotykanych podczas zdalnego dostępu do sieci stosowano scentralizowane uwierzytelnianie. W systemach dostępu zdalnego (RAS) administrowanie użytkownikami na urządzeniach sieciowych jest niepraktyczne. Umieszczenie wszystkich informacji o użytkowniku na wszystkich urządzeniach, a następnie ich aktualność to koszmar administracyjny.
Scentralizowane systemy uwierzytelniania, takie jak RADIUS i Kerberos, rozwiązują ten problem. Te scentralizowane metody pozwalają na przechowywanie informacji o użytkownikach i zarządzanie nimi w jednym miejscu. Systemy te można zwykle bezproblemowo zintegrować z innymi schematami zarządzania kontami użytkowników, takimi jak katalogi Active Directory lub LDAP firmy Microsoft. Większość serwerów RADIUS może komunikować się z innymi urządzeniami sieciowymi w normalnym protokole RADIUS, a następnie bezpiecznie uzyskiwać dostęp do informacji o koncie przechowywanych w katalogach.
Na przykład Internet Authentication Server (IAS) firmy Microsoft łączy usługi RADIUS i Active Directory w celu zapewnienia scentralizowanego uwierzytelniania dla użytkowników urządzeń. Zapewnia również ujednolicenie informacji o koncie użytkownika z kontami domeny Microsoft. Powyższy diagram przedstawia kontroler domeny Windows działający zarówno jako serwer Active Directory, jak i jako serwer RADIUS dla elementów sieci do uwierzytelniania w domenie Active Directory.
Listy kontroli dostępu
Wiele urządzeń sieciowych można skonfigurować za pomocą list dostępu. Te listy definiują nazwy hostów lub adresy IP, które są upoważnione do dostępu do urządzenia. Na przykład typowe jest ograniczenie dostępu do sprzętu sieciowego z adresów IP, z wyjątkiem administratora sieci.
To chroniłoby wówczas przed wszelkiego rodzaju dostępem, który mógłby być nieautoryzowany. Tego typu listy dostępu służą jako ostatnia ważna ochrona i mogą być dość potężne na niektórych urządzeniach z różnymi regułami dla różnych protokołów dostępu.
Prawie każda organizacja o średniej i dużej skali jest obecna w Internecie i ma podłączoną do niej sieć organizacyjną. Partycjonowanie sieci na granicy między zewnętrznym Internetem a siecią wewnętrzną ma zasadnicze znaczenie dla bezpieczeństwa sieci. Czasami sieć wewnętrzna (intranet) jest określana jako strona „zaufana”, a zewnętrzny Internet jako strona „niezaufana”.
Rodzaje zapory
Zapora to urządzenie sieciowe, które izoluje wewnętrzną sieć organizacji od większych sieci zewnętrznych / Internetu. Może to być sprzęt, oprogramowanie lub złożony system, który zapobiega nieautoryzowanemu dostępowi do lub z sieci wewnętrznej.
Wszystkie pakiety danych wchodzące lub wychodzące z sieci wewnętrznej przechodzą przez zaporę, która sprawdza każdy pakiet i blokuje te, które nie spełniają określonych kryteriów bezpieczeństwa.
Wdrażanie zapory na granicy sieci przypomina agregację zabezpieczeń w jednym punkcie. Jest to analogiczne do zamykania mieszkania przy wejściu, a niekoniecznie przy każdych drzwiach.
Zapora jest uważana za niezbędny element zapewniający bezpieczeństwo sieci z następujących powodów:
Jest mało prawdopodobne, aby sieć wewnętrzna i hosty były odpowiednio zabezpieczone.
Internet to niebezpieczne miejsce, w którym przebywają przestępcy, użytkownicy konkurencyjnych firm, niezadowoleni byli pracownicy, szpiedzy z nieprzyjaznych krajów, wandale itp.
Aby uniemożliwić atakującemu przeprowadzanie ataków typu „odmowa usługi” na zasoby sieciowe.
Aby zapobiec nielegalnej modyfikacji / dostępowi do danych wewnętrznych przez osobę atakującą z zewnątrz.
Zapora dzieli się na trzy podstawowe typy -
- Filtr pakietów (bezstanowy i stanowy)
- Brama na poziomie aplikacji
- Brama na poziomie obwodu
Te trzy kategorie nie wykluczają się jednak wzajemnie. Nowoczesne zapory sieciowe mają różne możliwości, które mogą umieszczać je w więcej niż jednej z trzech kategorii.
Bezstanowa i stanowa zapora filtrująca pakiety
W tego typu wdrożeniu zapory sieć wewnętrzna jest połączona z siecią zewnętrzną / Internetem za pośrednictwem zapory routera. Zapora sieciowa sprawdza i filtruje dane pakiet po pakiecie.
Packet-filtering firewalls zezwalaj lub blokuj pakiety głównie w oparciu o kryteria, takie jak źródłowe i / lub docelowe adresy IP, protokół, numery portów źródłowych i / lub docelowych oraz różne inne parametry w nagłówku IP.
Decyzja może być oparta na czynnikach innych niż pola nagłówka IP, takich jak typ wiadomości ICMP, bity TCP SYN i ACK itp.
Reguła filtra pakietów składa się z dwóch części -
Selection criteria - Jest używany jako warunek i dopasowanie wzorców do podejmowania decyzji.
Action field- Ta część określa działanie, jakie należy podjąć, jeśli pakiet IP spełnia kryteria wyboru. Akcją może być zablokowanie (odmowa) lub zezwolenie (zezwolenie) na przesyłanie pakietu przez zaporę.
Filtrowanie pakietów jest zwykle realizowane poprzez skonfigurowanie list kontroli dostępu (ACL) na routerach lub przełącznikach. ACL to tabela reguł filtrowania pakietów.
Gdy ruch wchodzi lub wychodzi z interfejsu, zapora stosuje listy ACL od góry do dołu do każdego przychodzącego pakietu, znajduje pasujące kryteria i zezwala lub odrzuca poszczególne pakiety.
Stateless firewalljest rodzajem sztywnego narzędzia. Sprawdza pakiet i pozwala mu, jeśli spełnia kryteria, nawet jeśli nie jest częścią żadnej ustanowionej komunikacji.
Dlatego takie zapory są zastępowane przez stateful firewallsw nowoczesnych sieciach. Ten typ zapór oferuje bardziej dogłębną metodę inspekcji w porównaniu z jedynymi opartymi na ACL metodami inspekcji pakietów w bezpaństwowych zaporach.
Zapora stanowa monitoruje konfigurację połączenia i proces rozłączania, aby kontrolować połączenia na poziomie TCP / IP. Pozwala im to śledzić stan połączeń i określać, które hosty mają otwarte, autoryzowane połączenia w dowolnym momencie.
Odnoszą się do podstawy reguł tylko wtedy, gdy wymagane jest nowe połączenie. Pakiety należące do istniejących połączeń są porównywane z tabelą stanu otwartych połączeń zapory i podejmowana jest decyzja o zezwoleniu lub zablokowaniu. Ten proces oszczędza czas i zapewnia dodatkowe bezpieczeństwo. Żaden pakiet nie może przekroczyć firewalla, chyba że należy do już ustanowionego połączenia. Może przekroczyć limit czasu nieaktywnych połączeń w zaporze, po czym nie będzie już przyjmować pakietów dla tego połączenia.
Bramy aplikacji
Brama na poziomie aplikacji działa jako węzeł przekaźnikowy dla ruchu na poziomie aplikacji. Przechwytują przychodzące i wychodzące pakiety, uruchamiają serwery proxy, które kopiują i przekazują informacje przez bramę i działają jakoproxy server, uniemożliwiając bezpośrednie połączenie między zaufanym serwerem lub klientem a niezaufanym hostem.
Serwery proxy są specyficzne dla aplikacji. Mogą filtrować pakiety w warstwie aplikacji modelu OSI.
Serwery proxy specyficzne dla aplikacji
Serwer proxy specyficzny dla aplikacji akceptuje pakiety wygenerowane tylko przez określoną aplikację, dla której jest przeznaczony do kopiowania, przesyłania dalej i filtrowania. Na przykład tylko serwer proxy Telnet może kopiować, przekazywać i filtrować ruch Telnet.
Jeśli sieć opiera się tylko na bramie na poziomie aplikacji, pakiety przychodzące i wychodzące nie mogą uzyskać dostępu do usług, które nie mają skonfigurowanych serwerów proxy. Na przykład, jeśli brama obsługuje serwery proxy FTP i Telnet, tylko pakiety generowane przez te usługi mogą przechodzić przez zaporę. Wszystkie inne usługi są zablokowane.
Filtrowanie na poziomie aplikacji
Brama proxy na poziomie aplikacji bada i filtruje poszczególne pakiety, zamiast po prostu kopiować je i ślepo przesyłać dalej przez bramę. Serwery proxy specyficzne dla aplikacji sprawdzają każdy pakiet przechodzący przez bramę, weryfikując zawartość pakietu w warstwie aplikacji. Te serwery proxy mogą filtrować określone rodzaje poleceń lub informacji w protokołach aplikacji.
Bramy aplikacji mogą ograniczać wykonywanie określonych akcji. Na przykład bramę można skonfigurować tak, aby uniemożliwić użytkownikom wykonywanie polecenia „FTP put”. Może to zapobiec modyfikowaniu informacji przechowywanych na serwerze przez atakującego.
Przezroczysty
Chociaż bramy na poziomie aplikacji mogą być przezroczyste, wiele implementacji wymaga uwierzytelnienia użytkownika, zanim użytkownicy będą mogli uzyskać dostęp do niezaufanej sieci, co zmniejsza prawdziwą przejrzystość. Uwierzytelnianie może być inne, jeśli użytkownik pochodzi z sieci wewnętrznej lub z Internetu. W przypadku sieci wewnętrznej prosta lista adresów IP może łączyć się z aplikacjami zewnętrznymi. Jednak ze strony internetowej należy wdrożyć silne uwierzytelnianie.
Brama aplikacji w rzeczywistości przekazuje segmenty TCP między dwoma połączeniami TCP w dwóch kierunkach (Klient ↔ Proxy ↔ Serwer).
W przypadku pakietów wychodzących brama może zastąpić źródłowy adres IP własnym adresem IP. Proces ten nazywany jest translacją adresów sieciowych (NAT). Zapewnia, że wewnętrzne adresy IP nie są ujawniane w Internecie.
Brama na poziomie obwodu
Brama na poziomie obwodu jest rozwiązaniem pośrednim między filtrem pakietów a bramą aplikacji. Działa w warstwie transportowej i dlatego może działać jako proxy dla dowolnej aplikacji.
Podobnie jak w przypadku bramy aplikacji, brama na poziomie obwodu również nie zezwala na połączenie TCP typu end-to-end przez bramę. Tworzy dwa połączenia TCP i przekazuje segmenty TCP z jednej sieci do drugiej. Ale nie sprawdza danych aplikacji, takich jak brama aplikacji. Dlatego czasami nazywa się to „Pipe Proxy”.
SKARPETY
SOCKS (RFC 1928) odnosi się do bramki na poziomie obwodu. Jest to sieciowy mechanizm proxy, który umożliwia hostom po jednej stronie serwera SOCKS uzyskanie pełnego dostępu do hostów po drugiej stronie bez konieczności bezpośredniego dostępu do adresu IP. Klient łączy się z serwerem SOCKS na firewallu. Następnie klient rozpoczyna negocjacje w sprawie używanej metody uwierzytelniania i uwierzytelnia się za pomocą wybranej metody.
Klient wysyła żądanie przekazania połączenia do serwera SOCKS, zawierające żądany docelowy adres IP i port transportowy. Serwer akceptuje żądanie po sprawdzeniu, czy klient spełnia podstawowe kryteria filtrowania. Następnie w imieniu klienta brama otwiera połączenie z żądanym niezaufanym hostem, a następnie ściśle monitoruje następujące po nim uzgadnianie protokołu TCP.
Serwer SOCKS informuje o tym klienta iw przypadku powodzenia rozpoczyna przekazywanie danych między dwoma połączeniami. Bramy na poziomie obwodów są używane, gdy organizacja ufa użytkownikom wewnętrznym i nie chce sprawdzać zawartości lub danych aplikacji przesyłanych w Internecie.
Wdrażanie zapory w strefie DMZ
Firewall to mechanizm używany do kontrolowania ruchu sieciowego „wchodzącego” i „wychodzącego” z wewnętrznej sieci organizacji. W większości przypadków systemy te mają dwa interfejsy sieciowe, jeden dla sieci zewnętrznej, takiej jak Internet, a drugi dla strony wewnętrznej.
Proces firewalla może ściśle kontrolować, co może przechodzić z jednej strony na drugą. Organizacja, która chce zapewnić zewnętrzny dostęp do swojego serwera WWW, może ograniczyć cały ruch przychodzący do zapory sieciowej, poza portem 80 (standardowy port http). Cały inny ruch, taki jak ruch pocztowy, FTP, SNMP itp., Nie jest przepuszczany przez zaporę do sieci wewnętrznej. Przykład prostej zapory sieciowej przedstawiono na poniższym diagramie.
W powyższym prostym wdrożeniu, chociaż wszystkie inne dostępy z zewnątrz są zablokowane, osoba atakująca może skontaktować się nie tylko z serwerem WWW, ale z każdym innym hostem w sieci wewnętrznej, który przypadkowo lub w inny sposób pozostawił otwarty port 80.
Dlatego problemem, z którym boryka się większość organizacji, jest umożliwienie legalnego dostępu do usług publicznych, takich jak sieć WWW, FTP i poczta elektroniczna, przy jednoczesnym zachowaniu ścisłego bezpieczeństwa sieci wewnętrznej. Typowe podejście polega na wdrażaniu zapór ogniowych w celu zapewnienia strefy zdemilitaryzowanej (DMZ) w sieci.
W tej konfiguracji (zilustrowanej na poniższym diagramie) wdrażane są dwie zapory; jeden między siecią zewnętrzną a DMZ, a drugi między DMZ a siecią wewnętrzną. Wszystkie serwery publiczne są umieszczone w strefie DMZ.
Przy takiej konfiguracji można mieć reguły zapory, które umożliwiają publiczny dostęp do serwerów publicznych, ale wewnętrzna zapora może ograniczać wszystkie połączenia przychodzące. Posiadanie DMZ zapewnia odpowiednią ochronę serwerów publicznych zamiast umieszczać je bezpośrednio w sieci zewnętrznej.
System wykrywania / zapobiegania włamaniom
Zapory ogniowe filtrujące pakiety działają w oparciu o reguły obejmujące tylko nagłówki TCP / UDP / IP. Nie próbują ustalać kontroli korelacji między różnymi sesjami.
System wykrywania / zapobiegania włamaniom (IDS / IPS) przeprowadza głęboką inspekcję pakietów (DPI), patrząc na zawartość pakietu. Na przykład, sprawdzanie ciągów znaków w pakiecie z bazą danych znanych wirusów, ciągi znaków ataku.
Bramy aplikacji sprawdzają zawartość pakietu, ale tylko pod kątem określonych aplikacji. Nie szukają podejrzanych danych w pakiecie. IDS / IPS szuka podejrzanych danych zawartych w pakietach i próbuje zbadać korelację między wieloma pakietami, aby zidentyfikować wszelkie ataki, takie jak skanowanie portów, mapowanie sieci, odmowa usługi i tak dalej.
Różnica między IDS i IPS
IDS i IPS są podobne w wykrywaniu anomalii w sieci. IDS jest narzędziem „widoczności”, podczas gdy IPS jest uważany za narzędzie „kontroli”.
Systemy wykrywania włamań znajdują się z boku sieci, monitorując ruch w wielu różnych punktach i zapewniają wgląd w stan bezpieczeństwa sieci. W przypadku zgłoszenia anomalii przez IDS działania naprawcze są inicjowane przez administratora sieci lub inne urządzenie w sieci.
Systemy zapobiegania włamaniom są jak zapora ogniowa i znajdują się w linii między dwiema sieciami i kontrolują przepływający przez nie ruch. Wymusza określoną politykę wykrywania anomalii w ruchu sieciowym. Ogólnie rzecz biorąc, odrzuca wszystkie pakiety i blokuje cały ruch sieciowy po zauważeniu anomalii do czasu zaadresowania anomalii przez administratora.
Rodzaje IDS
Istnieją dwa podstawowe typy IDS.
Signature-based IDS
Potrzebuje bazy danych znanych ataków wraz z ich sygnaturami.
Sygnatura jest definiowana przez typy i kolejność pakietów charakteryzujących dany atak.
Ograniczeniem tego typu IDS jest to, że można wykryć tylko znane ataki. Ten IDS może również wywołać fałszywy alarm. Fałszywy alarm może wystąpić, gdy normalny strumień pakietów pasuje do sygnatury ataku.
Dobrze znanym przykładem publicznego IDS typu open source jest IDS „Snort”.
Anomaly-based IDS
Ten typ IDS tworzy wzorzec ruchu normalnego działania sieci.
W trybie IDS sprawdza wzorce ruchu, które są statystycznie nietypowe. Na przykład nietypowe obciążenie ICMP, wykładniczy wzrost skanowań portów itp.
Wykrywanie wszelkich nietypowych wzorców ruchu generuje alarm.
Głównym wyzwaniem dla tego typu wdrożeń IDS jest trudność w odróżnieniu normalnego ruchu od nietypowego ruchu.
Podsumowanie
W tym rozdziale omówiliśmy różne mechanizmy stosowane do kontroli dostępu do sieci. Podejście do bezpieczeństwa sieci poprzez kontrolę dostępu różni się technicznie od implementacji kontroli bezpieczeństwa na różnych warstwach sieci omówionych we wcześniejszych rozdziałach tego samouczka. Jednakże, chociaż podejścia do realizacji są różne, to wzajemnie się uzupełniają.
Kontrola dostępu do sieci składa się z dwóch głównych komponentów: uwierzytelniania użytkownika i ochrony granic sieci. RADIUS to popularny mechanizm zapewniający centralne uwierzytelnianie w sieci.
Zapora zapewnia ochronę granic sieci, oddzielając sieć wewnętrzną od publicznego Internetu. Zapora może działać na różnych warstwach protokołu sieciowego. IDS / IPS pozwala na monitorowanie anomalii w ruchu sieciowym w celu wykrycia ataku i podjęcia działań zapobiegawczych przeciwko nim.
Informacja i sprawna komunikacja to dwie najważniejsze kwestie strategiczne dla sukcesu każdej firmy. Wraz z pojawieniem się elektronicznych środków komunikacji i przechowywania, coraz więcej firm przestawiło się na używanie sieci danych do komunikacji, przechowywania informacji i uzyskiwania zasobów. Istnieją różne typy i poziomy infrastruktury sieciowej, które są używane do prowadzenia działalności.
Można stwierdzić, że we współczesnym świecie nic nie miało większego wpływu na biznes niż komputery w sieci. Jednak sieć niesie ze sobą zagrożenia dla bezpieczeństwa, które, jeśli zostaną złagodzone, pozwalają korzyściom sieci przeważać nad ryzykiem.
Rola sieci w biznesie
Obecnie sieci komputerowe są postrzegane jako zasób przez prawie wszystkie firmy. Ten zasób umożliwia im gromadzenie, analizowanie, organizowanie i rozpowszechnianie informacji, które są niezbędne dla ich rentowności. Większość firm zainstalowała sieci, aby zachować konkurencyjność.
Najbardziej oczywistą rolą sieci komputerowych jest to, że organizacje mogą przechowywać praktycznie każdy rodzaj informacji w centralnej lokalizacji i pobierać je w żądanym miejscu za pośrednictwem sieci.
Korzyści z sieci
Sieci komputerowe umożliwiają ludziom łatwe dzielenie się informacjami i pomysłami, dzięki czemu mogą pracować wydajniej i wydajniej. Sieci usprawniają działania, takie jak kupowanie, sprzedaż i obsługa klienta. Sieć sprawia, że tradycyjne procesy biznesowe są bardziej wydajne, łatwiejsze w zarządzaniu i tańsze.
Główne korzyści, jakie firma czerpie z sieci komputerowych, to:
Resource sharing - Firma może zmniejszyć ilość pieniędzy wydawanych na sprzęt, współużytkując komponenty i urządzenia peryferyjne podłączone do sieci.
Streamlined business processes - Sieci komputerowe umożliwiają firmom usprawnienie ich wewnętrznych procesów biznesowych.
Collaboration among departments - Gdy dwa lub więcej departamentów biznesowych łączy wybrane części swoich sieci, mogą usprawnić procesy biznesowe, które zwykle wymagają nadmiernej ilości czasu i wysiłku oraz często stwarzają trudności w osiągnięciu wyższej produktywności.
Improved Customer Relations - Sieci zapewniają klientom wiele korzyści, takich jak wygoda prowadzenia biznesu, szybka reakcja serwisu i tak dalej.
Istnieje wiele innych korzyści biznesowych wynikających z sieci. Takie korzyści sprawiły, że wdrożenie sieci komputerowych stało się niezbędne dla wszystkich rodzajów firm.
Konieczność zapewnienia bezpieczeństwa sieci
Zagrożenia w sieciach przewodowych lub bezprzewodowych znacznie wzrosły w związku z rozwojem nowoczesnych technologii wraz ze wzrostem przepustowości sieci komputerowych. Ogromne wykorzystanie Internetu w dzisiejszym świecie do różnych transakcji biznesowych stanowi wyzwanie w postaci kradzieży informacji i innych ataków na biznesowe aktywa intelektualne.
W dzisiejszych czasach większość biznesów jest prowadzona za pośrednictwem aplikacji sieciowych, dlatego też wszystkie sieci są narażone na ataki. Najczęstszymi zagrożeniami dla bezpieczeństwa sieci biznesowej są przechwytywanie i kradzież danych oraz kradzież tożsamości.
Bezpieczeństwo sieci to wyspecjalizowana dziedzina, która zajmuje się przeciwdziałaniem takim zagrożeniom i zapewnianiem ochrony użyteczności, niezawodności, integralności i bezpieczeństwa infrastruktury sieci komputerowych przedsiębiorstwa.
Znaczenie bezpieczeństwa sieci w biznesie
Protecting Business Assets- To jest główny cel bezpieczeństwa sieci. Aktywa oznaczają informacje przechowywane w sieciach komputerowych. Informacje są tak samo ważne i cenne, jak inne aktywa materialne firmy. Bezpieczeństwo sieci dotyczy integralności, ochrony i bezpiecznego dostępu do informacji poufnych.
Compliance with Regulatory Requirements - Środki bezpieczeństwa sieci pomagają firmom w przestrzeganiu rządowych i branżowych przepisów dotyczących bezpieczeństwa informacji.
Secure Collaborative Working- Bezpieczeństwo sieciowe zachęca do współpracy współpracowników i ułatwia komunikację z klientami i dostawcami, oferując im bezpieczny dostęp do sieci. Zwiększa zaufanie klientów i konsumentów, że ich wrażliwe informacje są chronione.
Reduced Risk - Przyjęcie zabezpieczeń sieciowych zmniejsza wpływ naruszeń bezpieczeństwa, w tym działań prawnych, które mogą doprowadzić do bankructwa małych firm.
Gaining Competitive Advantage- Opracowanie skutecznego systemu bezpieczeństwa dla sieci daje organizacji przewagę konkurencyjną. Na arenie internetowych usług finansowych i handlu elektronicznego bezpieczeństwo sieci nabiera pierwszorzędnego znaczenia.