Wdrożenie serwera VPN przy użyciu funkcji Routing And Remote Access (RRAS)

Wdrożenie serwera dostępu zdalnego opartego na prywatnych sieciach wirtualnych (VPN) umożliwia użytkownikom bezpieczne połączenia poprzez sieć publiczną Internet do prywatnych sieci zdalnych. Konfiguracja dostępu zdalnego sieci VPN w systemie Windows Server zakłada, że pojedynczy użytkownik łączy się poprzez Internet do serwera z uruchomioną usługą Routing And Remote Access (Routing i dostęp zdalny).
Generalnie usługa ta jest programowym i wieloprotokołowym routerem, która może zostać skonfigurowana dla realizacji routingu w sieciach IP, pomiędzy sieciami lokalnymi i rozległymi (LAN-LAN oraz LAN-WAN) i prywatnymi sieciami wirtualnymi (VPN) oraz dla translacji adresów sieci NAT.

Prywatne sieci wirtualne (VPN) to sieci logiczne rozciągające się fizycznie poprzez sieć Internet. W sieci VPN prywatne pakiety są najpierw szyfrowane, a następnie poddawane kapsułkowaniu w pakietach publicznych adresowanych do zdalnego serwera dostępu zdalnego. Te informacje routingu umożliwiają przesyłanie "poprzez tunel" w sieci publicznej zaszyfrowanych danych prywatnych tak, aby dotarły do miejsca docelowego. Po odebraniu poprzez tunel VPN informacji, które zostały poddane kapsułkowaniu, serwer VPN usuwa publiczne nagłówki i deszyfruje dane prywatne.

Ważną cechą sieci VPN jest to, że publiczne sieci fizyczne, poprzez które są przesyłane dane, stają się niewidoczne dla obydwu punktów końcowych komunikacji. Dwa komputery, Komputer1 i Komputer2, są fizycznie połączone jedynie poprzez sieć Internet. Pomimo że dwa komputery rozdzielone są kilkoma routerami, połączenie VPN przedstawione jest jako pojedynczy skok.

Schemat połączenia VPN realizowanego przez serwer dostępu zdalnego z usługą Routing And Remote Access (RRAS). Zdjęcie 1. Schemat połączenia VPN realizowanego przez serwer dostępu zdalnego (serwer VPN) z usługą Routing And Remote Access (RRAS).

