Topics

「脱VPN」でも固定IPは手放せない。小さな会社のゼロトラスト移行の現実解

  • column

こんにちは、リベロジックでCTOをしている大塚です。

「VPN、そろそろ限界かも」

小さな会社で情シスを兼任している方なら、一度は思ったことがあるのではないでしょうか。
うちもまさにそうでした。

ゼロトラスト・SASE・脱VPN….
言葉はよく目にするけれど、大企業向けの話に見えるし、何から手をつければいいのか分かりにくいんですよね。

そんな中、社員10人ほどのウェブ制作会社であるリベロジックは、VPNからゼロトラスト型の構成へ移行しました。
今回は、なぜ移行したのか、何が変わったのか、そして弱点まで含めて、実際にやってみた話を書いておこうと思います。

VPNが「そろそろ限界」のサイン

うちでは長いあいだ、オフィスのルーターの VPN 機能を使ってきました。
自宅や外出先から一度会社の中に入り、そこからインターネットに出るよくある構成です。
ただ、ここ数年はこんなことが気になっていました。

  • 「社外ではVPNにつないでから作業してね」というルールが、結局お願い止まり
  • カフェや出張先、お客さんの事務所のWi-FiではVPNで接続できないことがある
  • Web会議もクラウドのファイル同期も、全部会社の回線を通っていて遅い
  • ルーターは通信を通すのが仕事で、危険なサイトは止めてくれない

ひとつでも当てはまるなら見直しを考えてよいタイミングかもしれません。

特に引っかかっていたのは「VPNを必ず使わせることはできない」という点です。
macOS 標準の VPN は、起動するたびに自分で接続する必要があります。 つなぎ忘れた端末の通信は、何の守りもないままその場の回線からそのまま外に出ていきます。

信頼できないネットワークのリスクが上がっている

もうひとつ最近の出来事も紹介しておきます。

2026年10月、インドの認証局eMudhraの中間証明書8つについて秘密鍵が侵害されていたことが分かりました。
Cloudflareの解説によると、鍵そのものが弱くどのドメインの偽造証明書でも作れる状態だったそうです。
ちなみに、これらの証明書はブラウザやOSに広く信頼されていたものです。

見知らぬWi-Fiに接続した時のリスク評価として、今時はHTTPではなくHTTPSで通信するのでリスクは比較的低いと考えていたのですが、この部分をもう少し考え直す必要があるなと感じました。

ゼロトラスト / SASE / ZTNA の違いをざっくり

検討を始めると、まずここで混乱します。小さな会社が押さえておくなら、これくらいで十分だと思います。

用語

ざっくり言うと

ゼロトラスト

「社内だから安全」とみなさず、接続のたびに確かめる考え方

ZTNA

社内システムやアプリへの接続を、人や端末を確かめて許可する仕組み。VPNの代わりになる

SWG

インターネットへの通信を確認し、危険なサイトを止める仕組み

SASE

ネットワークとセキュリティの機能を、まとめてクラウドで提供する考え方

ゼロトラストは考え方の名前で、それを実現するサービスの形がZTNAやSWG、まとめた全体像がSASE、という関係です。

「SASEを導入しなければ」と構えるより、VPNの何に困っていて何を解決したいのかから考えるほうが、小さな会社には合っていると思います。

うちには社内の業務システムがほぼなかった

一般的なVPNの用途といえば、社外から社内の業務システムやファイルサーバーにアクセスすることではないでしょうか。

ただ、うちは社内にそうした仕組みをほとんど持っていません。業務で使うツールはほぼクラウドサービスです。そのため「社内システムへの入口をどう置き換えるか」という悩みはありませんでした。

社内に業務システムがある会社は、まずここが検討の中心になると思います。

移行で詰まるのは「固定IP」

制作会社の場合、お客さんのサーバーの管理画面やSSHには「このIPアドレスからしか入れない」という制限がかかっていることがよくあります。安全のためで、とても正しい運用です。

そして、うちは何年もかけてたくさんのお客さんに「弊社の固定IPを許可してください」とお願いしてきました。この設定はいわば積み上げてきた資産です。

ゼロトラスト系のサービスにも、決まった IP から通信を出す機能はあります。
Cloudflareにも「専用 egress IP」という機能がありますが、Enterpriseプランのアドオンで大企業向けの契約が前提です。
小さな会社の私たちには使いづらいものでした。

それに出口の IP が変わると、すべてのお客さんに設定変更をお願いし直すことになります。
これは現実的ではありません。

