Podstawowe zasady zabezpieczeń sieciowych White Paper 101
Transkrypt
Podstawowe zasady zabezpieczeń sieciowych White Paper 101
Podstawowe zasady zabezpieczeń sieciowych Christopher Leidigh White Paper 101 Streszczenie Liczba przypadków naruszenia zabezpieczeń rośnie co roku w alarmującym tempie. Coraz bardziej złożone są nie tylko zagrożenia, ale również środki bezpieczeństwa mające za zadanie chronić sieci. W dzisiejszych czasach operatorzy, administratorzy sieci i inni specjaliści pracujący w centrach danych muszą rozumieć zasadnicze kwestie dotyczące zabezpieczeń, aby móc bezpiecznie wdrażać sieci i zarządzać nimi. W tym dokumencie omówiono podstawy bezpiecznych systemów sieciowych, w tym zapory, topologię sieci i bezpieczne protokoły. Przedstawiono także najlepsze rozwiązania, dzięki którym czytelnik może zapoznać się z kluczowymi aspektami zabezpieczania sieci. 2005 American Power Conversion. Wszelkie prawa zastrzeżone. Żadna część niniejszej publikacji nie może być używana, reprodukowana, fotokopiowana, transmitowana ani zapisywana w jakimkolwiek systemie przechowywania informacji bez pisemnej zgody właściciela praw autorskich. www.apc.com Wer. 2005-0 2 Wstęp Zabezpieczenie nowoczesnej infrastruktury sieciowo-informatycznej wymaga kompleksowego podejścia i dokładnego zrozumienia potencjalnych słabości systemu oraz właściwych mechanizmów ochronnych. Choć wiedza taka nie powstrzyma wszystkich prób wdarcia się do sieci czy ataków na system, może pomóc projektantom sieci w wyeliminowaniu najczęściej występujących problemów, znaczącym ograniczeniu potencjalnych szkód i szybkim wykrywaniu luk. Przy stale rosnącej liczbie i złożoności ataków czujność w kwestiach zabezpieczeń zarówno w dużych, jak i małych przedsiębiorstwach jest zwykłą koniecznością. Na rysunku 1 pokazano, jak szybko co roku rośnie liczba przypadków naruszenia zabezpieczeń, w oparciu o raporty publikowane przez CERT® Coordination Center (specjalistyczny ośrodek zajmujący się bezpieczeństwem Internetu). Rysunek 1 — Przypadki naruszenia zabezpieczeń w ujęciu rocznym — CERT.ORG 100.000 95.000 90.000 Liczba zgłoszonych wypadków 85.000 82.094 80.000 75.000 70.000 65.000 60.000 55.100 55.000 50.000 45.000 40.000 35.000 30.000 25.000 21.756 20.000 15.000 9.859 10.000 5.000 0 2.340 1995 2.412 1996 2.573 1997 2.134 1998 3.734 1999 2000 2001 2002 2003 Rok © 1998-2003 by Carnegie Mellon University W tym dokumencie przedstawiono zasadnicze kwestie dotyczące bezpieczeństwa, a także wybór najlepszych rozwiązań dotyczących sieci, komputerów hosta i elementów infrastruktury sieciowej. Ponieważ nie istnieje „jedyne słuszne podejście do kwestii zabezpieczeń“, decyzja o wyborze najodpowiedniejszych mechanizmów należy do tego, kto je wdraża. 2005 American Power Conversion. Wszelkie prawa zastrzeżone. Żadna część niniejszej publikacji nie może być używana, reprodukowana, fotokopiowana, transmitowana ani zapisywana w jakimkolwiek systemie przechowywania informacji bez pisemnej zgody właściciela praw autorskich. www.apc.com Wer. 2005-0 3 Czynnik ludzki Ludzie to na pewno najsłabsze ogniwo w każdym łańcuchu zabezpieczeń. Większość użytkowników nie pilnuje takich tajemnic, jak hasła i kody dostępu, stanowiących podstawę większości systemów zabezpieczeń. Wszystkie systemy zabezpieczeń korzystają z pewnego zbioru mechanizmów służących do kontroli dostępu, sprawdzania tożsamości oraz ochrony przed ujawnianiem poufnych informacji. Zwykle w mechanizmach tych występuje pewna liczba „tajemnic“. W przypadku ujawnienia lub kradzieży takiej tajemnicy powstaje ryzyko naruszenia zabezpieczeń systemów, które tajemnica ta chroni. Wygląda to na stwierdzenie skrajnie oczywiste, ale w większości przypadków naruszenie zabezpieczeń systemu odbywa się w bardzo prosty sposób. Przyklejenie z boku monitora karteczki z hasłem do systemu wydaje się idiotyczne, ale wiele osób tak właśnie robi. Inny przykład, tylko nieco mniej oczywisty, to częste pozostawianie domyślnych, ustawionych fabrycznie haseł w niektórych urządzeniach sieciowych. Urządzeniem takim może być interfejs zarządzania siecią podłączony do zasilacza UPS. Systemom UPS, czy to niewielkim, czy służącym do zasilania 100 serwerów, często nie poświęca się uwagi przy projektowaniu systemu zabezpieczeń. Jeśli w takich urządzeniach pozostawi się domyślne nazwy użytkowników i hasła, uzyskanie dostępu przez osobę znającą zaledwie typ urządzenia i jego opublikowane domyślne ustawienia jest tylko kwestią czasu. Wyobraźmy sobie bank serwerów sieci Web i poczty, indywidualnie zabezpieczonych najbardziej wymyślnymi protokołami, który „pada“ przez zwykłe wyłączenie i włączenie zasilania! Zabezpieczenia — perspektywa ogólna Bezpieczne przedsiębiorstwo, czy to duże, czy małe, powinno podchodzić do zabezpieczeń w sposób wszechstronny i całościowy — tylko to zapewnia skuteczność. W większości organizacji nie obowiązują takie zasady i sposoby postępowania. Ma to swoje uzasadnienie: bezpieczeństwo bez wątpienia kosztuje. Miarą tego kosztu może być nie tylko pieniądz, ale również złożoność, czas i skuteczność. Aby zapewnić bezpieczeństwo, trzeba wydać pieniądze, wykonać dodatkowe czynności oraz czekać na ich realizację (lub ewentualnie zaangażować inne osoby). Rzeczywistość jest taka, że naprawdę bezpieczne systemy są trudne w realizacji. Zwykle trzeba wybrać rozwiązanie, które wiąże się z pewnym poziomem „kosztu“ i wiadomym zakresem zabezpieczeń. (Niemal zawsze rozwiązanie to w jakimś stopniu odbiega od podejścia „wszechstronnego i całościowego“.) Chodzi o to, aby podejmować poparte wiedzą decyzje w każdym aspekcie całego systemu, a wdrażanie konkretnych rozwiązań poprzeć obliczeniami. Znając obszary słabiej chronione, można przynajmniej monitorować je w celu identyfikacji problemów lub luk w zabezpieczeniach. Podstawy zabezpieczeń Wiedza o sieci Nie można chronić czegokolwiek, zanim nie zrozumie się dokładnie, CO ma być przedmiotem ochrony. Organizacje niezależnie od wielkości powinny dysponować zbiorem dobrze udokumentowanych zasobów, składników majątku i systemów. Każdy z tych elementów powinien mieć przypisaną względną wartość, wy2005 American Power Conversion. Wszelkie prawa zastrzeżone. Żadna część niniejszej publikacji nie może być używana, reprodukowana, fotokopiowana, transmitowana ani zapisywana w jakimkolwiek systemie przechowywania informacji bez pisemnej zgody właściciela praw autorskich. www.apc.com Wer. 2005-0 4 rażającą jego znaczenie dla organizacji. Przykładowe elementy, które należy uwzględnić, to serwery, stacje robocze, systemy pamięci masowych, routery, przełączniki, koncentratory, łącza sieciowe i telekomunikacyjne, a także wszystkie inne elementy sieci, takie jak drukarki, systemy zasilaczy UPS i systemy HVAC. Inne ważne aspekty tego zadania to udokumentowanie lokalizacji urządzenia i ewentualne uwagi dotyczące zależności. Na przykład większość komputerów jest zależna od zapasowych systemów zasilania, takich jak zasilacze UPS, które z kolei w przypadku zarządzania same stanowią element sieci. W systemie może także występować sprzęt utrzymujący odpowiednie warunki w środowisku pracy, taki jak moduły HVAC i urządzenia do oczyszczania powietrza. Omówienie różnych zagrożeń Kolejny etap polega na identyfikacji potencjalnych „zagrożeń“ każdego z tych elementów, tak jak to pokazano w tabeli 1. Zagrożenia mogą pochodzić ze źródeł tak wewnętrznych, jak i zewnętrznych. Mogą być wywołane przez człowieka, zautomatyzowane, a nawet spowodowane niezamierzonym zjawiskiem. Te ostatnie należą raczej do zagrożeń dobrej kondycji systemu, a nie zagrożeń bezpieczeństwa, ale jeden problem może tu prowadzić do drugiego. Za przykład niech posłuży przerwa w zasilaniu alarmu przeciwwłamaniowego. Przerwa w zasilaniu może być skutkiem umyślnego działania lub zdarzenia naturalnego, na przykład uderzenia pioruna. W obu przypadkach nastąpi spadek bezpieczeństwa. Tabela 1 — Podsumowanie różnych zagrożeń i ich konsekwencji Zagrożenie Wewnętrzne/ zewnętrzne Konsekwencje zagrożenia Wiadomość e-mail z wirusem Pochodzenie zewnętrzne, użycie wewnętrzne Możliwość zarażenia systemu odczytującego wiadomość, a następnie rozprzestrzenienia się po całej organizacji Wirus sieciowy Zewnętrzny Możliwość wniknięcia przez niechronione porty i naruszenia zabezpieczeń całej sieci Wirus działający w sieci Web Wewnętrzne przeglądanie zewnętrznej witryny Możliwość naruszenia zabezpieczeń systemu, w którym odbywa się przeglądanie, a następnie negatywnego wpływu na inne systemy wewnętrzne Atak na serwer sieci Web Z zewnątrz w kierunku serwerów sieci Web W przypadku naruszenia zabezpieczeń serwera sieci Web haker może uzyskać dostęp do innych wewnętrznych systemów w sieci Atak typu „odmowa usługi“ Zewnętrzny Niemożność korzystania z usług zewnętrznych, takich jak sieć Web, poczta e-mail i FTP W przypadku ataku na router możliwość awarii całej sieci Atak ze strony użytkownika sieci (pracownika wewnętrznego) Z wewnątrz w dowolnym kierunku W przypadku tego ataku tradycyjne zapory graniczne w ogóle nie pomagają. W minimalizacji szkód mogą pomóc wewnętrzne zapory działowe. 2005 American Power Conversion. Wszelkie prawa zastrzeżone. Żadna część niniejszej publikacji nie może być używana, reprodukowana, fotokopiowana, transmitowana ani zapisywana w jakimkolwiek systemie przechowywania informacji bez pisemnej zgody właściciela praw autorskich. www.apc.com Wer. 2005-0 5 Zabezpieczenia fizyczne, ochrona wewnętrzna Większość ekspertów zgodziłoby się, że bezpieczeństwo zawsze zaczyna się od zabezpieczeń fizycznych. Kontrolowanie fizycznego dostępu do urządzeń i punktów podłączenia do sieci jest prawdopodobnie istotniejsze od wszelkich pozostałych aspektów zabezpieczania systemu. Każdy rodzaj fizycznego dostępu do lokalizacji wewnętrznej naraża ją na poważne niebezpieczeństwo. Jeśli możliwy jest fizyczny dostęp, najczęściej pozwala on na uzyskanie chronionych plików, haseł, certyfikatów i wszelkiego rodzaju innych danych. Na szczęście istnieją różnorodne urządzenia kontroli dostępu i bezpieczne szafy, które pomagają w rozwiązaniu tego problemu. Więcej informacji na temat fizycznych zabezpieczeń centrów danych i pomieszczeń sieciowych można znaleźć w dokumencie White Paper 82 firmy APC „Physical Security in Mission Critical Facilities“. Podział i ochrona granic sieci przy użyciu zapór Poza podstawowymi zabezpieczeniami fizycznymi danej lokalizacji kolejnym istotnym aspektem jest kontrolowanie cyfrowego dostępu do sieci organizacji. W większości przypadków oznacza to kontrolę punktów łączności ze światem zewnętrznym, najczęściej z Internetem. Niemal każda średnia i duża firma jest obecna w Internecie, a jej sieć wewnętrzna jest z nim połączona. Co więcej, stale rośnie liczba mniejszych firm i gospodarstw domowych, które dysponują stałym dostępem do Internetu. Podział granicy oddzielającej zewnętrzny Internet od wewnętrznego intranetu jest kwestią bezpieczeństwa o kluczowym znaczeniu. Czasem obszar wewnętrzny nazywa się stroną „pewną“, a Internet — położony na zewnątrz — stroną „niepewną“. Ogólnie rozróżnienie to jest właściwe, jednak, jak dowiedzie poniższy opis, niedostatecznie szczegółowe. Zapora to mechanizm, który polega na zastosowaniu kontrolowanej bariery w celu sterowania ruchem sieciowym wpływającym do firmowego intranetu ORAZ wypływającym z niego. Zapory to w istocie specjalistyczne routery. Działają w wydzielonych systemach wbudowanych, na przykład w urządzeniu internetowym, lub mają postać oprogramowania uruchamianego na ogólnej platformie serwerowej. W większości przypadków systemy te mają dwa interfejsy sieciowe, jeden po stronie sieci zewnętrznej, takiej jak Internet, oraz jeden po stronie wewnętrznego intranetu. Zapora może ściśle kontrolować dane przechodzące z jednej strony na drugą. Dostępne zapory są bardzo różne — od stosunkowo prostych po bardzo złożone. Podobnie jak w większości aspektów zabezpieczeń, decyzja o wyborze konkretnej zapory będzie zależeć od takich czynników, jak poziom ruchu, usługi wymagające ochrony i niezbędna złożoność reguł. Im większa liczba usług, które muszą mieć możliwość przejścia przez zaporę, tym bardziej złożone są dotyczące jej wymagania. Główna trudność w działaniu zapór polega na odróżnianiu ruchu dozwolonego od niedozwolonego. Przed czym chronią zapory i jakiego rodzaju ochronę zapewniają? Zapory spełniają rozmaite funkcje; przy prawidłowej konfiguracji mogą stanowić rozsądną formę ochrony przed zagrożeniami zewnętrznymi, w tym przed niektórymi atakami typu „odmowa usługi“ (denial of service — DOS). Przy nieprawidłowej konfiguracji mogą narazić organizację na poważne luki w zabezpieczeniach. Podstawową formą ochrony zapewnianą przez zaporę jest możliwość blokowania ruchu sieciowego skierowanego w określone miejsca. Obejmuje to zarówno adresy IP, jak i porty określonych usług sieciowych. Jeśli w danej lokalizacji ma być możliwy zewnętrzny dostęp do serwera sieci Web, można w niej ograniczyć cały ruch do portu 80 (standardowego portu HTTP). Zwykle ograniczenie to będzie stosowane tylko do ruchu pochodzącego ze strony niezaufanej. W 2005 American Power Conversion. Wszelkie prawa zastrzeżone. Żadna część niniejszej publikacji nie może być używana, reprodukowana, fotokopiowana, transmitowana ani zapisywana w jakimkolwiek systemie przechowywania informacji bez pisemnej zgody właściciela praw autorskich. www.apc.com Wer. 2005-0 6 ruchu od strony zaufanej nie będzie ograniczeń. Pozostałe rodzaje ruchu, w tym poczta, FTP, SNMP itp. nie będą wówczas przepuszczane przez zaporę w kierunku intranetu. Przykład prostej zapory pokazano na rysunku 2. Rysunek 2 — Prosta zapora na drodze do sieci Sieć prywatna (przedsiębiorstwa) Internet Zapora Jeszcze prostszym przypadkiem jest zapora stosowana przez osoby, które posiadają routery kablowe lub DSL do użytku w domu lub małej firmie. Najczęściej zapory te są skonfigurowane w taki sposób, że blokują CAŁY dostęp z zewnątrz, przepuszczając tylko usługi pochodzące z wewnątrz. Uważny czytelnik zapewne zda sobie sprawę, że w żadnym z obu opisanych przypadków zapora tak naprawdę nie blokuje całego ruchu z zewnątrz. Jeśli by tak było, to jak można by buszować po Internecie i pobierać strony sieci Web? Ściśle rzecz ujmując, zapora blokuje pochodzące z zewnątrz żądania połączeń. W pierwszym przypadku wszystkie żądania połączeń wychodzące z wewnątrz są przekazywane na zewnątrz i to samo dotyczy późniejszego transferu danych przez nawiązane połączenie. Z zewnątrz wpuszczane są tylko żądania połączeń z serwerem sieci Web i dane przesyłane takim połączeniem, a wszystkie inne żądania są blokowane. Drugi przypadek jest bardziej rygorystyczny, ponieważ nawiązywać można tylko połączenia z wewnątrz w kierunku na zewnątrz. W bardziej złożonych regułach zapór mogą być wykorzystywane techniki tzw. „kontroli z pamięcią stanu“. Podejście to uzupełnia podstawową metodę blokowania portów, dodając analizę prawidłowości i sekwencji ruchu w celu wykrycia ataków polegających na podszywaniu się pod cudzą tożsamość lub ataków typu DOS. Im bardziej złożone reguły, tym większa wymagana moc obliczeniowa zapory. Ważnym problemem, przed którym staje większość organizacji, jest pytanie, jak zapewnić dozwolony dostęp do usług „publicznych“, takich jak sieć Web, FTP czy poczta e-mail, utrzymując jednocześnie ścisłe bezpieczeństwo intranetu. Typowym rozwiązaniem jest utworzenie tzw. strefy zdemilitaryzowanej (demilitarized zone — DMZ), której nazwa w sposób eufemistyczny nawiązuje do zimnej wojny toczącej się w sieci. W architekturze tej występują dwie zapory: jedna między siecią zewnętrzną a strefą DMZ, a druga między strefą DMZ a siecią wewnętrzną. Wszystkie serwery publiczne znajdują się w strefie DMZ. W takiej konfiguracji 2005 American Power Conversion. Wszelkie prawa zastrzeżone. Żadna część niniejszej publikacji nie może być używana, reprodukowana, fotokopiowana, transmitowana ani zapisywana w jakimkolwiek systemie przechowywania informacji bez pisemnej zgody właściciela praw autorskich. www.apc.com Wer. 2005-0 7 możliwe jest określenie reguł zapory, które pozwolą na publiczny dostęp do publicznych serwerów, natomiast wszystkie połączenia przychodzące będą blokowane przez zaporę wewnętrzną. Dzięki strefie DMZ serwery publiczne mają lepszą ochronę, niż w przypadku umieszczenia ich poza obszarem chronionym jedną zaporą. Zastosowanie strefy DMZ przedstawiono na rysunku 3. Rysunek 3 — Dwie zapory ze strefą DMZ Sieć prywatna (przedsiębiorstwa) Strefa DMZ Internet Zapora wewnętrzna Zapora Serwer FTP Stosowanie zapór wewnętrznych na granicach różnych intranetów może dodatkowo pomóc w ograniczeniu ewentualnych szkód spowodowanych przez zagrożenia wewnętrzne i niepożądanych gości w rodzaju robaków, które zdołają przedrzeć się przez zapory graniczne. Zapory tego rodzaju mogą nawet znajdować się w trybie gotowości, aby nie blokować normalnego przepływu ruchu, ale ściśle określone reguły powinny włączać je natychmiast w przypadku wystąpienia problemu. Zapory stacji roboczych Istnieje pewien ważny czynnik związany z bezpieczeństwem sieci, który większość osób dopiero zaczyna dostrzegać: teoretycznie KAŻDY węzeł czy stacja robocza w sieci może być luką w zabezpieczeniach. Kiedyś zwracano uwagę przede wszystkim na zapory i serwery, jednak wraz z rosnącą popularnością Internetu i pojawianiem się wielu nowych klas węzłów, takich jak urządzenia internetowe, ochrona sieci zyskuje nowe wymiary. Rozmaite robaki przejmują kontrolę nad komputerami i wykorzystują je nie tylko do dalszego rozprzestrzeniania się, ale czasem również do uszkadzania systemów. Działanie wielu z tych robaków można by zablokować lub znacznie ograniczyć, jeśli systemy w organizacjach byłyby lepiej zabezpieczone. Zapory do stacji roboczych są w stanie blokować wszystkie próby dostępu do portu prowadzące od lub do poszczególnych hostów, które nie mieszczą się w normalnych potrzebach tych hostów. Ponadto reguły zapory po WEWNĘTRZNEJ stronie, blokujące podejrzane połączenia wychodzące z organizacji, mogą zapobiec rozprzestrzenianiu się robaków z organizacji na zewnątrz. Obie te metody pozwalają ograniczyć zarówno wewnętrzną, jak i zewnętrzną replikację wirusów. Najważniejsze jest to, aby system był w stanie zablokować wszystkie porty, których stosowanie nie jest niezbędne. 2005 American Power Conversion. Wszelkie prawa zastrzeżone. Żadna część niniejszej publikacji nie może być używana, reprodukowana, fotokopiowana, transmitowana ani zapisywana w jakimkolwiek systemie przechowywania informacji bez pisemnej zgody właściciela praw autorskich. www.apc.com Wer. 2005-0 8 Podstawowe zabezpieczenia hostów sieciowych Blokada portów i minimalizowanie liczby działających usług Wiele urządzeń sieciowych i hostów komputerowych domyślnie uruchamia pewne usługi sieciowe, z których każda stanowi okazję dla napastników, robaków i koni trojańskich. Bardzo często nie wszystkie te domyślne usługi są potrzebne. Zablokowanie portów przez wyłączenie usług zmniejsza to ryzyko. Jak już wspomniano w sekcji poświęconej zaporom, istnieją nie tylko zapory sieciowe, ale również programowe zapory dla komputerów stacjonarnych i serwerów, które blokują dostęp do niepotrzebnych portów IP w hoście lub ograniczają dostęp wybranym hostom. Postępowanie to jest ważne dla ochrony wewnętrznej w przypadku naruszenia zewnętrznych mechanizmów obronnych lub innych zagrożeń pochodzących z wewnątrz. Dostępnych jest wiele świetnych programowych zapór na komputery stacjonarne. Podstawową zaporę zawiera na przykład system operacyjny Windows XP z dodatkiem Service Pack 2 firmy Microsoft. Zarządzanie nazwami użytkowników i hasłami Jak już wspomniano we wstępie, niewłaściwe zarządzanie nazwami użytkowników i hasłami to typowy problem w sieciach większości przedsiębiorstw. Co prawda problem ten mogą ograniczyć zaawansowane, scentralizowane systemy uwierzytelniania (omówione w dalszej części), ogromnie może także pomóc przestrzeganie pewnych prostych wskazówek. Poniżej wymieniono cztery podstawowe reguły dotyczące nazw użytkowników i haseł: 1. Nie używać oczywistych haseł, takich jak imię współmałżonka, nazwa ulubionego zespołu sportowego itp. 2. Używać dłuższych haseł z kombinacją cyfr lub symboli 3. Regularnie zmieniać hasła 4. NIGDY nie pozostawiać w urządzeniach sieciowych domyślnych ustawień Jeśli komputery lub inne urządzenia nie mają wbudowanych zasad wymuszających powyższe reguły, każdy użytkownik powinien przestrzegać ich indywidualnie. Regułę (4) można przetestować przez zastosowanie sond sieciowych, które wykrywają urządzenia z domyślnymi ustawieniami. Listy kontroli dostępu Wiele rodzajów urządzeń i hostów można konfigurować przy użyciu list dostępu. Na listach tych określone są nazwy hostów lub adresy IP, które dysponują prawem dostępu do danego urządzenia. Często na przykład ogranicza się dostęp do urządzeń sieciowych od wewnętrznej strony sieci organizacji. Mechanizm ten zapewnia następnie ochronę przed wszelkiego rodzaju dostępem, który mógłby naruszyć szczelność zapory zewnętrznej. Listy dostępu tego typu stanowią ważny, ostatni punkt obrony, który może być bardzo skuteczny w niektórych urządzeniach przy zastosowaniu różnych reguł dla różnych protokołów dostępu. 2005 American Power Conversion. Wszelkie prawa zastrzeżone. Żadna część niniejszej publikacji nie może być używana, reprodukowana, fotokopiowana, transmitowana ani zapisywana w jakimkolwiek systemie przechowywania informacji bez pisemnej zgody właściciela praw autorskich. www.apc.com Wer. 2005-0 9 Zabezpieczanie dostępu do urządzeń i systemów Ponieważ nie można założyć nieprzerwanej ochrony sieci danych przed ingerencją i tzw. „węszeniem“ (sniffing), opracowano protokoły zwiększające bezpieczeństwo podłączonych urządzeń sieciowych. Ogólnie należy przeanalizować dwie oddzielne kwestie: uwierzytelnianie i zachowanie poufności (szyfrowanie). Dla spełnienia tych dwóch wymagań w bezpiecznych systemach i platformach komunikacji opracowano wiele mechanizmów i protokołów. Poniżej omówiono podstawy uwierzytelniania, a następnie szyfrowania. Uwierzytelnianie użytkowników urządzeń sieciowych Uwierzytelnianie jest niezbędne tam, gdzie chodzi o kontrolę dostępu do elementów sieci, a w szczególności do urządzeń infrastruktury sieciowej. Problem uwierzytelniania obejmuje dwa obszary: uwierzytelnianie do dostępu ogólnego i autoryzację funkcjonalną. Dostęp ogólny to sposób na określenie, czy dany użytkownik dysponuje JAKIMIKOLWIEK prawami dostępu do rozpatrywanego elementu. Zwykle w rozważaniach tych stosuje się pojęcie „konta użytkownika“. Autoryzacja dotyczy konkretnych „praw“ użytkownika. Chodzi o to, co użytkownik może zrobić po uwierzytelnieniu, na przykład skonfigurować urządzenie lub tylko wyświetlić dane. W tabeli 2 przedstawiono podsumowanie głównych protokołów uwierzytelniania, ich cech oraz charakterystycznych zastosowań. Tabela 2 — Podsumowanie głównych protokołów uwierzytelniania Protokół Charakterystyka Zastosowania w protokołach Nazwa użytkownika/ hasło Zapamiętywany token w postaci zwykłego tekstu Telnet, HTTP CHAP (Challenge Handshake Authentication Protocol) Stosuje algorytmy mieszania haseł i dane wariantów czasu w celu uniknięcia bezpośredniej transmisji haseł MS-CHAP, PPP, APC HTTP, Radius RADIUS Hasła, autoryzacja i konta CHAP lub typu bezpośredniego Zaplecze protokołów: Telnet, SSH, SSL, protokół podstawowy: Microsoft IAS Server. Typowa metoda uwierzytelniania centralnego do urządzeń sieciowych TACACS+ Uwierzytelnianie, autoryzacja, konta, pełna obsługa szyfrowania Protokół Cisco, uwierzytelnianie centralne, niektóre usługi dostępu zdalnego (Remote Access Service — RAS) Kerberos Uwierzytelnianie i autoryzacja usług, pełne szyfrowanie Aplikacje z protokołem Kerberos, takie jak telnet, usługa uwierzytelniania domen Microsoft zintegrowana z usługą Active Directory Ograniczanie dostępu do urządzeń to jeden z najważniejszych aspektów zabezpieczania sieci. Ponieważ urządzenia infrastruktury obsługują zarówno sieć, jak i sprzęt komputerowy, naruszenie ich bezpieczeństwa może spowodować awarię całej sieci i jej zasobów. Paradoksalnie wiele działów IT kosztem ogromnych nakładów chroni serwery, instaluje zapory i bezpieczne mechanizmy dostępu, pozostawiając jednocześnie w podstawowych urządzeniach tylko najprostsze zabezpieczenia. 2005 American Power Conversion. Wszelkie prawa zastrzeżone. Żadna część niniejszej publikacji nie może być używana, reprodukowana, fotokopiowana, transmitowana ani zapisywana w jakimkolwiek systemie przechowywania informacji bez pisemnej zgody właściciela praw autorskich. www.apc.com Wer. 2005-0 10 Absolutnym minimum jest stosowanie we wszystkich urządzeniach uwierzytelniania za pomocą nazwy użytkownika i hasła o odpowiednim stopniu złożoności (10 znaków, kombinacja liter, cyfr i symboli). Ograniczenia od strony użytkowników powinny dotyczyć zarówno liczby, jak i typu autoryzacji. Należy zachować ostrożność przy korzystaniu z niedostatecznie zabezpieczonych metod dostępu zdalnego, tj. nazw użytkowników i haseł przekazywanych w sieci bez szyfrowania. Ponadto hasła należy zmieniać odpowiednio często, na przykład co trzy miesiące, a w przypadku używania haseł grupowych — po odejściu pracownika z firmy. Metody uwierzytelniania scentralizowanego Odpowiednie metody uwierzytelniania to niezbędne minimum, jednak metody uwierzytelniania scentralizowanego szczególnie dobrze sprawdzają się w sytuacji, gdy występuje (a) duża liczba użytkowników urządzeń lub (b) duża liczba urządzeń w sieci. Tradycyjnie uwierzytelniania scentralizowanego używano do rozwiązywania problemów w sytuacji (a), z których najczęstszy wiązał się ze zdalnym dostępem do sieci. W systemach dostępu zdalnego, takich jak telefoniczna usługa RAS, administrowanie użytkownikami na poziomie urządzeń sieciowych RAS było po prostu niemożliwe. Teoretycznie każdy użytkownik sieci mógł próbować użyć dowolnego z istniejących punktów dostępu RAS. Umieszczenie informacji o wszystkich użytkownikach we wszystkich urządzeniach RAS oraz późniejsze aktualizowanie tych informacji przekraczałoby możliwości urządzeń RAS w każdym dużym przedsiębiorstwie i byłoby koszmarem dla administratora. Systemy uwierzytelniania scentralizowanego, takie jak RADIUS i Kerberos, rozwiązują ten problem przez zastosowanie scentralizowanych informacji o kontach użytkowników, do których bezpieczny dostęp mają urządzenia RAS lub inne rodzaje sprzętu. W tych scentralizowanych systemach informacje mogą być przechowywane w jednym, a nie wielu miejscach. Nie jest konieczne zarządzanie użytkownikami w wielu urządzeniach — wystarczy jedno miejsce zarządzania. Jeśli zajdzie potrzeba zmiany informacji o użytkowniku, na przykład podania nowego hasła, wystarczy wykonać jedną prostą czynność. Jeśli użytkownik opuści firmę, usunięcie jego konta pozwala zablokować dostęp do wszystkich urządzeń korzystających z uwierzytelniania scentralizowanego. Częsty problem przy uwierzytelnianiu niescentralizowanym w dużych sieciach polega na tym, że trzeba pamiętać o usunięciu haseł we wszystkich miejscach. Zwykle systemy uwierzytelniania scentralizowanego, takie jak RADIUS, można płynnie zintegrować z innymi mechanizmami zarządzania kontami użytkowników, takimi jak usługa Active Directory firmy Microsoft czy katalogi LDAP. Chociaż oba te systemy katalogowe nie są same w sobie systemami uwierzytelniania, są stosowane jako scentralizowane systemy przechowywania kont. Większość serwerów RADIUS może łączyć się z urządzeniami RAS i innymi urządzeniami sieciowymi przy użyciu normalnego protokołu RADIUS, a następnie uzyskiwać bezpieczny dostęp do informacji o kontach przechowywanych w katalogach. Dokładnie w ten sposób serwer IAS firmy Microsoft tworzy połączenie mostowe między serwerem RADIUS a usługą Active Directory. Takie podejście oznacza nie tylko udostępnienie scentralizowanego uwierzytelniania użytkownikom usługi i urządzeń RAS, ale także ujednolicenie informacji o kontach z kontami domeny Microsoft. Na rysunku 4 przedstawiono kontroler domeny systemu Windows, który działa jako serwer usługi Active Directory oraz serwer RADIUS i umożliwia uwierzytelnianie elementów sieci w domenie usługi Active Directory. 2005 American Power Conversion. Wszelkie prawa zastrzeżone. Żadna część niniejszej publikacji nie może być używana, reprodukowana, fotokopiowana, transmitowana ani zapisywana w jakimkolwiek systemie przechowywania informacji bez pisemnej zgody właściciela praw autorskich. www.apc.com Wer. 2005-0 11 Rysunek 4 — Kontroler domeny systemu Windows Kontroler domeny systemu Windows z serwerem IAS Radius Active Directory DC Baza danych Odpowiedź uwierzytelniania Użytkownik klienta Radius Odpowiedź logowania Żądanie logowania Urządzenie systemu CUPS/ Karta zarządzająca IAS / Radius Żądanie uwierzytelniania Radius Zabezpieczanie danych w sieci przy użyciu szyfrowania i uwierzytelniania Czasami istotne jest zachowanie poufności informacji, które wymieniają między sobą elementy sieci, komputery i systemy. To oczywiste, że nikt nie powinien mieć dostępu do cudzego konta bankowego ani możliwości przechwycenia danych osobowych przesyłanych w sieci. Aby uniknąć ujawnienia danych w sieci, należy zastosować metody szyfrowania, które sprawią, że dane te będą nieczytelne dla osoby, która ewentualnie przechwyci je podczas przekazywania w sieci. Istnieje wiele metod szyfrowania danych, a poniżej opisano najważniejsze z nich. Jeśli chodzi o urządzenia sieciowe, takie jak zasilacze UPS, tradycyjnie rozważania nie dotyczą zasadności ochrony takich danych, jak napięcia zasilacza czy natężenia prądu listwy zasilającej, lecz kontrolowania dostępu do tych elementów. Nieujawnianie poświadczeń uwierzytelniania, takich jak nazwy użytkowników i hasła, ma krytyczne znaczenie w każdym systemie, w którym dostęp odbywa się przez niezabezpieczoną sieć, na przykład Internet. Nawet w obrębie prywatnych sieci organizacji najlepszym sposobem postępowania jest ochrona tych poświadczeń. Choć to zjawisko rzadsze, wiele organizacji zaczyna wprowadzać zasady nakazujące zabezpieczanie (szyfrowanie) CAŁEGO ruchu związanego z zarządzaniem, a nie tylko poświadczeń uwierzytelniania. W obu przypadkach konieczne jest zastosowanie pewnych metod kryptografii. Szyfrowanie danych polega zwykle na połączeniu danych w postaci zwykłego tekstu (danych wejściowych) z tajnym kluczem przy użyciu wybranego algorytmu szyfrowania (tj. 3DES, AES itp.). Wynik (dane wyjściowe) to tekst szyfrowany. Przekształcić tekst szyfrowany z powrotem na tekst zwykły może tylko osoba (lub komputer), która dysponuje tajnym kluczem. Ta podstawowa metoda stanowi fundament działania wszystkich bezpiecznych protokołów (opisanych w dalszej części). Kolejnym podstawowym elementem systemów kryptograficznych jest tzw. „mieszanie“. Polega ono na obliczeniu dużej liczby zwanej wartością mieszania na podstawie części danych wejściowych w postaci zwykłego tekstu i ewentualnie części danych wejściowych z klucza. Obliczona liczba ma stałą długość (liczbę bitów) niezależnie od rozmiaru danych wejściowych. W odróżnieniu od odwracalnych metod szyfrowania, w których przy użyciu klucza można przywrócić zwykły 2005 American Power Conversion. Wszelkie prawa zastrzeżone. Żadna część niniejszej publikacji nie może być używana, reprodukowana, fotokopiowana, transmitowana ani zapisywana w jakimkolwiek systemie przechowywania informacji bez pisemnej zgody właściciela praw autorskich. www.apc.com Wer. 2005-0 12 tekst, mieszanie jest jednokierunkowe. Przywrócenie zwykłego tekstu na podstawie wartości mieszania jest matematycznie niewykonalne. Wartości mieszania stosuje się jako specjalne identyfikatory w różnych systemach protokołów, ponieważ stanowią mechanizm kontroli danych podobny do CRC (cyclic redundant check) w przypadku pliku zapisanego na dysku, umożliwiając wykrycie zmiany danych. Mieszanie jest stosowane jako metoda uwierzytelniania danych (która różni się od uwierzytelniania użytkowników). Każda próba niejawnej modyfikacji danych przekazywanych w sieci spowoduje zmianę wartości mieszania, co umożliwia wykrycie takiej próby. Tabela 3 zawiera proste porównanie algorytmów kryptograficznych i ich zastosowań. Tabela 3 — Podsumowanie głównych algorytmów kryptograficznych Algorytm Główne zastosowanie Zastosowania w protokołach DES Szyfrowanie SSH, SNMPv3, SSL/TLS 3DES Szyfrowanie SSH, SNMPv3, SSL/TLS RC4 Szyfrowanie SSL/TLS Blowfish Szyfrowanie SSH AES Szyfrowanie SSH, SSL/TLS MD5 Mieszanie, kody uwierzytelniania komunikatów SSH, SNMPv3, SSL/TLS SHA Mieszanie, kody uwierzytelniania komunikatów SSH, SNMPv3, SSL/TLS Bezpieczne protokoły dostępu Istnieją różne protokoły, na przykład SSH i SSL, które wykorzystują rozmaite mechanizmy kryptograficzne w celu zapewnienia bezpieczeństwa za pośrednictwem metod uwierzytelniania i szyfrowania. Zapewniany poziom bezpieczeństwa zależy od wielu czynników, takich jak użyte metody kryptograficzne, dostęp do przesyłanych danych, długości kluczy algorytmów, implementacje serwera i klienta oraz — co najważniejsze — czynnik ludzki. Najwymyślniejszy nawet system kryptograficzny nie na niewiele się przyda, jeśli osoba trzecia wejdzie w posiadanie poświadczeń użytkownika, takich jak hasło lub certyfikat. Klasycznym przykładem jest wspomniane wcześniej hasło przyklejone na karteczce do monitora danej osoby. Protokół SSH Protokół klient-serwer SSH (Secure Shell) opracowano w połowie lat 90. ubiegłego wieku w celu zapewnienia bezpiecznego mechanizmu zdalnego dostępu do konsoli lub powłok komputerowych za pośrednictwem niechronionych, czyli inaczej niezabezpieczonych sieci. Protokół ten zapewnia bezpieczne metody obejmujące uwierzytelnianie użytkownika i serwera oraz pełne szyfrowanie całego ruchu między klientem a serwerem. Protokół ma dwie wersje, V1 i V2, które różnią się nieznacznie pod względem oferowanych mechanizmów kryptograficznych. Wyższość wersji V2 polega na jej zdolności do ochrony przed określonymi typami 2005 American Power Conversion. Wszelkie prawa zastrzeżone. Żadna część niniejszej publikacji nie może być używana, reprodukowana, fotokopiowana, transmitowana ani zapisywana w jakimkolwiek systemie przechowywania informacji bez pisemnej zgody właściciela praw autorskich. www.apc.com Wer. 2005-0 13 ataków. (Jako atak traktowana jest podjęta przez „nieuczestniczącą“ stronę trzecią próba przechwycenia, sfałszowania lub innego zmodyfikowania danych.) Chociaż protokół SSH jest od lat stosowany jako bezpieczny protokół dostępu do konsol komputerowych, tradycyjnie rzadziej występuje w urządzeniach infrastruktury pomocniczej, takich jak zasilacze UPS i urządzenia HVAC. Jednak ponieważ sieci i obsługująca je infrastruktura stają się coraz bardziej krytyczne dla działalności przedsiębiorstw, coraz częstsze jest stosowanie takiej bezpiecznej metody dostępu do wszystkich urządzeń. Protokół SSL/TLS O ile protokół SSH jest najczęstszym protokołem zabezpieczającym dostęp do konsoli w przypadku zarządzania na bazie wiersza polecenia, protokoły SSL (Secure Socket Layer) i późniejszy TLS (Transport Layer Security) stały się standardową metodą zabezpieczania ruchu w sieci Web i innych protokołów, takich jak SMTP (poczta). TLS jest najnowszą wersją protokołu SSL, a obu tych terminów wciąż często używa się zamiennie. Protokoły SSL i SSH różnią się przede wszystkim wbudowanymi mechanizmami uwierzytelniania klienta i serwera. Ponadto TLS został przyjęty jako standard grupy roboczej IETF (Internet Engineering Task Force), natomiast SSH nigdy nie miał rangi pełnoprawnego standardu IETF, choć jest szeroko stosowany jako standard roboczy. SSL to bezpieczny protokół do ochrony ruchu w sieci Web w protokole HTTP — z tego powodu czasem określa się go skrótem HTTPS od „HTTP secure“ (bezpieczny protokół HTTP). Przeglądarki Netscape i Internet Explorer obsługują zarówno SSL, jak i TLS. Jeśli stosowane są te protokoły, następuje formalne uwierzytelnienie serwera w kliencie w postaci certyfikatu serwera. Certyfikaty opisano poniżej. Także klient może być uwierzytelniany przy użyciu certyfikatów, jednak częściej stosowane są nazwy użytkowników i hasła. Ponieważ wszystkie sesje SSL są szyfrowane, informacje uwierzytelniania i wszelkie dane na stronach sieci Web są bezpieczne. Protokół SSL jest zawsze stosowany w witrynach banków i innych podmiotów komercyjnych, które wymagają zabezpieczenia, ponieważ dostęp do tych witryn klienci uzyskują zwykle z publicznego Internetu. Ponieważ zarządzanie urządzeniami sieciowymi przez sieć Web (za pomocą wbudowanych serwerów sieci Web) stało się najczęściej stosowaną metodą podstawowej konfiguracji i określania praw dostępu użytkowników, bardzo ważna jest ochrona tej metody zarządzania. Przedsiębiorstwa, którym zależy na bezpieczeństwie całego zarządzania siecią, a jednocześnie na korzystaniu z interfejsów graficznych, takich jak HTTP, powinny stosować systemy oparte na protokole SSL. Jak wspomniano wcześniej, SSL może również służyć do ochrony komunikacji nieobjętej protokołem HTTP. Jeśli przedsiębiorstwo korzysta z klientów urządzeń opartych na protokole innym niż HTTP, bezpieczeństwo takich systemów wymaga, aby w ich protokołach dostępu był również stosowany protokół SSL. Stosowanie protokołu SSL we wszystkich tych przypadkach ma również tę zaletę, że używane są standardowe protokoły ze wspólnymi mechanizmami uwierzytelniania i szyfrowania. 2005 American Power Conversion. Wszelkie prawa zastrzeżone. Żadna część niniejszej publikacji nie może być używana, reprodukowana, fotokopiowana, transmitowana ani zapisywana w jakimkolwiek systemie przechowywania informacji bez pisemnej zgody właściciela praw autorskich. www.apc.com Wer. 2005-0 14 Najlepsze rozwiązania w zabezpieczeniach sieci Dobrze przemyślane zasady zabezpieczeń mogą znacząco zwiększyć bezpieczeństwo sieci. Zasady mogą być skomplikowane i niewygodne lub proste i niekłopotliwe, jednak często najbardziej przydatne okazują się najprostsze aspekty. Za przykład niech posłuży kombinacja centralnie zarządzanego systemu aktualizacji oprogramowania antywirusowego oraz skanera hostów, która służy do wykrywania nowych lub nieaktualnych systemów. System ten wymaga co prawda konfiguracji, centralnego administrowania i funkcji wdrażania oprogramowania, jednak są to mechanizmy powszechnie dostępne w dzisiejszych systemach operacyjnych. Ogólnie należy stwierdzić, że zasady bezpieczeństwa, najlepiej wraz z automatycznymi narzędziami ich egzekwowania, pomagają ograniczyć liczbę oczywistych dziur w zabezpieczeniach systemu, umożliwiając tym samym zajęcie się bardziej złożonymi kwestiami. Zasady zabezpieczeń sieci w przedsiębiorstwie powinny zwykle obejmować następujące elementy: • Zapory we wszystkich punktach przejścia między siecią publiczną i prywatną • Centralnie wdrażane zestawy reguł zapory z kontrolą wersji • Zasoby zewnętrzne umieszczone w sieciach chronionych dwoma zaporami i strefą DMZ • Wszystkie hosty w sieci blokują niepotrzebne porty sieciowe i wyłączają niepotrzebne usługi • Na wszystkich hostach w sieci działa centralnie zarządzane oprogramowanie antywirusowe • Wszystkie hosty w sieci korzystają z centralnych aktualizacji zabezpieczeń • Bezpieczne uwierzytelnianie centralne, takie jak Radius, Windows/Kerberos/Active Directory • Centralne zarządzanie użytkownikami z zasadami dotyczącymi haseł (tj. obowiązek zmiany hasła co trzy miesiące i stosowania „bezpiecznych haseł“) • Aktywne skanowanie sieci pod kątem nowych hostów i nieaktualnych systemów • Monitorowanie sieci pod kątem podejrzanych zjawisk • Mechanizmy reakcji na niepożądane zdarzenia (zasady, instrukcje, automatyzacja itp.) Na powyższej liście wymieniono kluczowe elementy zasad bezpieczeństwa. Teoretycznie w zasadach takich mogą się znaleźć inne istotne elementy. Oczywiście zawsze przy ustalaniu typu i zakresu zasad bezpieczeństwa ważna jest równowaga takich czynników, jak wielkość firmy, analiza ryzyka, koszt i wpływ na działalność firmy. Jak wspomniano wcześniej, dobrym punktem wyjścia jest analiza systemu, po której nastąpi analiza biznesowa. Czasem nie wydaje się to oczywiste, ale nawet w bardzo małych firmach powinny obowiązywać pewne zasady bezpieczeństwa, ponieważ wszystkie sieci — niezależnie od rozmiarów — mogą stać się celem ataku. 2005 American Power Conversion. Wszelkie prawa zastrzeżone. Żadna część niniejszej publikacji nie może być używana, reprodukowana, fotokopiowana, transmitowana ani zapisywana w jakimkolwiek systemie przechowywania informacji bez pisemnej zgody właściciela praw autorskich. www.apc.com Wer. 2005-0 15 Wnioski Wraz z rosnącą liczbą zagrożeń sieci, przybierających formę robaków, wirusów i coraz sprytniejszych hakerów, bezpieczeństwa nie można już traktować jako czegoś opcjonalnego, nawet w sieciach „prywatnych“. Zabezpieczenie wszystkich urządzeń, w tym urządzeń infrastruktury fizycznej, takich jak zasilacze UPS i systemy HVAC, ma kluczowe znaczenie dla nieprzerwanej pracy systemu i bezproblemowego dostępu do usług. Wprowadzenie i utrzymywanie zabezpieczeń w przedsiębiorstwie najczęściej wiąże się ze wzrostem obciążeń administracyjnych. Tradycyjnie jest to największa bariera dla wdrażania zabezpieczeń w szerokim zakresie. Obecnie naprawa sieci po jednym ataku wirusa lub robaka może pochłonąć więcej czasu niż wcześniejsze odpowiednie zabezpieczenie przedsiębiorstwa. Na szczęście dostępne są liczne systemy i programy zwiększające bezpieczeństwo sieci, które ograniczają jednocześnie zakres niezbędnych czynności związanych z zarządzaniem. Nawet najprostsze czynności, takie jak okresowe aktualizacje oprogramowania, blokowanie wszystkich urządzeń oraz stosowanie scentralizowanego zarządzania i bezpiecznych metod dostępu, mogą znacznie zmniejszyć ryzyko. Wprowadzenie odpowiednich zasad bezpieczeństwa i częste kontrole sieci dodatkowo podnoszą ogólny poziom jej ochrony. O autorze: Christopher Leidigh jest dyrektorem badań w dziedzinie komunikacji i technologii w firmie APC i pracuje w jej siedzibie w stanie Rhode Island (USA). Dysponuje 18-letnim doświadczeniem w programowaniu i projektowaniu systemów komputerowych i mikroprocesorowych, a obecnie zajmuje się badaniami i projektowaniem systemów komunikacyjnych, sieci IP, zabezpieczeń oraz systemów wbudowanych. W firmie APC pracuje od dziesięciu lat, aktualnie odpowiadając za linię wbudowanych produktów sieciowych i systemów zarządzania. Uzyskał tytuł inżyniera w dziedzinie inżynierii bioelektrycznej na Brown University. Regularnie występuje na konferencjach poświęconych systemom wbudowanym w USA i za granicą oraz doradza przy ich organizowaniu. Publikuje w takich pismach, jak Journal of Physiology, Communications Systems Design, Embedded Systems Programming oraz EE Times. 2005 American Power Conversion. Wszelkie prawa zastrzeżone. Żadna część niniejszej publikacji nie może być używana, reprodukowana, fotokopiowana, transmitowana ani zapisywana w jakimkolwiek systemie przechowywania informacji bez pisemnej zgody właściciela praw autorskich. www.apc.com Wer. 2005-0 16