Artykuły

A A A
Drukuj Ekportuj do PDF
Opublikowane: 2004.01.22 15:48 | Jacek Kolonko | Aktualizacja: 2006.01.20 13:48

Efektywne zabezpieczenie transmisji danych w sieci SBS 2003 z wykorzystaniem IPsec i certyfikatów

tagi: SBS sieci
Artykuł przedstawia jak zabezpieczyć dane przesyłane w sieci przy pomocy protokołu IPSec. Opisana została procedura konfigurowania polityk IPSec tak, aby wykorzystać certyfikaty wystawiane przez urząd CA oparty o SBS 2003.

W sieciach komputerowych przesyła się coraz większe ilości danych – plików tekstowych, binarnych, wiadomości e-mail, stron www czy też danych audio/video. Jednocześnie coraz większą wagę przypisujemy odpowiedniemu zabezpieczeniu tychże danych nie tylko podczas ich przechowywania na dyskach serwerów (uprawnienia NTFS, szyfrowanie EFS itp.), ale właśnie podczas ich transmitowania przez różnego rodzaju sieci – prywatne i publiczne, charakteryzujące się różnym poziomem zaufania i możliwością wystąpienia zagrożeń dla przesyłanych informacji.

Najczęściej spotykane zagrożenia związane z transmitowaniem danych w sieciach obejmują:

  • możliwość przechwycenia przesyłanych pakietów sieciowych i zapoznania się z ich zawartością – a więc np. nieautoryzowana osoba może uzyskać dostęp do zawartości dokumentu, którego ze względu na brak uprawnień nie może otworzyć na serwerze;
  • rzechwytywanie i dekodowanie haseł użytkowników – w przypadku protokołów takich jak POP3, IMAP lub TELNET hasło jest przesyłane w postaci jawnego tekstu, w wielu innych przypadkach (np. mechanizm uwierzytelniania NTLM) – hasło może zostać stosunkowo łatwo zdekodowane przez narzędzia opierające się o ataki słownikowe lub tzw. „brute-force”;
  • podszycie się pod legalnego nadawcę lub odbiorcę – np. wyobraźmy sobie, że potencjalny intruz modyfikuje rekord A w usłudze DNS tak, aby wskazywał na inny niż autoryzowany serwer pocztowy – wówczas użytkownicy będą próbowali podłączać się do takiego fałszywego serwera i dokonując autoryzacji – pozostawiali na nim swoje hasła;
  • celowa modyfikacja danych w trakcie ich przesyłu – jeśli pomiędzy nadawcą a odbiorcą danych pojawi się intruz – będzie mógł zmieniać zawartość transmitowanych pakietów i w ten sposób realizować ataki typu „DOS” lub kierować nadawcę pod inne, fałszywe adresy.

Zagrożeń podobnych do wymienionych powyżej jest wiele i trudno byłoby je wszystkie wymienić. Warto natomiast pomyśleć jak zabezpieczyć sieć przed tego rodzaju atakami przy pomocy narzędzi i technologii wbudowanych w Small Business Server.

Wykorzystamy tutaj protokół IPSec, który może być tak skonfigurowany, aby zapewnić realizację jednego z poniższych celów:

  • szyfrowanie wszystkich transmitowanych pakietów pomiędzy dowolnymi dwoma węzłami w sieci – może to być połączenie pomiędzy stacją roboczą a serwerem lub też tunel tworzony pomiędzy dwoma urządzeniami typu „router”;
  • szyfrowanie tylko wybranych protokołów lub konkretnych pakietów;
  • podpisywanie cyfrowe i sprawdzanie integralności przesyłanych pakietów (aby nie mogły zostać zmodyfikowane w trakcie transmisji);
  • uwierzytelnianie stron komunikujących się poprzez sieć (np. daje pewność, że do serwera podłączy się tylko autoryzowany klient);
  • blokowanie wybranych protokołów lub pakietów.

IPSec jest protokołem całkowicie przezroczystym dla aplikacji, co pozwala nam wykorzystać go do zabezpieczenia dowolnych danych przesyłanych po sieci, niezależnie od tego, jaka aplikacja informacje wysyła a jaka odbiera. Założenia protokołu i ogólne zasady jego konfigurowania zostały opisane w dokumencie RFC nr 3585, który można znaleźć na stronie Internet Engineering Task Force.

Niezależnie od zakresu, w jakim będziemy chcieli wykorzystać IPSec musimy wybrać jeden z trzech dostępnych mechanizmów uwierzytelniania stron biorących udział w zabezpieczonej transmisji:

  • KERBEROS
  • CERTYFIKATY
  • PRE-SHARED KEY (współdzielony klucz)

