PPTP

Posted by pawel in NETWORK, VPN

Ludzie kochają PPTP z jednego prostego powodu, konfiguracja i użytkowanie jest banalnie prosta. PPTP jest dostępny w urządzeniach NETASQ jako jeden z trzech dostępnych protokołów tunelowania (poza IPSEC i SSL). Protokołu PPTP dostępny w NETASQ-u możemy używać w trybie client-to-site. Klient protokołu PPTP jest wbudowany we wszystkie współczesne systemy Windows, Mac OS X czy iOS. PPTP nie jest protokołem bezpiecznym, są metody które pozwalają rozszyfrować przechwycony ruch, nie mniej jednak jest powszechnie używany, szczególnie w małych organizacjach. Przy okazji warto wspomnieć, że NETASQ nie wspiera innego również popularnego protokołu czyli L2TP/IPSEC, nie wspiera też wbudowanego począwszy od Windows Seven protokołu IKEv2  (używany w NS-BSD Racoon używa wersji IKEv1).  Wracając jednak do meritum, jeżeli uznamy, że nie transmitujemy krytycznych danych to zastosowanie PPTP jest na pewno bezpieczniejszym rozwiązaniem niż nie stosowanie tunelowania w ogóle, złamanie przechwyconego ruchu nie jest zadaniem trywialnym. W artykule przedstawię dodatkowo konfigurację gdy serwer PPTP jest wewnątrz sieci jak na zewnątrz sieci.

PPTP poza prostotą w konfiguracji ma jeszcze jedną zaletę, z uwagi na proste mechanizmy szyfrowania jest bardzo szybki.

pptp_topologia

 

Konfiguracja serwera PPTP w NETASQ-u liczy dosłownie kilka opcji i mieści się w pojedynczym oknie.

pptp_konfiguracja

  1. uruchomienie serwera PPTP
  2. obiekt typu zakres, określa zakres adresów które będą przydzielane klientom połączenia PPTP (zakres adresów powinien zawiera tyle adresów ile jest możliwych połączeń PPTP, punkt 5)
  3. obiekt reprezentujący serwer DNS z jakiego ma korzystać klient PPTP po podłączeniu (np. lokalny, po stronie zdalnej, serwer DNS)
  4. obiekt reprezentujący serwer WINS (np. lokalny, po stronie zdalnej, serwer WINS)
  5. zadeklarowana, maksymalna liczba tuneli PPTP, maksymalna wartość jest uzależniona od modelu urządzenia
  6. określenie sposobu szyfrowania

Jeżeli klientami mobilnymi będą urządzenia z systemem iOS lub OS X należy załączyć dodatkowo tryb MPPE stateless. Konfiguracja PPTP zapisana jest w pliku:

~/ConfigFiles/pptpserver (v.9.0)

~/ConfigFiles/PPTP/server (v.9.1)

i powinna wygladać:

pptpv9

Parametr MPPESL=1

Odświeżenie konfiguracji wykonamy poleceniem: endialup

Polityki dostępu

Autoryzacja połączenia  PPTP następuje poprzez podanie nazwy użytkownika i hasła. Możemy powołać użytkownika w bazie LDAP (lub użytkownika z AD jeżeli mamy integrację).  Możemy też określić użytkownika tylko dla autoryzacji tunelu PPTP.

polityki_dostepu

Reguły firewall-a

Wymagane są reguły które zezwolą na połączenia przychodzące dla usługi PPTP i protokołu GRE (możemy również włączyć regułę domyślną – ale nie polecam tego rozwiązania):

implicit_pptp

lepszym rozwiązaniem jest samodzielne dopisanie odpowiednich reguł:

reguly_pptp

Reguła 3 jest niezbędna nawet w sytuacji gdy skorzystam z reguł domyślnych (zastępują one tylko reguły 1 i 2). Kontroluje ona dostęp użytkownika mobilnego PPTP do zasobów sieci lokalnych.

Efekt

pptp_mac

ping_mac

Serwer PPTP umieszczony w LAN

Inna sytuacja występuje gdy serwer PPTP jest umieszczony w LAN (NETASQ nie jest serwerem PPTP). W takiej sytuacji musimy jedynie dokonać konfiguracji reguł na firewall-u. Należy pamiętać aby wyłączyć serwer PPTP na NETASQ-u.

pptp_w_lan

pptp_fw_internal

jest ważne aby w ustawieniach protokołu GRE załaczyć opcję zachowania stanu:

gre_statefull

Serwer PPTP umieszczony na zewnątrz sieci

pptp_w_wan

pptp_na zewnatrz

żeby wielu użytkowników z LAN mogło jednocześnie łączyć sesje PPTP z serwerami zewnętrznymi trzeba pamiętać o włączeniu opcji statefull dla protokołu GRE:

gre_statefull

28 Kwi 2014


Najnowszy firmware SNS: 3.8.1 (Release Note)
Najnowszy firmware SNSv2: 2.13 (Release Note)