PPTP

読み:ぴーぴーてぃーぴー / 英語表記:Point-to-Point Tunneling Protocol

PPPのフレームをIPネットワーク上でトンネリングして運び、リモートアクセスVPNを実現するプロトコル。制御にTCPの1723番ポートを、データの転送にGREを使う。現在は安全性の問題から推奨されない。

イマシルちゃんの解説

おうちから会社のネットワークにつなぎたいとき、
昔は電話回線で会社に直接ダイヤルしてたんだ。そのときに使われていたのがPPPだよ。

PPTPは、このPPPの通信を、インターネットの中に掘ったトンネルを通して会社まで運ぶ仕組みなんだ。
まるで会社に直接電話をかけているみたいに、インターネット越しに社内につながれるんだよ!
ただ、今ではもっと安全な方法があるから、使われなくなってきているんだ。

より深い解説

定義

PPTP(Point-to-Point Tunneling Protocol)は、マイクロソフト社などが開発し、RFC 2637で公開された、リモートアクセスVPNのためのトンネリングプロトコルである。PPPのフレームをGRE(Generic Routing Encapsulation)でカプセル化し、IPネットワークを通して運ぶ。

構成

通信使うもの
トンネルの制御(確立、維持、切断)TCPの1723番ポート
データ(PPPフレーム)拡張されたGRE(IPのプロトコル番号47)

GREはTCPやUDPではないため、ポート番号を持たない。そのため、NATやファイアウォールでは、TCP 1723番に加えてGREのパケットを通す設定が必要になり、NAPT(IPマスカレード)を越えにくいという問題があった。

認証と暗号化

PPTPそのものは、トンネルを作るだけで、利用者の認証や暗号化の機能は持たない。これらはPPPの機能を使う。

機能使うもの
利用者の認証PPPの認証(PAP、CHAP、MS-CHAPv2)
暗号化MPPE(Microsoft Point-to-Point Encryption)

認証情報をRADIUSサーバに問い合わせる構成にすることもできる。その場合、利用者とVPN装置の間はPPTP(とPPPの認証)、VPN装置とRADIUSサーバの間はRADIUSがやり取りを担当する。

安全性の問題

PPTPで広く使われたMS-CHAPv2による認証は、記録した認証のやり取りから、パスワードに相当する情報を現実的な時間で解読できることが示されている。暗号化の鍵もパスワードから作られるため、認証が破られると通信内容も解読されうる。このため、現在ではPPTPの利用は推奨されず、新しいOSでは標準で使えなくなっているものもある。

L2TPとの比較

PPTPL2TP
規格RFC 2637RFC 2661(L2TPv2)、RFC 3931(L2TPv3)
運ぶものPPPフレームPPPフレーム(v3はイーサネットなども)
カプセル化GREUDP(1701番)
暗号化PPPのMPPEなし(IPsecと組み合わせる)

L2TP(Layer 2 Tunneling Protocol)は、それ自体に暗号化の機能がないため、リモートアクセスVPNではIPsecと組み合わせたL2TP/IPsecとして使われることが多い。

現在のリモートアクセスVPN

方式特徴
IPsec(IKEv2)OSの標準機能で使える。安全性が高い
L2TP/IPsec多くのOSが標準で対応
SSL-VPN(TLS-VPN)TLSを使うため、HTTPSが通る環境ならファイアウォールを越えやすい
WireGuard新しいVPNプロトコル。設定が簡単で高速

実際の試験ではここに出る!

この用語が出てくる記事

↑