System Windows Server obsługuje cztery typy sieci VPN: IKEv2, SSTP, PPTP i L2TP/IPSec.
Tunele typu PPTP są prostsze podczas instalowania. Bezpieczeństwo przesyłanych danych jest proporcjonalne do siły hasła użytkownika. Stosowanie długich i skoplikowanych haseł daje ochronę na poziomie tunelu typu L2TP/IPSec opartego na certyfikatach. Warto więc wymuszać na kontach użytkowników w domenie AD stosowania silnych haseł. Dokonać tego można przez konfigurację polityki GPO Default Domain Policy. Pomimo że połączenia VPN typu PPTP zapewniają poufność danych (przechwycone pakiety nie mogą być rozszyfrowane bez klucza), to jednak nie zapewniają integralności danych (sprawdzenia, czy dane podczas transmisji nie zostały zmodyfikowane) ani uwierzytelnienia pochodzenia danych (sprawdzenia, czy zostały one wysłane przez autoryzowanego użytkownika).
Dla połączeń PPTP szyfrowanie przeprowadzane jest przy pomocy metody MPPE, która nie wymaga konfigurowania infrastruktury kluczy publicznych (PKI) ani przydzielania certyfikatów użytkownikom bądź komputerom na każdym końcu prywatnego połączenia wirtualnego. Protokół PPTP może być jednak wykorzystywany razem z infrastrukturą certyfikatów, jeśli jako protokół uwierzytelnienia wybrany zostanie protokół EAP-TLS. Łącze pomiędzy dwoma końcami połączenia VPN traktowane jest jako połączenie PPP, które zaszyfrowane zostało przy użyciu MPPE. Ramka PPP zostaje następnie opakowana przy użyciu nagłówka GRE (Generic Routing Encapsulation) oraz nagłówka IP.
W połączeniach typu L2TP/IPSec lub IKEv2 (bazującym na IPSec) klient sieci VPN i serwer sieci VPN korzystają z protokołu L2TP lub IKE w celu wymiany certyfikatów komputerów lub klucza wstępnego, aby ustanowić skojarzenie zabezpieczeń protokołu internetowego (IPSec). W obu przypadkach klient VPN i serwer uwierzytelniają się nawzajem na poziomie komputera. Uwierzytelnianie za pomocą certyfikatów komputerowych jest znacznie silniejszą metodą uwierzytelniania i dlatego jest wysoce zalecane. Uwierzytelnianie na poziomie komputera jest używane przez połączenia Layer Two Tunneling Protocol (L2TP)/IPsec lub IKE wersja 2. Aby sprawdzić, czy dane wysłane przez połączenie VPN pochodzą z drugiego końca połączenia i nie zostały zmodyfikowane podczas przesyłania, dane zawierają kryptograficzną sumę kontrolną opartą na kluczu szyfrowania znanym tylko nadawcy i odbiorcy. Uwierzytelnianie pochodzenia danych i integralność danych są dostępne dla połączeń L2TP/IPsec i IKE wersja 2 przy czym użycie drugiego protokołu jest bardziej bezpieczne i daje lepsze parametry połączenia.
Dla połączeń typu L2TP/IPSec protokół L2TP umożliwia tunelowanie sieci VPN, a protokół EPS (Encapsulation Security Payload), będący cechą protokołu IPSec, umożliwia szyfrowanie danych. Inaczej niż w wypadku protokołu PPTP, połączenia L2TP/IPSec oprócz uwierzytelnienia użytkownika, wymagają uwierzytelnienia komputera. Przede wszystkim jest wykonywane uwierzytelnienie komputera. Proces ten ma miejsce podczas każdej próby nawiązania połączenia pomiędzy klientami dostępu zdalnego a serwerami za pośrednictwem protokołów L2TP/IPSec. Po uwierzytelnieniu tunelu i ustanowieniu bezpiecznego kanału pomiędzy klientem a serwerem, następuje uwierzytelnienie użytkownika. Uwierzytelnienie użytkownika poprzez połączenie VPN za pośrednictwem protokołów L2TP/IPSec następuje w oparciu o taki sam zestaw protokołów uwierzytelnienia, jak dla protokołu PPTP i połączeń telefonicznych. Po zakończeniu uwierzytelnienia użytkownika następuje jego autoryzacja.
Dla większości połączeń VPN, opartych na protokole L2TP, uwierzytelnienie komputera bazuje na infrastrukturze certyfikatów. Aby zainstalować ten typ sieci VPN, należy najpierw na każdym serwerze i kliencie sieci VPN zainstalować certyfikat komputera wydany przez ten sam urząd certyfikacji (CA). Certyfikaty zawierają rozszerzenia EKU (Enhanced Key Usage), które definiują przeznaczenie certyfikatu. Certyfikat komputera musi w rozszerzeniu certyfikatu zawierać albo cel IP security IKE Intermediate oraz Server Authentication lub IPSec. Z kolei certyfikat serwera VPN musi zawierać cel IP security IKE Intermediate lub Client Authentication.
Wykorzystanie połączeń VPN opartych na protokołach PPTP i L2TP bywa utrudnione z powodu blokowania portów przez niektóre webowe serwery proxy, zapory sieciowe i translacje NAT znajdujące się między klientami i serwerami VPN. W celu rozwiązania tego problemu firma Microsoft opracowała nowy mechanizm zdalnego dostępu. Rozwiązanie o nazwie SSTP (Secure Socket Tunneling Protocol) pozwala uzyskiwać w bezpieczny sposób dostęp do odległych sieci komputerowych, nie obawiając się problemów związanych z blokowaniem portów. SSTP buduje tunel VPN przechodzący przez Secure-HTTP, eliminując wymienione problemy. Protokół jest oparty na SSL (a nie na PPTP czy IPSec), a cały ruch SSTP jest obsługiwany przez port TCP 443. Użycie tego typu połączenia wymaga jednak zainstalowania na serwerze VPN odpowiedniego certyfikatu.

