永久リモートワーク時代におけるVPNレス化(概要編)

リモートワークを実現するために業務で使っている社内ネットワークにアクセスできるようにする必要があります。現在は、社内に設置されているVPNルーター(RTX1210)に接続し、そのルーターを経由してインターネットにアクセスすることで、会社のグローバルIPとしてアクセスしています。

この方法は、接続方法的にもシンプルですし、社内のローカルネットワークに存在するファイルサーバー等にもアクセスできることから割といろんな方面でも採用されているやり方なのかなと思います。

そんな中でリモートワークが永久化され、それによって必要がなくなったオフィスを縮小する話が出てきました。縮小先のオフィスは営業マンや会社としての窓口となる人のみが駐在する詰所となるだけなので、一般的な3LDKタイプのようなフロアになるのです。

オフィス移転後も同じようにVPNを介したやり方でもいいのですが、問題なのは再度オフィス移転の可能性があることと、移転先オフィスのネットワーク回線を光配線方式による接続が可能なのか?そもそもVPNはネットワークトラフィックの輻輳による弊害(混雑による速度の低下や、接続が不安定になる等)というリスクも孕んでいます。

そこでこれを機にVPNを使わないで仕事が可能かを検証してみました。

尚、具体的な導入方法や手順についてはこの記事では割愛します。あくまで概要だけ。

BeyondCorp Remote Access

BeyondCorpとは

Googleが提唱する企業セキュリティに対する新しいアプローチ。
・アクセス制御地点をネットワークの境界から個々のユーザーやデバイスに移すことで、従来のように VPN を介さなくても従業員や契約業者などのユーザーがほぼどこからでもより安全に働けるようにするもの
・Google のミッションとして、2011 年~現在まで、Google の全従業員が VPN を使用せずに、信頼できないネットワークを介して問題なく働けるようにすることを目指している。
・VPNを利用せず、すべてのネットワークを検証する。
・VPNを利用できない企業への設置を推奨している。
・Googleも閉域から移行する際、安全性を確認しながら移行した。
・BeyondCorpはGoogleが提唱するゼロトラストの概念。
・IAP(他要素認証のあるリバースプロキシ)が中核となり、GsuiteやGCP上のWebアプリケーション、API+VPN/GCIを介してオンプレのWebアプリケーションと接続が可能。

といったものです。早い話がVPNを使わずにセキュアなネットワーク接続を確立して、仕事をできるようにしよう!というものです。

具体的に、こういった機能があるというわけではなく、BeyondCorp実現のためにGoogle Cloud Platformにある機能をどう利用することで実現可能なのかという発表です。

VPNレスでも業務を行うためには

とりあえず私が行なっている業務内で利用可能なものと実現できそうなものとして少なくとも以下のことが実現できる必要があります。

  • ユーザー単位(もしくはマシン単位)でアクセス権限を付与できること。
  • Gsuiteの管理権限によって、仮に不正が発覚したユーザー(もしくはマシン)やアクセス権限を剥奪したい場合にユーザー単位で制御ができること。
  • 特定のグローバルIPによるアクセス制限を行わずにアクセスできること。
  • 新たに構築したクラウド上の社内ネットワークにあるローカルネットワークにアクセスできること。
  • 制限されたネットワーク内のWebサービスにアクセスできること。
  • 通信の内容が暗号化されていること。

ユーザー単位でアクセス権限を付与できること

業務では、Gsuiteを利用しています。Gsuiteを利用している場合、Identify Aware Proxy(IAP)という機能を利用すればユーザーごとにトンネル可能なインスタンスを指定することが可能です。さらに、IAMによってユーザーごとに各GCPのリソースへのアクセス権限も適宜付与できます。さらに、IAMでユーザーが管理できることからアクセス権限の剥奪も可能です。

Identity-Aware Proxy経由で接続するには、GCPのバックエンドネットワーク(35.235.240.0/20)からアクセスに対して、SSHや開放したいTCPポートをVMに対して開放する必要があります。

具体的な内容はこちらを参照するとわかり易いかと思います(TCP転送にCloud IAPを利用する

これによって、グローバルIPを持たないVMへもログインが可能になります。昨今は個人のネット環境は動的グローバルIPがほとんどであるために0.0.0.0/0に対してのSSHの開放をする必要もなくなるので管理も楽になります。

クラウド上のローカルネットワークにアクセスできること

IAPを利用すれば、グローバルIPを持たないVMに対してアクセスできることがわかりました。これができれば、特定のVMを踏み台にしてプロキシーサーバーを立てることが可能になります。

  • 踏み台となるVMインスタンスを構築してIP転送をONにしておく
  • IAPでSSH接続する際に、ダイナミックフォワードを利用してSOCKS5プロキシ接続を行う
  • 踏み台となるVMインスタンスにグローバルIPを付与しておく(またはCloudNATを利用して外部に出るIPを固定で割り当てる)
  • 特定のサービスを利用する場合も同様に、SSHのポートフォワードで実現可能。

制限されたネットワーク上にある社内Webにアクセス

上記のSOCKS5プロキシによって、特定のVMを踏み台にしてアクセスするNAT箱のようなやり方も一つですが、Global Load Balancerを使えば、前段にCloud Identityの認証を挟んでくれますのでカジュアルに使いたいのであればこのやり方が一番簡単かと思います。今のところ、業務ではNextCloudによるファイルサーバーのブラジングをこちらで認証して利用していますが、特に大きな問題は起きていません。

まとめ

VPNを使わないでセキュアに接続する方法について検証していましたが、調査の過程で実現性は十分にあると感じ思い切って業務で導入まで踏み切ってしまいましたが、大きな問題もなく運用できています。VPNサーバーにアクセスが集中することでネットワークが遅くなることもなく、接続が不安定になることもないので導入に踏み切って良かったと思います。うちは開発チームが少人数であることもあり、刷新する際にスムーズに移行できました。

これで導入に関する知見ができましたので、この知見をベースにより良い環境作りを行なって行きたいと思っています。

尚、具体的な導入方法に関してはまた別の記事で。

よかったらフォローしてね!

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    CAPTCHA


    前の記事

    MacPro風なPCケースの進捗