PPTP (angļu: Point-to-Point Tunnelling Protocol) – „no punkta uz punktu” tipa tunelēšanas protokols, kas ļauj datoram izveidot aizsargātu savienojumu ar serveri, izveidojot īpašu aizsargātu tuneli neaizsargātā standarta tīklā. PPTP ievieto (iekapsulē) PPP kadrus IP paketēs, lai varētu tos pārraidīt globālajā tīklā, piemēram, internetā. PPTP var izmantot arī, lai organizētu tuneli starp diviem lokāliem tīkliem. PPTP izmanto papildus TCP savienojumu tuneļa apkalpošanai.

Specifikācija labot šo sadaļu

Protokola specifikācija tika publicēta kā „informējoša” 1999. gadā kā RFC 2637. IETF to nebija ratificējusi. Protokols tiek uzskatīts par mazāk drošu nekā protokols IPSec. PPTP darbojas, izveidojot savienojuma PPP sesiju ar pretējo pusi, izmantojot Generic Routing Encapsulation protokolu. Otrs savienojums uz 1723 TCP portu tiek izmantots, lai iniciētu un kontrolētu GRE savienojumu. PPTP ir grūti novirzīt aiz ugunsmūra (angliski: firewall), jo tas prasa vienlaicīgu divu tīkla sesiju izveidi.

PPTP datplūsma var tikt šifrēta izmantojot MPPE. Klienta autentifikācijai var tikt izmantoti dažādi mehānismi, no kuriem visdrošākie ir MS-CHAPv2 un EAP-TLS.

PPTP Ieviešana labot šo sadaļu

Cisco bija pirmie, kas īstenoja PPTP un vēlāk licencēja šo tehnoloģiju kompānijai Microsoft.

PPTP izdevās iegūt popularitāti pateicoties tam, ka tas bija pirmais tunelēšanas protokols, kuru atbalstīja kompānija Microsoft. Visās Microsoft Windows versijās sākot no „Windows 95 OSR2” bija iekļauti PPTP klienti, taču eksistēja ierobežojumi uz diviem vienlaicīgiem izejošajiem savienojumiem. Bet attālinātās piekļuves serviss priekš Microsoft Windows iekļauj sevī PPTP serveri.

Kādu laiku Linux distributīvos nebija pieejams PPTP pilnīgs atbalsts, jo bija bail no patenta pretenzijām saistībā ar protokola MPPE izmantošanu. Pirmo reizi pilns MPPE atbalsts parādījās 2.6.13 Linux versijā (2005. gads). Oficiāli PPTP atbalsts tika uzsākts ar Linux kodolu 2.6.14. Tomēr fakts, ka PPTP protokolā tiek izmantots MPPE protokols, faktiski nenodrošina protokola PPTP aizsardzību.

Operētājsistēma FreeBSD atbalsta PPTP protokolu kā PPTP serveri portu, izmantojot mpd (/usr/ports/net/mpd), izmantojot apakšsistēmu netgraph. Kā PPTP klients FreeBSD operētājsistēmā var tikt izmantots ports pptpclient (/usr/ports/net/pptpclient) vai mpd ports, kurš darbojas klienta režīmā.

Mac OS X jau tiek piedāvāts ar iebūvētu PPTP klientu. Cisco un Efficient Networks pārdod PPTP klientu risinājumus jau krietni vecākām Mac OS versijām. PDA Palm, kas atbalsta Wi-Fi un tiek piegādāti jau ar PPTP klientu Mergic.

Microsoft Windows Mobile 2003 un jaunākas versijas arī atbalsta PPTP.

PPTP protokola drošība labot šo sadaļu

PPTP ir ticis pakļauts daudzām drošības pārbaudēm un analīzēm, kurās tika konstatētas dažādas nopietnas ievainojamības. Ievainojamības attiecas uz protokola PPP autentifikāciju, protokolu MPPE un integrāciju starp PPP un MPPE autentifikāciju, uzstādot sesijas atslēgas. Īss pārskats par tā ievainojamībām:

  • MSCHAP-v1 pilnīgi neuzticams. Eksistē programmas, lai varētu viegli iegūt paroles no pārtvertas MSCHAP-v1 datu apmaiņas.
  • MSCHAP-v2 ir neaizsargāts pret vārdnīcu uzbrukumu pārtvertajām challenge response paketēm. Ir pieejamas programmas, kas veic šo procesu.
  • Lietojot MSCHAP-v1, MPPE izmanto to pašu RC4 sesijas atslēgu, lai šifrētu informācijas plūsmu abos virzienos. Tāpēc standarta metode ir veikt XOR'a plūsmas no dažādiem virzieniem vienlaicīgi, pateicoties tam kriptēšanas analizators (cryptanalyst) var identificēt atslēgu.
  • MPPE izmanto RC4 plūsmu šifrēšanai. Tam neeksistē neviena metode, lai autentificētu burtciparu plūsmu, un tāpēc šī plūsma ir neaizsargāta pret uzbrukumiem, kas veic bitu aizvietošanu. Uzbrucējs viegli var izmainīt plūsmu aizstāt dažus bitus, lai izmainītu izejas plūsmu bez apdraudējuma, ka viņš tiks atklāts. Šāda bitu aizstāšana var tikt noteikta, izmantojot kontrolsummas pārbaudes protokolus.