【入門編】 PPTPプロトコルにおけるTCPポート1723番とGREプロトコル番号47 – サイバーセキュリティとプライバシー保護実践ガイド

こんにちは!インフラの裏側を覗き見るのが大好きなネットワークエンジニアの皆さん、そしてこれからネットワークの世界へ飛び込もうとしている初学者の皆さん。日々のインフラ運用やセキュリティの学習、本当にお疲れ様です。

私たちが何気なく使っているインターネット、実はカフェのフリーWi-Fiやホテルの回線など、知らないうちに「誰でも覗き見できるオープンな廊下」のような場所でデータをやり取りしている危険が潜んでいます。そんな危険から身を守るための技術が「VPN(仮想プライベートネットワーク)」ですよね。

今回は、歴史の荒波にもまれながらも、VPNの黎明期を支えた偉大な(そして現在はすっかり隠居した)プロトコル、「PPTP(Point-to-Point Tunneling Protocol)」を取り上げます。
「PPTPって名前は聞いたことあるけど、中で何が起きているの?」「なぜTCPポートだけでなく、GREなんていう聞き慣れない仕組みが必要なの?」といった疑問を、身近な例えを交えながら一歩ずつ解きほぐしていきましょう。難しく考えすぎなくて大丈夫です。一緒に紐解いていきましょうね!

—

1. カフェのWi-Fiは危険? そもそもVPNって何をしているの?

出先のカフェで美味しいコーヒーを飲みながら、仕事のメールチェックや資料のダウンロードをするのは本当に快適ですよね。でも、その無線LANの電波、実は周囲の悪意ある人たちに「丸見え」になっている可能性があることをご存知でしょうか?

暗号化されていない公共Wi-Fiでは、あなたが誰宛てにどんな手紙(データ)を出しているのか、通りすがりの人に中身を読まれてしまう危険があります。
そこで登場するのがVPNです。VPNは、あなたのパソコンとインターネットの出入り口の間に「誰にも見られない頑丈なパイプ(トンネル)」をすっぽりと作り出し、その中をデータに通すことで盗聴を防ぎます。

このVPNトンネルを作るための「初代の仕組み」として、1990年代後半にマイクロソフトなどが中心となって開発されたのが、今回主役のPPTPなんです。

—

2. PPTPの裏側:郵便配達に例える「コントロールチャネル」と「GREトンネル」

PPTPが通信を行うとき、実は社内で2種類の異なる役割を持つ「道筋」を同時に使っています。ここが今回の最大のポイントです!
難しい専門用語をいったん脇に置いて、身近な「郵便配達」に例えて考えてみましょう。

① コントロールチャネル(TCPポート1723番) = 「配達員同士の連絡用スマホ」

PPTPでは、まずVPNサーバーとあなたのパソコンの間で、「今からトンネルを作るよ」「認証パスワードはこれだよ」「そろそろ接続を切るね」といった事前の打ち合わせや管理(コントロール)を行う必要があります。

この管理用の連絡通路に使われるのが、信頼性抜群のTCPポート1723番です。
郵便配達に例えるなら、「配達員同士が確実に連絡を取り合うための専用スマホ」のようなものです。TCPは「メッセージがちゃんと言い相手に届いたか」を毎回確認する几帳面なプロトコルなので、接続の指示や管理のやり取りにぴったりなんです。

② GREプロトコル(プロトコル番号47) = 「実際に荷物を積んで走るトラック」

無事に打ち合わせが終わると、今度は私たちが普段やり取りするWebのデータやファイルなどの「本当の荷物」を運ぶ番です。
ここで使われるのが、GRE(Generic Routing Encapsulation)という聞き慣れない仕組みです。IPパケットの中に別のパケットを丸ごと包み込んで運んでしまう(カプセル化する)という特殊な技を持っています。IPヘッダーの中にある「プロトコル番号」という欄で、これがGREであることを示す47という番号が指定されます。

郵便配達で例えるなら、「実際に荷物をぎっしり積んで、目的地までノンストップで走る巨大なトラック」です。
コントロールチャネル(スマホ)が道順を指示し、GREトンネル(トラック)が実際の重たい荷物を目的地までゴトゴトと運んでいく。この2つがタッグを組むことで、PPTPの通信は成り立っているんですね。

—

3. なぜ今、PPTPは使われていないのか?(歴史的背景と脆弱性)