つまり欲しいのはこの3つでした。

  1. どこにいても、つなぎ忘れなく、全員を守りたい
  2. ふつうの通信は、わざわざ会社を経由させたくない
  3. でも、必要な宛先には今までどおり会社の固定IPから出たい

うちの選択:守りはクラウドへ、出口だけ今の固定IP

選んだのはCloudflare Oneです。

構成図:社員のMac(WARP)からCloudflare Oneを経由し、ふつうのウェブはCloudflareから直接、お客さんのサーバー宛てだけ会社のトンネルを通って固定IPから出る
  • 各PCにWARPというソフトを入れる:起動するとつながるので、つなぎ忘れが起きにくい
  • Gatewayが危険なサイトへの接続を止める:マルウェアやフィッシングのサイトに関連する接続を、会社全体のルールで遮断
  • ふつうの通信はCloudflareからそのまま外へ:会社の回線を通らない
  • お客さんのサーバーだけ会社の固定IPから出す:社内に小さな機械を置き、Cloudflare Tunnel という通路で会社につなぐ

最後の点がうちにとっての決め手でした。「この宛先だけは会社の中を通して出す」と宛先ごとに指定できるんです。
お客さんから見れば今までと同じ固定IPからのアクセスなので、先方の設定は何も変えずに済みます。

しかも社内の機械は自分からCloudflareに接続しに行くだけで、ルーターのポートを開ける必要がなく外から会社に入ってくる入口が増えません。

もちろん中間証明書の件のような問題が起きたときに、人の注意だけに頼らずに済むのも大きな点です。
eMudhraの件でも、CloudflareはGatewayと最新のクライアントを使っていれば自動で保護されると案内していました。

何が変わったか

これまで

いま

社外での作業

VPNにつないでから作業

PCを開くだけ

つなぎ忘れ

起きる

起きにくい

危険なサイト

各PCのセキュリティソフト頼み

全社のルールで遮断

Web会議やクラウド

全部会社の回線を通る

会社を通らない

お客さんのサーバー

会社の固定IPから

会社の固定IPから(変更なし)

WARP は Mac の起動と同時に立ち上がり自動で接続します。スタッフが VPN につなぐ手順を覚えておく必要も、細かい設定を気にする必要もありません。 セキュリティ強化って現場の手間が増えがちですが、今回はむしろ手間が減りました。 このUXの良さは導入してみていちばん驚いたところです。

WARP経由でしか開けない社内アプリも作れる

Cloudflare OneにはAccessという機能があり、Webアプリを開ける人や端末を制限できます。これを使うと、WARPで会社のCloudflare Oneにつながっている端末からしか開けないアプリを作れます。

たとえば、次の条件を両方満たす場合だけアクセスを許可できます。

  • 会社のメールアドレスでログインしている
  • WARPで会社のCloudflare Oneに接続している

URLを知られても、条件を満たさない端末からは開けません。社内システムを「VPNの内側に置く」のと近い形を、VPNなしで作れるわけです。

社内のサーバーで動いているアプリも、Cloudflare Tunnelでつなげばポートを開けずに同じように保護できます。

次に紹介する管理アプリも、この方法で守っています。

DIY精神で小さな管理アプリも作りました

ひとつだけ課題が残りました。お客さんのサーバーが増えるたびに「この宛先は固定IPで出す」という登録が必要になるのですが、Cloudflareの管理画面は専門用語が多く、設定を間違えると全員の通信に影響します。全員に管理者権限を渡すわけにもいきません。

そこでスタッフが目的を選ぶだけで登録できる社内アプリを作りました。

開発した社内アプリ「EGRESS-CONSOLE」の管理画面
  • 誰が、何のために登録したかが残る
  • 全社で使うサービスや、広すぎる範囲は登録できない
  • 登録後、ちゃんと反映されたかをその場で確認できる

Cloudflare は設定を API から操作できるので、こうした社内ツールも作れます。普段からWebアプリを作っているので、このあたりは得意分野です。

費用の話

Cloudflare One には50ユーザーまでの無料枠があります。
社内ツールのログイン管理に使う Cloudflare Access と同じユーザー枠なので、すでにAccessを使っている会社なら、なおさら気軽に試せると思います。
50ユーザーを超える場合は有料プランになり、公開価格は1ユーザーあたり月7ドルです。

固定IPの回線は今のものをそのまま使います。
ほかに必要なのは社内に置く常時起動の機械が1台。
うちは専用の小型PCを用意しました。

正直、万能ではありません