Każdy komputer zdalny, który łączy się z serwerem dostępu zdalnego, automatycznie otrzymuje adres IP w trakcie procesu ustanawiania połączenia. Serwer dostępu zdalnego (serwer VPN) uzyskuje adresy IP od istniejącego serwera DHCP lub na podstawie statycznego zakresu adresów IP, zdefiniowanego w usłudze RRAS. Po nawiązaniu połączenia pomiędzy komputerem a serwerem dostępu zdalnego i przypisaniu niezbędnych adresów, muszą zostać uwierzytelnione przesyłane w tym czasie poświadczenia. Uwierzytelnianie jest procesem sprawdzania, czy użytkownik jest w rzeczywistości osobą, za którą się podaje. Wryfikacja następuje poprzez sprawdzenie hasła lub innych poświadczeń, takich jak karta inteligentna lub certyfikat. Uwierzytelnianie dostępu zdalnego poprzedza proces uwierzytelnienia rejestrowania się w domenie. Zanim użytkownik spróbuje zalogować się zdalnie w domenie, połączenie musi zostać najpierw nawiązane, uwierzytelnione i autoryzowane.
Proces uwierzytelniania dotyczy sprawdzenia poświadczeń użytkownika, natomiast proces autoryzacji odnosi się do zezwoleń dostępu użytkownika do zasobów. Realizowany jest on na podstawie uprawnień określonych we właściwosciach konta użytkownika lub poprzez zasadę dostępu zdalnego zdefiniowaną w usłudze Network Policy Server (NPS) będącej odpowiednikiem serwera RADIUS (Remote Authenticstion Dial-In User Service).

Protokoły uwierzytelniania.
W celu uwierzytelnienia poświadczeń dostarczonych przez połączenie VPN, serwer i klient dostępu zdalnego muszą najpierw przeprowadzić negocjacje, dotyczące używania wspólnego protokołu uwierzytelnienia. Większość protokołów uwierzytelnienia oferuje pewne kryterium (pomiar) zabezpieczeń tak, aby poświadczenia użytkownika nie mogły być przechwycone i w oparciu o te poziomy zabezpieczeń do protokołów uwierzytelniania w serwerach i klientach systemu Windows przypisywane są odpowiednie priorytety.
Protokół uwierzytelniania, wybrany dla połączenia dostępu zdalnego, jest zawsze najbezpieczniejszym protokołem spośród protokołów, włączonych we właściwościach połączenia klienta, we właściwościach serwera dostępu zdalnego czy określonych przez zasadę dostępu zdalnego stosowaną do tego połączenia.

Metody szyfrowania.
System Windows Server obsługuje dwie ogólne metody szyfrowania danych połączenia dostępu zdalnego: Rivest-Shamir Adleman (RSA) RC4 oraz Data Encryption Standard (DES). RSA RC4 jest grupą algorytmów, używanych w metodzie MPPE, która jest typem szyfrowania protokołów uwierzytelniania MS-CHAP lub EAP-TLS zarówno dla połączeń telefonicznych, jak i dla połączeń VPN, bazujących na protokole PPTP. Schemat szyfrowania DES jest natomiast metodą najczęściej wykorzystywaną przy protokole IPSec, który jest standardem zabezpieczeń protokołu uwierzytelniania L2TP w sieciach VPN.

Wdrożenie dostępu zdalnego opartego o sieć VPN.
Wdrożenie dostępu zdalnego przy użyciu usługi Routing And Remote Access wymaga poniższych komponentów:
- usługa katalogowa Active Directory (domena: msa.domena.pl),
- serwer z usługą kontrolera domeny (DNS: dc.msa.domena.pl),
- serwer z usługą RRAS (serwer VPN) (DNS: vpn.msa.domena.pl),
- serwer z usługą Network policy Server (serwer NPS) (DNS: nps.msa.domena.pl),
- serwer z usługą Certificate Authority (serwer CA) (DNS: ca.msa.domena.pl).
W środowisku testowym usługi kontrolera domeny AD, Network Policy Server i Certificate Authority można uruchomić na jednym serwerze. Domeną Active Directory w środowisku testowym jest msa.domena.pl. Wszystkie serwery jak i również komputery pełniące funkcje klientów VPN muszą być członkami tej domeny. Zapewni to, że serwer CA będzie autoryzowany na wszystkich komputerach.

Instalacja usługi Routing And Remote Access.
Do instalacji usługi RRAS wykorzystany zostanie komputer z systemem operacyjnym Windows Server 2016 wyposażony w dwie karty sieciowe podłączone do sieci LAN i sieci DMZ. W idealnym przypadku taki serwer VPN powinien mieć bezpośredni dostęp do Internetu omijając główną zaporę sieciową i router dostępowy odzielający sieć Internet od sieci wewnętrznych (LAN, DMZ) przedsiębiorstwa. Umożliwi nam to uniknięcie problemów z zestawieniem połączeń opartych o IPSec.