Domyślna konfiguracja IPSec w Small Business Server zakłada wykorzystanie mechanizmu uwierzytelniania KERBEROS – w takim przypadku każda ze stron dysponuje tzw. biletem uzyskanym od usługi KDC (Key Distribution Center), zawierającym klucz sesyjny dla obu stron, używany w fazie negocjacji (IKE) do zabezpieczenia głównego klucza kodującego (MASTER KEY). Wnikliwych czytelników zachęcam do lektury dokumentów dostępnych na stronie: Internet Authentication Service.

Administratorzy SBS powinni jednak wiedzieć, że IPSec może wykorzystywać mechanizm Kerberos tylko, jeśli zostaną spełnione poniższe warunki:

  • wymagana jest synchronizacja zegarów systemowych klienta i serwera – rozbieżność czasu nie może przekroczyć 5 minut (dopuszczalny zakres tolerancji może być modyfikowany poprzez polityki zabezpieczeń);
  • w systemie operacyjnym (na serwerze i stacji roboczej) musi być obecny tzw. IPSec AGENT – domyślnie jest on instalowany w systemach od Windows 2000 – dla wcześniejszych wersji (np. Windows 98) można pobrać odpowiedniego klienta ze strony: Microsoft L2TP/IPSec VPN Client;
  • wszystkie strony negocjujące zabezpieczenia IPSec muszą mieć poprawnie skonfigurowany adres DNS – dodatkowo serwer DNS musi zwracać poprawną odpowiedź na zapytania o rekordy typu SRV dla usług _LDAP oraz _KERBEROS;
  • zarówno klient jak i serwer muszą być członkami domeny i posiadać poprawne konto komputera w tejże domenie – jeśli nie jest to ta sama domena, to pomiędzy domenami klienta i serwera musi istnieć relacja zaufania, tzw. TRUST.

Jak widzimy, w wielu sytuacjach może okazać się, że IPSec oparty o technologię KERBEROS nie działa w ogóle lub też działa niestabilnie. W takich przypadkach zdecydowanie lepszym rozwiązaniem jest wykorzystanie drugiej z omówionych możliwości a więc infrastruktury PKI i certyfikatów.

Zakładamy, że administrator zainstalował, skonfigurował i zweryfikował działanie serwera certyfikatów (CA). Kolejnym krokiem jest uzyskanie certyfikatów dla komputerów (nie – użytkowników!!!) dla których chcemy wykorzystać IPSec. Przy pobieraniu certyfikatu z poziomu przeglądarki internetowej należy zaznaczyć opcję „Advanced Request” a później wybrać szablon certyfikatu „IPSec” oraz zaznaczyć pole „Use local machine store”.
Jeśli do pobrania certyfikatu użyjemy konsoli MMC „Certyfikaty” to przy dołączaniu przystawki trzeba zaznaczyć, że chcemy zarządzać certyfikatami dla konta komputera a później wybrać szablon „IPSec”.

Warto pamiętać, że jeśli dwie strony, pomiędzy którymi chcemy konfigurować IPSec uzyskują certyfikaty od różnych CA – to urzędy te muszą być wzajemnie zaufane, np., jeśli klient A uzyskuje certyfikat od urzędu CA_A a klient B – od urzędu CA_B to urząd CA_A musi znajdować się na liście zaufanych urzędów klienta B i odwrotnie. Oczywiście, jeżeli oba te urzędy mają ponad sobą jeden i ten sam urząd typu „root” to zaufanie jest realizowane automatycznie.

Kolejnym etapem konfigurowania IPSec będzie modyfikacja domyślnych polityk w systemie, które tak jak zaznaczyłem wcześniej – standardowo wykorzystują jedynie KERBEROS. Dla pojedynczego komputera najwygodniejszą metodą będzie użycie konsoli „Local Security Policy” – natomiast dla większej grupy maszyn bardziej efektywne jest utworzenie obiektu GPO i przypisanie go na poziomie bądź całej domeny lub też wybranych jednostek organizacyjnych.