いいことばかり書くのもよくないので、気をつける点も挙げておきます。

  • トンネルが止まると、固定IPで出られなくなる:社内の小型PCや回線が止まると、お客さんのサーバーに入れません。ふつうのウェブは使えますが、止まったことに気づける通知は必須です
  • Cloudflareへの依存が増える:認証も経路も一社に集まります。便利さとの引き換えです
  • 各PCへの導入は必要:WARPと証明書の設定は端末ごとに1回。スマートフォンは手作業が増えます
  • お客さん指定のVPNとの併用は確認が必要:経路や DNSの設定によっては、Gatewayの保護が効かなくなることがありました。うちでは接続マニュアルで手順を案内しています
  • 通信の中身まで見るわけではない:うちはTLS復号をしていません。全通信を細かく検査したい場合は、別の検討が必要です
  • 無料枠はサポートが手厚いわけではない:問題は基本的に自分たちで調べることになります。ログの保存期間も無料枠では最大24時間です

向いている会社、向かない会社

向いているのはこんな会社だと思います。

  • 社員が数人〜数十人で社外やリモートで働く人がいる
  • 固定IPでのアクセス制限を手放せない
  • クラウドサービスが中心で社内サーバーは少ない
  • 詳しい人が少なくとも1人いて調べながら試せる

逆に、次のような場合は別の製品や専門の会社への相談も含めて検討するのがよいと思います。

  • 業界のルールで、ログの長期保存や通信の詳細な検査が必要
  • 会社が管理していない端末が多くソフトを入れられない
  • トンネルが止まったときに対応できる人がいない

まとめ

これまではMacにウイルス対策ソフトを入れてもらうだけで、細かい設定までは指定していませんでした。今回はCloudflare Oneの導入とあわせて、macOSの各種設定や、ウイルス対策ソフトの設定も含めて社内で整備しました。

ただ制作者や開発者を狙った攻撃が激化している今、守るべきところはそれだけではありません。リベロジックでは、ほかにもこんなことに取り組んでいます。

依存パッケージの管理
開発者を狙うサプライチェーン攻撃が増えていることを踏まえ、パッケージの追加や更新を「とりあえず最新に」で済ませず、取り込み方や確認の手順を見直しています。

秘密情報の扱い
APIキーや SSH鍵は1Passwordのルールを整備して管理し、開発環境にも可能な限り平文で残さないようにしています。

権限の最小化と棚卸し
お客さんの環境や各種サービスのアカウント・鍵・権限は必要な範囲に絞り、案件が終わったあとに残さないようにしています。

学びの共有
実際に公開されたインシデントを社内勉強会の題材にして、「うちなら影響を受けるか」を自分たちの環境に引き寄せて考えています。

大きなインシデントを起こさないように注意するのは当然ですが、弊社は会社の規模感に対して大手のお客様とのお取引が多く、セキュリティ基準を常に一定担保していかなければなりません。
どれも派手な話ではありませんが、我々にできることを地道に積み上げています。

同じように悩んでいる会社の参考になればうれしいです。

この記事を書いた人

リベロジック技術部門の屋台骨。「こんなものが欲しいなぁ、あったら便利だよなぁ〜」という言葉を聞くと、持ち前の知恵で付加価値までつけて、あっという間に実装。コミュ力が高くお客様にファンも多い弊社の宝、そして猫大好き人間。

大塚 翔

取締役CTO / チーフエンジニア / 合同会社猫穴代表 / 無駄に若く見える

このスタッフの記事を見る

安心のチーム体制とスピードのある対応力が自慢

リベロジックでは、ベテランスタッフが積極的にプロジェクトを推進するため、お客様から高く評価されています。
プロジェクトマネージャー、ディレクターをきちんとアサインし、プロジェクト全体をスムーズに進行することを心掛けています。 不必要なフルコミットでのコスト増加を防ぎ、適材適所にリソースを配分するスタイルで、業務内容の把握から見積作成/提出の速さにも定評があります。

※ 当社はSES的な常駐業務等は積極的に行っておりませんので予めご了承ください。

Slack、Teams、Redmine、Backlog、Asana、Jira、Notion、Google Workspace、Zoom、Webexなど、ほぼすべての主要なプロジェクト管理ツールやチャットツールをご利用いただけます。

Webのお悩みご相談ください。

ケーススタディ

AIコンシェルジュ リベロ爺がお答えします。

このサイトに掲載されている内容をもとにAIが回答します。チャットには個人情報を入力しないでください。内容に誤りが含まれる場合があるため、重要な事項はお問い合わせからご確認ください。