「なんだか仕組みがよくできていて便利そうじゃん!」と思ったそこのあなた、素晴らしい着眼点です。実際、設定も比較的簡単だったため、かつてはWindowsの標準機能として広く使われていました。

しかし、現代のセキュリティ基準から見ると、PPTPには致命的な弱点がいくつもあります。

1. 暗号化の強度が弱すぎる
PPTPが使っていた暗号化技術(MPPE)は、現代の強力なコンピュータを使えば、数分から数時間で「合破(解析)」されてしまいます。鍵のかけ方が古く、泥棒にすぐにピッキングされてしまうような状態なのです。
2. ファイアウォールやルーターの悩ましさ
先ほど登場したGRE(プロトコル番号47)は、通常のWeb通信で使われるTCPやUDPとは違う、少し変わったやつです。そのため、企業のしっかりしたファイアウォールや家庭用のブロードバンドルーターによっては、「なんだこの変な番号の荷物は!通せんぼしちゃえ!」とブロックされてしまい、うまく繋がらないトラブルが多発しました。

こうした背景から、現在ではより安全で強固な暗号化を使い、ルーターにも嫌われない「IPsec(IKEv2)」や「OpenVPN」、そして次世代の高速VPNである「WireGuard」などが主流になっています。

—

4. 実務の現場でどう扱う?(ネットワーク設定と確認のヒント)

もし万が一、古いレガシーシステムの保守などでPPTPの設定やトラブルシューティングを行うことになった場合、インフラエンジニアとしてどこを確認すべきでしょうか。実務で役立つポイントを少しだけ覗いてみましょう。

もしルーターやファイアウォール(Linuxのiptablesや各種アプライアンスなど)でPPTPを通す必要がある場合、パケットフィルターやNAT(NAPT)の設定で以下を許可・意識する必要があります。

【PPTPを通すために必要な通信要件のまとめ】
1. コントロール用: TCPポート 1723番 の双方向通信
2. トンネル用:     IPプロトコル番号 47 (GRE) の通過許可

例えば、Linuxのファイアウォール設定でGREトンネルを通過させたい場合の概念的なルール設定例(記述例)は以下のようになります。

# ==========================================
# Linux (iptables) でPPTPの通過を許可する例
# ==========================================

# 1. コントロールチャネル用のTCP 1723番ポートの接続を許可
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1723 -j ACCEPT

# 2. カプセル化されたデータを運ぶGREプロトコル(プロトコル番号47)を許可
# ※通常のTCPやUDPではなく、プロトコル名/番号を指定するのがポイントです
iptables -A INPUT -p 47 -j ACCEPT
iptables -A OUTPUT -p 47 -j ACCEPT

# コメント: 
# 近年のルーターには「PPTP Passthrough(PPTPパススルー)」という、
# このGREやTCP 1723番をよしなに通過させてくれる便利機能が備わっていることが多いです。

実務の現場で「PPTPで接続できない!」というトラブルに遭遇したときは、たいていの場合、途中のルーターやクラウドのセキュリティグループ(ファイアウォール)がこの プロトコル47 (GRE) をブロックしていることが原因です。パケットキャプチャツール(tcpdumpやWiresharkなど)を起動し、proto gre や tcp port 1723 でフィルターをかけてパケットの往来を確認するのがエンジニアの定石となります。

—

まとめ

いかがでしたでしょうか? 今回はPPTPという少し懐かしいプロトコルを題材に、TCPポート1723番(コントロールチャネル) と GREプロトコル番号47(データ用トンネル) の関係性を郵便配達に例えて解説しました。

  • コントロールチャネル(TCP 1723)で連絡を取り合い、
  • GREトンネル(プロトコル47)で実際の荷物を安全(当時は安全とされていましたが!)に運ぶ。

ネットワークの技術は日進月歩ですが、こうした「古い技術が抱えていた課題や仕組み」を知ることは、現代のセキュアなVPNやゼロトラストアーキテクチャを深く理解するための最高の糧となります。

「難しそう」に見えるプロトコルも、役割を紐解いていけば、私たちの身近な営みと同じシンプルな仕組みで動いていることが分かりますよね。
これからも一緒に、ワクワクするネットワークの深淵を楽しく覗いていきましょう!それではまた次回の技術コラムでお会いしましょう!

コメント

タイトルとURLをコピーしました