Nasazení PPTP

Nasazení VPN na bázi protokolu PPTP patří mezi nejjednodušší řešení. Bohužel, nejjednodušší řešení nemusí být nejlepší, zvláště z hlediska bezpečnostních rizik. Výhodou nasazení tohoto řešení je nativní podpora ze strany klientů, možnost připojit sítě k prostředí založené na prostředcích operačních systémů společnosti Microsoft bez náročné konfigurace. Tím bohužel klady končí.
Protokol PPTP se vyskytuje ve dvou vezích. Starší verze (PPTPv1) má větší množství bezpečnostních děr, novější verze(PPTPv2) bohužel zachovává zpětnou kompatibilitu a umožňuje připojení i pomocí staršího protokolu. Tím zvyšuje bezpečnostní rizika.
PPTPv1 je možné napadnout na úrovni autentizace (Microsoft CHAPv1) a MPPE protokolu (šifrování pomocí RC4). Při delší komunikaci (v řádu stovek KB) nebo několika přihlášeních je možné odhalit heslo kvůli nevhodnému použití algoritmů, veškeré tyto postupy jsou založeny na informacích a odkazech uveřejněných v Cryptoanalysis of Microsoft's Point-to-Point Tuneling Protocol (PPTP). Konkrétní návody neposkytuji, stačí dostatečně detailní popis v uvedených materiálech.
Algoritmus MS-CHAPv1:
1) Klient požádá o login challenge
2) Server pošle zpět 8 znakový challenge
3) Klient použije LAN Manager hash hesla pro vytvoření tří DES klíčů (co je horší, narazil jsem pouze na exportní verzi DES-40). Tyto klíče jsou použité pro zašifrování challenge, všechny tyto zašifrované chalenge se spojí a odešlou zpět. Druhé šifrování a odeslání identického chalenge probíhá na základě Windows NT hash stejným způsobem jako s LM Hash (pro rozdíl mezi Lan Manager Hash/LM Hash a Windows NT hash/NTLM algoritmů Windows NT).
4) Server dešifruje hashe hesel a ověří je proti databázi. Pokud souhlasí, posílá informaci o úspěšném přihlášení.

PPTPv2 používá komplikovanější způsob, bohužel zajišťuje zpětnou kompatibilitu. Tyto údaje vychází z praktického testování založeném na materiálech uvedených na webu Bruce Schneiera. Ve výsledku PPTPv2 není dle tohoto webu po stránce šifrování o mnoho silnější. Z technologického hlediska je důležitý výsledek, úspěšný útok na obě verze VPN je možné realizovat do 10 minut.



Nasazení
Pokud se uvažuje nad nasazením VPN sítě nad tímto protokolem, doporučuji tyto VPN pouze v rámci intranetu, nebo alespoň dodržet následující rady pro snížení velikosti hrozeb:
1) Zajistit omezení možných komunikačních partnerů pomocí filtrů seznam portů je uvedeny dále
2) Zajistit restriktivní politiku hesel z důvodu zvýšeného rizika odhalení uživatelského jména a hesla
3) Nepoužívat účty správců pro komunikaci přes tuto VPN (dostatečným rizikem jsou uživatelé)
4) Jakmile to bude možné, přejít na IPSec, L2TP s certifikáty nebo jinou VPN s dostatečným zabezpečením

PPTP protokol (RFC-2637, RFC-3078)používá následující metody komunikace:
- Vlastní data jsou přenášena GRE protokolem. Tyto data jsou šifrována a uvnitř tohoto "tunelu" je vytvořeno klasické spojení pomocí PPP protokolu.
- Kontrolní kanál je vytvořen nad protokolem TCP, port 1723

Pro /etc/pf.conf pak může část konfigurace vypadat například jako:
## SECTION: TABLES #
####################
table { xxx.xxx.xxx.xxx/32 }
...
...
## SECTION: INPUT #
#########################
# GRE for MS-PPTP protocol
pass in quick proto { gre } from <allowed-pptp> to $ext_if keep state
# MS-PPTP protocol
pass in quick proto { tcp } from <allowed-pptp> to $ext_if port 1723 keep state
...
...
## SECTION: OUTPUT
##################
# GRE for MS-PPTP protocol
pass out quick proto { gre } from $ext_if to <allowed-pptp> keep state
# MS-PPTP protocol
pass out quick proto { tcp } from $ext_if to <allowed-pptp> to port 1723 keep state



PPTP server
1) Instalace software:
portinstall poptop
Software bude nainstalován z portů, adresář /usr/ports/net/poptop

2) Úprava konfigurace v souboru /usr/local/etc/pptpd.conf

3) Výše zmíněná úprava filtrů

4) Start VPN. Nejprve je nutná úprava souboru /etc/rc.conf, kde je nutné vložit následující řetězec:
pptpd_enable="YES"

Bližší údaje o základní konfiguraci lze najít na adrese projektu POPTOP. Konfigurace systému je velice jednoduchá a je možné ji zvládnout během půl hodinky i s otestováním.



PPTP klient
1) Instalace software:
portinstall pptpclient
Software bude nainstalován z portů, adresář /usr/ports/net/pptpclient

2) Výše zmíněná úprava filtrů

3) Start VPN. Start se provádí spuštěním následujícího příkazu (více viz. man pptp a pptd), například:
pptd noauth nobsdcomp nodeflate require-mppe-128 name <doména>\\\<uživatelské-jméno> remotename PPTP pty "pptp <adresa serveru> "nolaunchpppd"

Powered by Drupal - Design by artinet