Informacje o zabezpieczeniach dotyczące protokołu IPSec
Przed wdrożeniem protokołu IPSec w organizacji, należy wziąć pod uwagę następujące kwestie dotyczące zabezpieczeń:
-
Algorytm 3DES i komputery z systemem Microsoft® Windows® 2000
-
Metoda uwierzytelniania
-
Filtrowanie pakietów przy użyciu zapory
-
Ruch chroniony (przy użyciu protokołu AH lub ESP)
-
Ruch niechroniony (używanie reguły odpowiedzi domyślnej)
-
Grupy Diffie-Hellmana (użycie grupy Diffie-Hellmana 1, 2 lub 2048)
Algorytm 3DES i komputery z systemem Windows 2000
Zasady IPSec pozwalają na wybór mocnego algorytmu szyfrowania, 3DES, który zapewnia mocniejsze szyfrowanie, a więc i lepsze zabezpieczenia, niż algorytm DES. Aby korzystać z algorytmu 3DES na komputerach z systemem Windows 2000, musi być na nich zainstalowany dodatek High Encryption Pack albo Service Pack 2 (lub nowszy). Po odebraniu ustawienia 3DES na komputerze z systemem Windows 2000, na którym nie zainstalowano dodatku High Encryption Pack lub Service Pack 2 (lub nowszego), zostanie ono zmienione na słabsze ustawienie DES, dzięki czemu zamiast blokowania całej komunikacji, będzie zapewniony pewien poziom jej poufności. Jednak opcji DES należy używać tylko jako opcji rezerwowej, w sytuacji gdy nie wszystkie komputery w danym środowisku obsługują algorytm 3DES. Komputery z systemem Windows XP i systemami z rodziny Windows Server 2003 obsługują algorytm 3DES i nie wymagają instalacji dodatku High Encryption Pack.
Metoda uwierzytelniania
Jeśli komputery w firmie są częścią domeny usługi Active Directory®, uwierzytelnianie w trybie głównym IPSec można przeprowadzić przy użyciu domyślnej metody uwierzytelniania (Kerberos V5). Dla potrzeb komunikacji intranetowej nie trzeba wdrażać certyfikatów klucza publicznego. Należy jednak pamiętać, że komputery z systemem Windows XP Home Edition nie obsługują metody uwierzytelniania przy użyciu protokołu Kerberos V5. Korzystanie z metody uwierzytelniania Kerberos V5 jest niezalecane również dla komputerów podłączonych do Internetu. W przypadku uwierzytelniania przy użyciu protokołu Kerberos w trakcie negocjacji w trybie głównym każdy z elementów równorzędnych IPSec wysyła do drugiego elementu równorzędnego tożsamość komputera w postaci niezaszyfrowanej. Tożsamość komputera pozostaje niezaszyfrowana do momentu zaszyfrowania całego ładunku informacji o tożsamościach, co ma miejsce podczas uwierzytelniania negocjacji w trybie głównym. Użytkownik atakujący może wysłać pakiet IKE (Internet Key Exchange), który spowoduje, że odpowiadający partner IPSec ujawni tożsamość swojego komputera oraz informacje dotyczące jego członkostwa w domenie. Dlatego do zabezpieczania komputerów podłączonych do Internetu zaleca się stosowanie uwierzytelniania za pomocą certyfikatów.
Jeśli ma być zapewniony wysoki poziom zabezpieczeń, korzystanie z klucza wstępnego jest niezalecane, ponieważ jest to stosunkowo słaba metoda uwierzytelniania Ponadto klucze wstępne są przechowywane w postaci zwykłego tekstu. Uwierzytelnianie przy użyciu klucza wstępnego jest obsługiwane ze względu na współdziałanie i zgodność ze standardami IPSec. Zaleca się korzystanie z kluczy wstępnych tylko do celów testowych.
Aby uzyskać więcej informacji, zobacz Metody uwierzytelniania i Uwierzytelnianie oparte na kluczu wstępnym.
Filtrowanie pakietów przy użyciu zapory
W przypadku zapory, bramy zabezpieczeń, routera albo dowolnego innego serwera lub urządzenia, które jest połączone z Internetem i oferuje możliwości filtrowania pakietów komputerom w sieci granicznej (nazywanej również strefą zdemilitaryzowaną lub strefą DMZ), na komputerze musi być włączone specjalne filtrowanie, które zapewni, że pakiety zabezpieczone przez protokół IPSec będą przekazywane na komputery w sieci granicznej. Zapora lub inne urządzenie przeważnie powinno przepuszczać następujące typy ruchu:
-
Ruch ESP (Encapsulating Security Payload) — identyfikator 50 (0x32) protokołu IP
-
Ruch Authentication Header (AH) — identyfikator 51 (0x33) protokołu IP
-
Ruch negocjacji Internet Key Exchange (IKE) — port UDP o numerze 500 (0x1F4)
Większość programów do filtrowania pakietów pozwala na bardziej szczegółowe ustawienia. Można określić oddzielne filtry pakietów dla ruchu przychodzącego (filtry przychodzące), ruchu wychodzącego (filtry wychodzące) i dla każdego interfejsu. Ponadto można określić adresy IP komputerów IPSec w sieci granicznej. Najbardziej restrykcyjne filtry pakietów dla ruchu IPSec wymienianego z pojedynczym komputerem IPSec w sieci granicznej opisano w następnych sekcjach.
Filtry interfejsu internetowego
Aby zezwolić na określone typy ruchu, skonfiguruj następujące filtry pakietów przychodzących w interfejsie internetowym zapory:
-
Docelowy adres IP interfejsu sieci granicznej komputera IPSec i port docelowy UDP o numerze 500 (0x1F4)
Ten filtr umożliwia wysyłanie ruchu IKE na komputer IPSec w sieci granicznej.
-
Docelowy adres IP interfejsu sieci granicznej komputera IPSec i identyfikator 50 (0x32) protokołu IP
Ten filtr umożliwia wysyłanie ruchu IPSec ESP na komputer IPSec w sieci granicznej.
-
Docelowy adres IP interfejsu sieci granicznej komputera IPSec i identyfikator 51 (0x33) protokołu IP
Ten filtr umożliwia wysyłanie ruchu IPSec AH na komputer IPSec w sieci granicznej.
Aby zezwolić na określone typy ruchu, skonfiguruj następujące filtry pakietów wychodzących w interfejsie internetowym zapory:
-
Źródłowy adres IP interfejsu sieci granicznej komputera IPSec i port źródłowy UDP o numerze 500 (0x1F4)
Ten filtr umożliwia wysyłanie ruchu IKE z komputera IPSec w sieci granicznej.
-
Źródłowy adres IP interfejsu sieci granicznej komputera IPSec i identyfikator 50 (0x32) protokołu IP
Ten filtr umożliwia wysyłanie ruchu IPSec ESP z komputera IPSec w sieci granicznej.
-
Źródłowy adres IP interfejsu sieci granicznej komputera IPSec i identyfikator 51 (0x33) protokołu IP
Ten filtr umożliwia wysyłanie ruchu IPSec AH z komputera IPSec w sieci granicznej.
Filtry interfejsu sieci granicznej
Aby zezwolić na określone typy ruchu, skonfiguruj następujące filtry pakietów przychodzących w interfejsie sieci granicznej zapory:
-
Źródłowy adres IP interfejsu sieci granicznej komputera IPSec i port źródłowy UDP o numerze 500 (0x1F4)
Ten filtr umożliwia wysyłanie ruchu IKE z komputera IPSec w sieci granicznej.
-
Źródłowy adres IP interfejsu sieci granicznej komputera IPSec i identyfikator 50 (0x32) protokołu IP
Ten filtr umożliwia wysyłanie ruchu IPSec ESP z komputera IPSec w sieci granicznej.
-
Źródłowy adres IP interfejsu sieci granicznej komputera IPSec i identyfikator 51 (0x33) protokołu IP
Ten filtr umożliwia wysyłanie ruchu IPSec AH z komputera IPSec w sieci granicznej.
Aby zezwolić na określone typy ruchu, skonfiguruj następujące filtry pakietów wychodzących w interfejsie sieci granicznej zapory:
-
Docelowy adres IP interfejsu sieci granicznej komputera IPSec i port docelowy UDP o numerze 500 (0x1F4)
Ten filtr umożliwia wysyłanie ruchu IKE na komputer IPSec w sieci granicznej.
-
Docelowy adres IP interfejsu sieci granicznej komputera IPSec i identyfikator 50 (0x32) protokołu IP
Ten filtr umożliwia wysyłanie ruchu IPSec ESP na komputer IPSec w sieci granicznej.
-
Docelowy adres IP interfejsu sieci granicznej komputera IPSec i identyfikator 51 (0x33) protokołu IP
Ten filtr umożliwia wysyłanie ruchu IPSec AH na komputer IPSec w sieci granicznej.
Ruch chroniony (przy użyciu protokołu AH lub ESP)
Podejmując decyzję, czy do ochrony ruchu IP używać protokołu AH, czy ESP, należy wziąć pod uwagę następujące informacje:
-
Protokół AH zapewnia zarówno uwierzytelnianie, jak i integralność przez wyliczenie dla każdego pakietu wartości mieszania opartej na kluczu i dołączenie jej do pakietu. W przypadku protokołu AH obliczenia mieszania obejmują cały pakiet wraz z nagłówkiem IP. Pewne pola, które mogłyby się zmienić podczas przesyłania, są wykluczone. Ochronę przed powtarzaniem pakietów zapewnia dołączenie numeru kolejnego do każdego pakietu.
-
Protokół ESP zapewnia zarówno uwierzytelnianie, jak i integralność przez wyliczenie dla każdego pakietu wartości mieszania opartej na kluczu i dołączenie jej do pakietu. W przypadku protokołu ESP obliczenia mieszania obejmują tylko nagłówek, blok końcowy i ładunek ESP. Nagłówek IP nie jest chroniony przez wartość mieszania. Protokół ESP zapewnia poufność danych, szyfrując ładunek ESP algorytmem DES (Data Encryption Standard) lub 3DES (potrójny algorytm DES). Ochronę przed powtarzaniem pakietów zapewnia dołączenie numeru kolejnego do każdego pakietu.
Weryfikowanie wartości mieszania wszystkich pakietów obciąża procesor w mniejszym stopniu niż ich szyfrowanie i odszyfrowywanie. Jeśli kwestią priorytetową jest wydajność, do ochrony typowego ruchu można stosować protokół AH. Jeśli wymagana jest poufność, można używać protokołu ESP. Można na przykład używać protokołu AH do ochrony ruchu w intranecie i protokołu ESP dla ruchu, który jest przesyłany przez Internet.
Uwaga
-
Uwaga dotycząca wydajności odnosi się do sytuacji, gdy w organizacji nie są używane karty sieciowe sprzętowo wspomagające ruch IPSec. Takie karty sieciowe same przeprowadzają obliczenia kryptograficzne, polegające na przykład na obliczeniu i zweryfikowaniu wartości mieszania lub zaszyfrowywaniu i odszyfrowywaniu, zwiększając wydajność ruchu zabezpieczonego protokołem IPSec.
Ruch niechroniony (używanie reguły odpowiedzi domyślnej)
Aby łatwo wdrożyć protokół IPSec, który ma zabezpieczać ruch z określonej grupy serwerów, należy wykonać następujące czynności:
-
Umieść serwery w jednostce organizacyjnej i obiektowi zasad grupy tej jednostki organizacyjnej przypisz zasady IPSec z regułą, która wymaga ruchu zabezpieczonego między serwerami i każdym innym komputerem. W akcji filtru tej reguły określ, że serwery mają akceptować komunikację niezabezpieczoną, ale zawsze muszą odpowiadać przy użyciu protokołu IPSec.
-
Umieść komputery klienckie w jednostce organizacyjnej i obiektowi zasad grupy tej jednostki organizacyjnej przypisz zasady IPSec używające tylko reguły odpowiedzi domyślnej. Aby uzyskać więcej informacji, zobacz Reguły zasad IPSec.
W tej konfiguracji następujący ruch między komputerami klienckimi a serwerami jest niezabezpieczony:
-
Żądanie początkowe (np. pakiet TCP SYN) wysłane przez komputer kliencki w celu ustanowienia połączenia jest niezabezpieczone, ponieważ w zasadach klienta brakuje reguły służącej do inicjowania zabezpieczonej komunikacji z serwerem zabezpieczonym.
-
Chociaż dalsza komunikacja jest zabezpieczona (po wynegocjowaniu komunikacji zabezpieczonej między klientem i serwerem), dla skojarzenia zabezpieczeń trybu szybkiego, które określa ustawienia zabezpieczeń ruchu, może w końcu zostać przekroczony limit czasu, a wtedy zostanie ono usunięte zarówno z serwera zabezpieczonego, jak i z komputera klienckiego. Zdarzy się tak, jeśli mimo ustanowienia połączenia TCP między komputerem klienckim a serwerem zabezpieczonym przez dłuższy czas nie będzie generowany żaden ruch. Filtr dynamiczny domyślnie utworzony na komputerze klienckim przez regułę odpowiedzi domyślnej również zostanie usunięty po przekroczeniu limitu czasu dla filtru dynamicznego.
Gdy serwer zabezpieczony wysyła nowe dane przez istniejące połączenie, przed wysłaniem tych danych na komputer kliencki ponownie negocjuje skojarzenie zabezpieczeń trybu szybkiego, ponieważ na serwerze istnieje reguła zabezpieczająca ruch między nim a wszystkimi komputerami klienckimi. Jeśli jednak komputer kliencki wysyła nowe dane po przekroczeniu limitu czasu skojarzeń zabezpieczeń trybu szybkiego i filtru dynamicznego, nowe dane będą wysłane jako niezabezpieczone, ponieważ klient nie ma reguły inicjującej komunikację zabezpieczoną z serwerem zabezpieczonym. W przypadku połączeń TCP komputer kliencki może wysyłać w sposób niezabezpieczony jeden lub wiele segmentów TCP. Aby zapobiec wysyłaniu przez komputery klienckie danych niezabezpieczonych na serwery zabezpieczone, trzeba na komputerach klienckich skonfigurować zasady IPSec z dodatkowymi regułami, które będą inicjowały komunikację zabezpieczoną z serwerami zabezpieczonymi.
Grupy Diffie-Hellmana (użycie grupy Diffie-Hellmana 1, 2 lub 2048)
Grupy Diffie-Hellmana służą do ustalania długości podstawowych liczb pierwszych używanych podczas procesu wymiany kluczy. Grupa 2048 (wysoka) jest silniejsza (bardziej bezpieczna) niż grupa 2 (średnia), która jest z kolei silniejsza niż grupa 1 (niska). Grupa 1 dostarcza 768 bitów materiału klucza, grupa 2 — 1 024 bity, a grupa 2048 — 2 048 bitów.
Silne grupy Diffie-Hellmana w połączeniu z dłuższymi kluczami znacznie utrudniają złamanie klucza tajnego.
Ważne
-
Aby zwiększyć poziom zabezpieczeń, nie należy używać grupy Diffie-Hellmana 1. Aby zapewnić maksymalny poziom zabezpieczeń, należy zawsze gdy to możliwe używać grupy 2048. Jeśli wymagane jest współdziałanie z systemem Windows 2000 i Windows XP, należy użyć grupy 2.
Uwaga
-
Grupa Diffie-Hellmana 2048 jest dostępna tylko w systemach z rodziny Windows Server 2003.
Aby uzyskać więcej informacji o grupach Diffie-Hellmana i wymianie kluczy, zobacz Metody wymiany kluczy i Zarządzanie kluczami i ich ochrona.