Konsola MMC usługi Routing And Remote Access (RRAS). Zdjęcie 2. Konsola MMC usługi Routing And Remote Access (RRAS).

Poniżej opisana została przykładowa konfiguracja serwera VPN:
- Nazwa serwera: VPN
- nazwa w lokalnej usłudze DNS: vpn.msa.domena.pl
- nazwa w Internetowej usłudze DNS: vpn.domena.pl
- adres IP karty Ethernet1: 192.168.20.1 (sieć LAN)
- adres IP karty Ethernet2: 157.54.130.1 (sieć Internet)

Karta sieciowa Ethernet1 podłączona jest bezpośrednio do firmowej sieci LAN. Wysłanie zapytania do lokalnej usługi DNS o rozwiązanie adresu vpn.msa.domena.pl zwróci nam adres IP 192.168.20.1. W sieci Internet komputer widoczny jest pod nazwą DNS vpn.domena.pl i adresem IP 157.54.130.1 przypisanym do karty sieciowej Ethernet2.

Warto zmienić nazwy kart sieciowych na bardziej opisowe np: LAN, DMZ lub Internet. Adres bramy domyślnej należy ustawić na karcie mającej połączenie z siecą Internet lub podsiecią DMZ. Adresy serwerów DNS należy skonfigurować dla karty podłączonej do sieci lokalnej. Zakładamy, że infrastrutkura sieciowa przedsiębiorstwa posiada własne serwery DNS i WINS (NetBIOS).
Instalację usługi RRAS wykonujemy przy użyciu polecenia interpretera poleceń PowerShell.
Polecenie: Install-WindowsFeature -Name DirectAccess-VPN -IncludeAllSubFeature -Restart.
Następnie instalujemy zestaw narzędzi (Remote Access Management Tools) pozwalających zarządzać usługą RRAS.
Polecenie: Install-WindowsFeature -Name RSAT-RemoteAccess -IncludeAllSubFeature.
Wśród zainstalowanych konsol zarządzania należy odszukać konsolę Routing and Remote Access i uruchomić. Po zanaczeniu ikony serwera z menu podręcznego należy wybrać opcję Configure and Enable Routing and Remote Access. W kreatorze konfiguracji usługi wybieramy opcje Custom configuration > VPN access i kończymy działanie kreatora. Nastąpi uruchomienie usługi RemoteAccess.
Należy sprawdzić czy konto komputera w usłudze katalogowej AD jest członkiem grupy RAS and IAS Servers. Członkostwo to jest niezbędne w celu umożliwienia serwerom dostępu do specyficznych ustawień kont użytkowników.
Na zakładce General należy skonfigurować opcje:
- Enable this computer as a IPv4 Router: włączone, zaznaczyć dodatkowo opcję LAN and demand-dial routing.
- IPv4 Remote access server: włączone.
Na zakładce IPv4 określić zakres adresów IP przydzielanych klientom VPN. Wykorzystana zostanie pula adresów IP z sieci 192.168.21.0/24 z zakresu od 192.168.21.1 do 192.168.21.30. Pierwszy adres z zakresu przydzielany jest wewnętrznemu interfejsowi sieciowemu przeznaczonemu do połączeń VPN. Jest on widoczny w opcji Network Interfaces pod nazwą Internal. Routery w sieci lokalnej przedsiębiorstwa należy tak skonfigurować, aby miały informację dotyczące tej podsieci.

Uwaga!
Sieć przydzielona dla połączeń VPN nie może być używana w infrastruktuże przedsiębiorstwa, gdyż spowoduje to problemy z trasowaniem pakietów i w konsekwencji brak dostępu do zasobów sieciowych pomimo pozytywnego zestawienia połączenia VPN.

Należy skonfigurować opcje:
- Enable IPv4 Forwarding: włączone
- Static address pool: określić zakres adresów dla połączeń VPN
- Enable broadcast name resolution: włączone, ustawić na adapter sieciowy przyłączony do sieci wewnętrznej. W naszym przypadku jest to Ethernet1.

Konfiguracja usługi Network Policy Server (NPS).
Usługa Network Policy Server zawiera w sobie implementację serwera RADIUS przez co wykonuje ona scentralizowane procesy uwierzytelniania, autoryzacji i rozliczania wielu rodzajów dostępu sieciowego w typ połączeń bezprzewodowych i dostępu zdalnego wirtualnych sieci prywatnych (VPN). Wykorzystana zostanie ona do utworzenia zasady określającej warunki przyznania dostępu do połączenia VPN przez serwer dostępu zdalnego.
W konsoli uługi NAS dodajemy konto serwera VPN: NPS (local) > RADIUS Clients and Servers > RADIUS Clients.
Konfigurujemy odpowiednie ustawienia w celu utworzenia konta dla serwera VPN.
Zakładka Settings:
- Enable this RADIUS client: włączone
- Friendly name: Serwer VPN
- Address (IP or DNS): vpn.msa.domena.pl
- Shared Secret: określamy ręcznie wartość hasła (Manual) lub używamy opcji automatycznej generacji.
Zakładka Advanced:
- Vendor name: Microsoft
Wartość pola Shared Secret będzie niezbędna do konfiguracji połączenia z serwerem NPS w usłudze RRAS.

Konsola MMC usługi Network Policy Server. Utworzenie konta nowego klienta usługi RADIUS. Zdjęcie 3. Konsola MMC usługi Network Policy Server. Utworzenie konta nowego klienta usługi RADIUS.

Kolejnym krokiem jest utworzenie zasady określającej warunki jakie musi spełnić komputer i konto użytkownika, aby wyrażona została zgoda na zestawienie połączenia VPN. W przypadku kont użytkowników warunkiem tym będzie członkostwo w lokalnej grupie domenowej VPNUsers. W tym celu należy utworzyć grupę VPNUsers w usłudze AD i dodać do niej konta użytkowników, którzy będą mogli korzystać z połączeń VPN. Po wykonaniu tej czynności należy utworzyć odpowiednią zasadę w usłudze NPS. Ten krok jest jednak ułatwiony, gdyż taka zasada już istnieje. Wystarczy ją tylko zmodyfikować.






W konsoli uługi NAS należy zmodyfikować domyślnie utworzoną zasadę Connections to Microsoft Routing and Remote Access server dostępną w NPS (local) > Policies > Network Policies. Ustawienia na zakładce Overview ukazane zostały na zdjęciu nr 4.

Ustawienia zasady Connections to Microsoft Routing and Remote Access server. Zakładka Overview. Zdjęcie 4. Ustawienia zasady Connections to Microsoft Routing and Remote Access server. Zakładka Overview.

Na zakładce Conditions należy dodać domenową grupę zabezpieczeń VPNUsers przy pomocy wpisu UserGroups.

Konfiguracja serwera NPS w usłudze RRAS. Zdjęcie 5. Konfiguracja serwera NPS w usłudze RRAS.

Kolejnym krokierm jest wskazanie usłudze RRAS serwera NPS, który na podstawie zasady dostępu zaakceptuje lub odrzuci prośbę o połączenie w oparciu o ustawienia zasady Connections to Microsoft Routing and Remote Access server. W konsoli RRAS w zakładce Security z list Authentication provider oraz Accounting provider należy wybrać opcję odpowiednio RADIUS Authentication i RADIUS Accouting. Przez opcję Configuration należy dokonać wpisu wskazującego na serwer z usługą NPS (nps.msa.domena.pl) oraz podać wartość hasła Shared Secret.








Konfiguracja połączenia VPN przy użyciu protokołu PPTP/MS-CHAPv2.
W celu udostępnienia połączeń VPN opartych na protokole PPTP i metodzie uwierzytelniania MS-CHAPv2 należy:11:20 2019-01-24
- udostępnić grupę portów typu PPTP na serwerze RRAS,
- włączyć metodę uwierzytelniania MS-CHAPv2 na serwerze RRAS,
- włączyć metodę uwierzytelniania MS-CHAPv2 w ustawieniach zasady dostępu zdalnego na serwerze NPS,
- włączyć protokół szyfrowania danych MPPE w ustawieniach zasady dostępu zdalnego na serwerze NPS,
- otworzyć odpowiednie porty na zaporze sieciowej przedsiębiorstwa i serwera VPN.

Konfiguracja portów PPTP. Zdjęcie 6. Konfiguracja portów PPTP.

W celu wykonania powyższych czynności należy W konsoli zarządzania usługą RRAS przejść do gałęzi Ports > Properties. W oknie Port Properties należy wybrać pozycję WAN Miniport (PPTP), przejść do opcji Configure....
W polu Maximum port określić liczbę udostępnianych portów. W środowisku tesotwym udostepnionych zostało 5 portów. Należy pamiętać, aby liczba udostępnionych portów nie przekraczała dostępnej ilości adresów IP przeznaczonych dla połączeń VPN.
Włączone powinny być także opcje:
Remote access connection (inbound only)
Demand-dial routing connection (inbound and outbound)

Kolejnym krokiem jest włączenie uwierzytelniania przy użyciu protokołu MS-CHAPv2 w usłudze RRAS i NPS.
W konsoli RRAS należy przejść do opcji Properties > Security > Authentication Methods... i zaznaczyć opcję Microsoft encrypted authentication version 2 (MS-CHAPv2).
W konsoli NPS należy wybrać zasadę dostępu dla połączeń VPN o nazwie Connections to Microsoft Routing and Remote Access server, na zakładce Constraints > Authentication Methods należy włączyć opcje:
- Microsoft Encrypted Authentication version 2 (MS-CHAPv2),
- User can change password after it has expired.
Na zakładce Settings > Encryption należy włączyć szyfrowanie danych MPPE. Najbezpieczniejszą metodą jest wybór metody szyfrowania MPPE 128-bit wspieranej przez systemy Windows od wersji windows XP/Windows Server 2003. Ustawienia tych opcji w usłudze NPS przedstawia zdjęcie nr 7.

Włączenie uwierzytelniania MS-CHAP2v2 i szyfrowania MPPE w ustawieniach zasady Connections to Microsoft Routing and Remote Access. Zdjęcie 7. Włączenie uwierzytelniania MS-CHAP2v2 i szyfrowania MPPE w ustawieniach zasady Connections to Microsoft Routing and Remote Access usługi NPS.

Tak skonfigurowana zasada pozowli na zestawienie połączenia VPN przez komputer z systemem operacyjnym Windows XP i nowszym. Wbrew opiniom bezpieczeństwo oferowane przez protokół PPTP jest wysokie o ile długość hasła użytkownika przekracza 8 znaków i ulega okresowej zmianie.
Ostatnim krokiem jest otwarcie odpowiednich portów dla ruchu PPTP w na zaporze sieciowej serwera VPN i zaporze sieciowej przedsiębiorstwa, jeżeli serwer VPN nie ma bezpośredniego połączenia z siecią Internet. Lista niezbędnych portów znajduje sie na końcu artykułu.

Konfiguracja połączenia VPN na kliencie z systemem Windows 10.
Konfiguracja połączenia VPN we wcześniejszych wersjach systemu Windows jest bardzo podobna.
W systemie Windows 10 kreator nowego połączenia VPN dostępny jest pod ścieżką Ustawienia > Sieć i Internet > VPN. W przypadku klasycznego Panelu sterowania jest to Panel sterowania > Centrum sieci i udostępniania > Skonfiguruj nowe połączenie lub nową sieć.
Uruchomić kreatora nowego połączenia klikając Dodaj nowe połączenie (lub w oknie Centrum sieci i udostępniania kliknąć Skonfiguruj nowe połączenie lub nową sieć). Wypełnić odpowiednie pola zgodnie z danymi konfigracyjnymi:
- Dostawca sieci VPN: Windows (wbudowane)
- Nazwa połączenia: wartość dowolna np. VPN.
- Nazwa lub adres serwera: vpn.domena.pl
- Typ sieci: Automatycznie
- Typ informacji logowania: Nazwa użytkownika i hasło
- Nazwa użytkownika (opcjonalnie): możliwe kombinacje Domena\Nazwa logowaia użytkownika lub sama Nazwa logowaia użytkownika. W przypadku nie   podania domeny serwer VPN użyje domeny, w której jest członkiem.
- Hasło (opcjonalnie): aktualne hasło użytkownika w domenie.

Wybór typu sieci: Automatycznie, spowoduje że system Windows poczas ustanawiania połączenia VPN wybierze najbezpieczniejsze połączenie jakie wynegocjuje z serwerem VPN.

Aktywne połączenie PPTP widoczne w konsoli RRAS. Zdjęcie 8. Aktywne połączenie PPTP widoczne w konsoli RRAS.

Kolejność typów połączeń jest nastepująca: IKEv2, SSTP, PPTP, L2TP/IPsec.
Po uruchomieniu i nawiązaniu połączenia, w konsoli RRSA możemy sprawdzić jego stan klikając węzeł Remote Access Clients. Ukazane zostaną wszystkie aktywne połączenia VPN. Na zdjęciu nr 8 widoczne jest testowe połączenie VPN typu PPTP z użytą metodą szyfrowania MPPE 128 (Strongest Encryption (MPPE 128-Bit)) wybraną w ustawieniach zasady Connections to Microsoft Routing and Remote Access server. Zaznaczenia wybranego połączenia i wybranie opcji Status pozwala zapoznać się z dokładnymi statystykami połączenia.