Jak widzimy na powyższym zrzucie – mamy do dyspozycji trzy predefiniowane polityki IPSec, z których każda działa nieco inaczej:

  • Client (Respond Only) – oznacza pasywną zgodę na warunki kodowania lub podpisywania narzucane przez druga stronę (przy założeniu że ustawienia polityk pozwalają na wynegocjowanie akceptowalnych przez obie strony warunków transmisji). Taką politykę włączamy w większości przypadków na stacjach roboczych i nie precyzujemy wówczas żadnych szczegółowych ustawień dotyczących kodowania (wymusza je serwer);
  • Server (Request Security) – wbrew temu co sugeruje nazwa - polityka może być włączona zarówno na stacji roboczej jak i serwerze – komputer objęty takim ustawieniem próbuje kodować każda transmisję sieciową ( z wyłączeniem ICMP) a jeśli druga strona nie może używać IPSec lub nie ma przypisanej żadnej polityki – oba komputery przechodzą na transmisję niekodowaną;
  • Secure Server (Require Security) – w przypadku włączenia tej polityki nie może być nowy o żadnej transmisji niekodowanej (poza ICMP) – jeśli druga strona nie ma włączonej polityki IPSec lub polityka jest niezgodna – połączenie jest odrzucane.

Zanim jednak włączymy dowolną z trzech ww. polityk musimy zmienić jej konfigurację tak, aby wykorzystywała certyfikaty komputerów w początkowej fazie negocjacji IPSec (tzw. IKE).
Po wybraniu właściwości polityki modyfikujemy właściwości filtrów „ALL IP TRAFFIC” oraz „DYNAMIC”. Dla każdego z wymienionych filtrów usuwamy na zakładce „Authentication Methods” pozycję „Kerberos” i dodajemy opcję „Use a certificate from this CA” jak na rysunku poniżej. Pamiętamy, aby wybrać odpowiedni urząd, od którego wcześniej uzyskaliśmy certyfikat IPSEC dla komputera.

Teraz już możemy sprawdzić działanie protokołu IPSec – w najprostszym wariancie będzie to polegało na włączeniu polityki „Server – require security” na serwerze (nasz SBS) oraz polityki „Client” na wybranej stacji roboczej zgodnej z IPSec – po podświetleniu wybranej polityki prawym klawiszem myszki wybieramy akcję „Assign” (Przydziel).

Jak przekonać się czy IPSec rzeczywiście działa i koduje dane przesyłane w sieci? Możemy tu wykorzystać dwa dodatkowe narzędzia:

  • dodajemy (z poziomu panelu sterowania) narzędzie „NETWORK MONITOR” pozwalające na przechwytywanie i wyświetlanie pakietów sieciowych. Następnie realizujemy dowolne podłączenie do serwera ze stacji roboczej (np. przy użyciu przeglądarki internetowej podłączamy się do głównej strony serwera WWW). Po przechwyceniu danych monitorem powinniśmy widzieć wyłącznie warstwy ETHERNET oraz IP – wszystkie protokoły wyższego poziomu są ukryte (zakodowane) i wyświetlane tak jak na zrzucie poniżej (jako ESP);
  • druga metoda polega na wykorzystaniu specjalnej konsoli zaprojektowanej do monitorowania protokołu IPSec – konsolę uruchamiamy startując pustą powłokę MMC.EXE i dodając do niej przystawkę „IP Security Monitor” . Jeżeli pomiędzy klientem a serwerem zostały wynegocjowane warunki kodowania IPSec to w konsoli pojawi się odpowiedni wpis z adresem IP i wyszczególnionymi algorytmami kodowania i podpisywania (jak poniżej).

Jak widać powyżej – stosunkowo łatwo zabezpieczyliśmy komunikację pomiędzy klientem a serwerem, aczkolwiek edytując polityki IPSec można tworzyć dużo bardziej zaawansowane konfiguracje. O tym jak tworzyć rozbudowane filtry i wykorzystywać inne możliwości IPSec (np. blokowanie czy tryby tunelowe) przeczytają czytelnicy w kolejnych artykułach.

Opracowanie własne dla portalu SBS-Forum.pl

Autor: Paweł Ratajczak


Komentarze 0 Masz uwagi do tej strony? Napisz

Dodaj komentarz

avatar

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.

Autor Jacek Kolonko
avatar VIP
 

What do you want to write today? ;)

Załóż konto
WSS to serwis, który łączy dziesiątki tysięcy specjalistów IT w Polsce, zajmujących się szeroko pojętymi technologiami Microsoft. Portal działa od 2003 roku, i oprócz setek publikacji technicznych, rozwijającego się forum - portal to ludzie, którzy go tworzą. To właśnie z myślą o nich warto codziennie nas odwiedzać.

Dowiedz się więcej o WSS

vGuru - Zostań Guru Wirtualizacji

 

MetroOne

Idź na górę strony