32blogby StudioMitsu
security13 min read

開発者のVPN活用ガイド:SSH・WireGuard・商用VPNの使い分け

エンジニアがVPNを使うべき理由と、SSH・自前WireGuard・商用VPN・Tailscaleの使い分けを実務シーン別に解説する。

vpnwireguardtailscalesecurity
目次

「SSHで暗号化されてるからVPNは要らない」——開発者からよく聞く言葉だ。間違いではないが、正確でもない。

SSHは特定の接続を暗号化する。VPNはデバイスの通信全体を暗号化する。守る範囲が違う。カフェのWi-FiでSSHしている間も、npm installのパッケージダウンロード、ブラウザでのAPIドキュメント閲覧、Slackの通信は暗号トンネルの外を流れている。

この記事では、開発者がVPNを使うべき具体的な場面と、自前構築・商用VPN・Tailscaleの使い分けを解説する。

なぜ開発者にVPNが必要か

開発者のネットワークトラフィックには、一般ユーザーよりも機密性の高い情報が流れている。

  • APIキーとアクセストークン — 環境変数に入れていてもHTTPリクエストのヘッダーには載る
  • git push/pull — リポジトリ名やブランチ名からプロジェクト構成が推測できる
  • パッケージダウンロードnpm installpip installdocker pullの通信先から技術スタックが丸見え
  • 内部ドキュメント — ConfluenceやNotionのURLからチーム構成や機能計画が漏れる

HTTPSが普及したとはいえ、DNSクエリ(どのドメインにアクセスしたか)はデフォルトでは暗号化されない。ISPやWi-Fiの管理者はあなたがどのサービスを使っているかを把握できる。

米国では2017年にISPがユーザーの閲覧履歴を本人の同意なく販売することを禁止するルールが撤廃された。ISPがDNSハイジャックで検索クエリを傍受し、広告会社に販売しているケースも報告されている。

VPNはこれらの通信をすべて暗号化トンネルに通し、第三者からの可視性をゼロにする。

開発現場の活用シーン

ジオロケーションテスト

CDNのエッジキャッシュ、i18nルーティング、地域限定コンテンツ——これらの動作確認にはリクエスト元の国を変える必要がある。VPNでサーバーの国を切り替えれば、ステージング環境を各リージョンに用意しなくても手元で確認できる。

bash
# 日本のサーバーに接続してCDN動作を確認
nordvpn connect japan
curl -I https://your-cdn.example.com/api/content

パブリックWi-Fiでの開発作業

カフェ、空港、コワーキングスペース。公共Wi-Fiのリスクは「通信を盗み見られる」だけではない。

  • Evil Twin攻撃 — 正規のWi-Fiと同名の偽アクセスポイントを設置し、通信を全てキャプチャする
  • セッションハイジャック — 暗号化されていないCookieを傍受してログイン状態を乗っ取る
  • DNSスプーフィング — 偽のDNS応答で正規サイトの代わりにフィッシングサイトに誘導する

SSHで接続しているサーバーは守られている。しかし、同時に開いているブラウザ、Slack、パッケージマネージャーの通信は無防備だ。VPNがあれば全てがトンネル内を通る。

地域制限のある開発ツール

GitHubは米国の制裁措置に基づき、イラン、シリア、クリミアからのアクセスを制限している。中国ではGreat Firewallの影響で接続が不安定になることがある。npmレジストリはGitHubでホストされたバイナリに依存するパッケージが多く、GitHubの制限はnpmにも波及する。

これらの国に出張する開発者や、現地のチームメンバーと協業する場合、VPNは実務上の必需品だ。

リモートワークのセキュリティ

企業VPN(社内リソースへのアクセス用)と個人VPN(ISPからのプライバシー保護用)は別物だ。

企業のノートPCで個人VPNを使うと、セキュリティポリシーに違反する可能性がある。逆に、個人デバイスで業務する場合は、自分の通信を保護するのは自分の責任だ。

SSHがあればVPNは不要?

開発者の間でよくある誤解を整理する。

SSHとVPNの違い

SSHVPN
保護範囲特定の接続(1セッション)デバイス全体の通信
レイヤーアプリケーション層ネットワーク層
用途リモートサーバーへのシェルアクセス全トラフィックの暗号化
DNS保護なしあり
ブラウザの通信保護されない保護される

SSHトンネル(ssh -DでSOCKSプロキシを作る方法)を使えば、特定のアプリケーションの通信をサーバー経由にできる。しかし、システム全体の通信を保護するにはVPNが必要だ。

併用が正解

実務では「SSHかVPNか」ではなく「SSHもVPNも」が正解だ。

  • VPN — デバイスの全通信を暗号化し、公共ネットワークでの盗聴を防ぐ
  • SSH — VPNトンネルの中で、さらに特定のサーバーへ安全に接続する