Konfiguracja połączenia VPN przy użyciu protokołu PPTP/EAP-TLS.
Bezpieczństwo połączeń PPTP można zwiększyć używając bezpieczniejszego protokołu Extensible Authentication Protocol-Transport Layer Security (EAP-TLS). Wymaga on użycia certyfikatów, które pozyskane będą z Urzędu Certyfikacji przedsiębiorstwa realizowanego przez usługę Certificate Authority (CA) systemu Windows Server. W środowisku testowym usłga CA uruchomiona jest na komputerze o nazwie CA (DNS: ca.msa.domena.pl).
EAP-TLS wymaga dwóch certyfikatów: certyfikatu wydanego dla użytkownika i certyfikatu dla komputera uwierzytelniającego czyli serwera NPS. Pierwszy z nich musi spełniać poniższe warunki:
- być wydany przez Urząd Certyfikacji (CA), którego certyfikat zawawrty jest w obieckie NTAuth usługi AD,
- zawierać cel (OID) Client Authentication,
- przejść wszystkie testy sprawdzające w tym sprawdzanie listy odwołań,
- zawierać wartość User Principal Name (UPN) z konta użytkownika w AD przypisaną do wartości rozszerzenia Subject Alternative Name.
Przykładem takiego certyfikatu jest certyfikat User dostępny w CA. Jego ustawienia można przeglądnąć przechodząc do magazynu certyfikatów w CA. Na zakładce Subject Name certyfikatu włączona jest opcja Built from Active Directory information z zaznaczonymi opcjami E-mail name i User principal name (UPN) dla wartości Include this information in alternative subject name.
Certyfikat wydany dla serwera uwierzytelniającego musi spełniać poniższe wymaganie:
- zawierać cel (OID) Server authentication.
Takim certyfikatem może być certyfikat Computer lub RAS and IAS Server. Drugi certyfikat dedykowany jest dla serwerów zawierających usługi RRAS lub NPS, gdyż z automatu jest wydawany dla wszystkich komputerów bedących członakmi grupy zabezpieczeń RAS and IAS Servers. Wystarczy tylko na zakładce Security tego certyfikatu, dla grupy zabezpieczeń RAS and IAS Servers, dodać uprawnienia Read, Enreoll i Autoenroll.

Dla zwiększenia bezpieczeństwa certyfikat użytkownika może być przechowywany na karcie inteligentnej. Skorzystanie z niej przez nieuprawnioną osobę, wymaga jej fizycznej kradzieży. Niestety użycie kart inteligentnych wymaga, aby każdy z komputerów (klientów VPN) był wyposażony w czytnik takich kart.

Użycie uwierzytelniania EAP-TLS wymaga:
- wydania certyfikatu typu User dla konta użytkownika w AD,
- wydania certyfikatu typu RAS and IAS Server dla komputera z usługą NPS,
- włączenia metody uwierzytelniasnia EAP w usłudze RAAS,
- dodania metody uwerzytelniania EAP w ustawieniach zasady Connections to Microsoft Routing and Remote Access server w usłusze NPS.

W konsoli usługi CA należy przejść do węzła Certificate Templates i wybrać opcję Manage. Powielić szablon certyfikatu User i utworzć na jego podstawie nowy szablon o nazwie np.: MSA-User. Na zakładce Security należy dodać grupę domenową VPNUsers i przypisać uprawnienia Read, Enroll i Autoenroll. Takie uprawnienia pozwolą na automatyczne wydanie certyfikatu dla kont użytkowników bedących członkami grupy VPNUsers oraz przyszłe automatyczne odświerzanie certyfikatu w przypadku jego wygaśnięcia. Jeżeli w środowisku domenowym nie ma już komputerów z systemem operacyjnym Windows XP, warto podnieść poziom kompatybilności certyfikatu do poziomu Windows 7/Windows Server 2008R2. W tym celu na zakładce Compatibility certyfikatu należu ustawić zgodność na poziomie:
- Certification Authority: Windows Server 2008R2,
- Certificate recipient: Windows 7/Windows Server 2008R2.
Po zapisaniu zmian należy wydać certyfikat, aby był dostępny w Urzędzie Certyfikacji.

Uwaga!
Parametr Alternate subject name certyfikatu tworzony jest na podstawie pól E-mail name i User principal name (UPN) konta urzytkownika w AD, dlatego konto musi mieć wypełnione pole E-mail. Brak wartości w tym polu spowoduje, że Urząd Certyfikacji (CA) nie wyda certyfikatu dla użytkownika.

Włączenie uwierzytelniania EAP-TLS w ustawieniach zasady Connections to Microsoft Routing and Remote Access usługi NPS. Zdjęcie 8. Włączenie uwierzytelniania EAP-TLS w ustawieniach zasady Connections to Microsoft Routing and Remote Access usługi NPS.

Po wydaniu certyfikatu dla danego użytkownika przez CA, jego zalogowanie się na dowolnym komputerze w domenie AD spowoduje, że certyfikat użytkownika automatycznie zostanie zainstalowany w magazynie certyfikatów użytkownika w systemie Windows.

Dla serwera NPS należy wydać certyfikat RAS and IAS Server. W konsoli zarządzania CA należy powielić szablon certyfikatu RAS and IAS Server i zapisać jako nowy np.: MSA-RAS and IAS Server. Na zakładce Security w nowym szablonie, dla grupy RAS and IAS Servers należy dodać uprawnienia Read, Enreoll i Autoenroll. Podobnie jak dla szabonu certyfikatu User należy podnieść jego zgodność do poziomu odpowiadającemu systemowi operacyjnemu komputerów z usługami RRAS i NPS.
Po ponownym uruchomieniu serwera NPS certyfikat MSA-RAS and IAS Server pojawi się w magazynie certyfikatów Computer. W konsoli zarządzania uslugą NPS należy wybrać zasadę dostępu dla połączeń VPN i w zakładce Constrains zmodyfikować wpisy dla węzła Authenticated Methods dodając do listy EAP Types wpis Microsoft: Smart Card or other certificate.

Ustawienia połączenia VPN z opcją uwierzytelniania EAP-TLS przez wybór opcji Certyfikat. Zdjęcie 9. Ustawienia połączenia VPN z opcją uwierzytelniania EAP-TLS przez wybór opcji Certyfikat.

Następnie należy dokonać edycji wpisu i w polu Certificate issued to: wskazać na certyfikat MSA-RAS and IAS Server. Jeżeli dla serwera wydanych zostało więcej certyfikatów, w odszukaniu właściwego certyfiaktu przydatne będą pola Expiration date i Friendly name.

Ostatnim krokiem jest włączenie uwierzytelniania EAP w usłudze RRAS. W konsoli zarządzania usługą RRAS należy przejść do opcji: Properties > Security > Authentication Methods... i zaznaczyć opcję Extensible authentication protocol (EAP).
Ustawienie opcji Typ sieci: Automatycznie w ustawieniach połączenia VPN na stacji klienckiej spowoduje, że dla połączenia PPTP domyślnie użyty zostanie protokuł uwierzytelniania MS-CHAPv2. Aby wymusić użycie protokołu EAP-TLS należy zawartość pola Typ informacji logowania zmienić z Nazwa użytkownika i hasło na Certyfikat. Szczegółowe zmiany jakie spowoduje taka zmiana widoczne są na zdjęciu nr 10. Podgląd tych ustawień można sprawdzić we właściwościach połączenia VPN z poziomu Panelu sterowania (Panel sterowania > Centrum sieci i udostępniania > Zmień ustawienia karty sieciowej).

Ustawienia połączenia VPN z opcją uwierzytelniania EAP-TLS. Zdjęcie 10. Zaawanowane ustawienia połączenia VPN z opcją uwierzytelniania EAP-TLS. Odpowiadają one ustawieniu opcji Certyfikat w polu Typ informacji logowania w opcji prostej edycji konfiguracji.

Ustawienie protokołu EAP-TLS można skonfigurować i w tym miejscu. Na zakładce Zabezpieczenia w sekcji Uwierzytelnianie należy zanaczyć opcję Użyj protokołu uwierzytelniania rozszerzonego (EAP) i z listy dostępnych opcji wybrać Microsoft: Karta inteligentna lub inny certyfikat (szyfrowaie włączone). Następnie należy przejść do Właściwości i wyłączyć opcję Sprawdź torzsamość serwera, weryfikując certyfikat.








Strona: 1, 2, 3, 4