VPNは「道路全体を覆うトンネル」、SSHは「その中を走る装甲車」だと考えるとわかりやすい。

自前WireGuard vs 商用VPN vs Tailscale

開発者には3つの選択肢がある。それぞれ向いている場面が違う。

自前WireGuard

VPS(Hetzner、Vultr、さくらVPS等)にWireGuardをインストールして自分専用のVPNサーバーを構築する方法。

向いている場面:

  • 自宅ネットワークやVPSへのリモートアクセス
  • 専用IPが欲しい(共有IPのレート制限を回避)
  • 通信データを第三者に預けたくない

注意点:

  • サーバーの保守・更新は自己責任
  • サーバーが1台なら地理的な多様性がない
  • Kill Switch、DNS漏洩防止は自分で設定する必要がある
bash
# WireGuardサーバーの構築例(Ubuntu)
sudo apt install wireguard
wg genkey | tee /etc/wireguard/privatekey | wg pubkey > /etc/wireguard/publickey

商用VPN(NordVPN等)

月額数百円で、100カ国以上のサーバー、Kill Switch、DNS漏洩防止、ポスト量子暗号化まで全部入り。

向いている場面:

  • ジオロケーションテスト(多数の国のIPが必要)
  • 公共Wi-Fiでの日常的な保護
  • 設定に時間をかけたくない

注意点:

  • 共有IPのため、APIのレート制限に引っかかる場合がある
  • サービス提供者を信頼する必要がある(ノーログポリシーの監査実績を確認)

Tailscale

WireGuardベースのメッシュVPN。デバイス間を直接暗号化接続し、中央サーバーを経由しない。

向いている場面:

  • 複数デバイス間のプライベートネットワーク構築
  • 自宅サーバー・VPSへのNAT越えアクセス
  • チーム開発でのリソース共有

注意点:

  • 一般的な「VPN」とは異なり、パブリックIP の匿名化はしない
  • 外部サイトへのアクセスを保護するには、Exit Nodeの設定が別途必要
  • Tailscaleの制御プレーン(コーディネーションサーバー)を信頼する必要がある

3つの比較

自前WireGuard商用VPNTailscale
月額コストVPS代(~$5)$3-8無料~$5/user
サーバー数自分のVPSのみ100カ国5,000+デバイス間メッシュ
設定の手間高いほぼゼロ低い
IP匿名化VPSのIP多数の出口IPなし(Exit Node必要)
Kill Switch自分で構築内蔵なし
NAT越えポート開放必要不要自動

開発者向けVPNサービス比較

商用VPNを検討する場合、開発者が重視すべきポイントは一般ユーザーとは異なる。

開発者が見るべき基準

  • Linux CLIサポート — GUIだけでなくCLIで操作できるか
  • WireGuard対応 — OpenVPNより高速で低レイテンシ
  • ノーログ監査 — 第三者監査を受けているか
  • 同時接続台数 — 開発機、テスト機、サーバーを同時に保護できるか

主要サービスの比較

NordVPNMullvadProtonVPN
月額(年間払い)~$4.99€5.00(固定)~$3.99
Linux CLIあり(OSS)ありあり
プロトコルNordLynx, OpenVPNWireGuard, OpenVPNWireGuard, OpenVPN
サーバー数6,000+(111カ国)700+(49カ国)18,100+(129カ国)
ノーログ監査ありあり(RAM-only)あり(SOC 2)
同時接続10台5台10台
PQ暗号化あり(ML-KEM)なしなし
メッシュ機能Meshnetなしなし
無料プランなし(30日返金)なしあり(10拠点)

NordVPN はLinux CLI・PQ暗号化・Meshnetで開発者向け機能が充実。サーバー数と地理的カバレッジのバランスが良い。

Mullvad はプライバシー特化。メールアドレス不要で契約でき、2023年のスウェーデン警察による家宅捜索でもユーザーデータがゼロだったことが証明されている。

ProtonVPN はサーバー数が圧倒的に多く、無料プランがある。まず試してみたい場合に向いている。

プロトコルの技術的な違いは「VPNプロトコル徹底比較」で解説している。NordVPNのLinux操作方法は「NordVPN Linux完全ガイド」を参照。

まとめ

開発者のVPN選びは「どれが一番いいか」ではなく「何を守りたいか」で決まる:

  • 公共Wi-Fiでの日常作業 → 商用VPN(NordVPN、Mullvad等)
  • 自宅ネットワーク・VPSへのリモートアクセス → Tailscale or 自前WireGuard
  • ジオロケーションテスト → 商用VPN(多数の国のIPが必要)
  • チーム間のリソース共有 → Tailscale

SSHだけでは不十分な場面がある。VPNはSSHの代替ではなく、補完するレイヤーだ。

自分のワークフローに合った組み合わせを選び、設定したら忘れて開発に集中する——それがVPNの正しい使い方だ。

関連記事:

公式リソース: