ソフトウェア定義の境界とは?| SDPとVPN

ソフトウェア定義の境界(SDP)とは、ハードウェアではなくソフトウェアに基づいたネットワーク境界のことです。SDPは、ゼロトラストセキュリティアプローチの一部である場合があります。

Share facebook icon linkedin icon twitter icon email icon

ソフトウェア定義の境界

学習目的

この記事を読み終えると、以下のことができます。

  • ソフトウェア定義の境界(SDP)について学ぶ
  • SDPの仕組みを探る
  • SDPとVPNを比較する

ソフトウェア定義の境界(SDP)とは?

ソフトウェア定義の境界(SDP)とは、部外者や攻撃者に見えないようにするためにオンプレミスまたはクラウドにてホストされている、インターネットに接続したインフラストラクチャ(サーバー、ルーターなど)を隠す方法の1つです。SDPアプローチの目標は、ハードウェアではなくソフトウェアに基づいたネットワーク境界にすることです。SDPを使用する会社は、外部から誰も見ることができないように、サーバーやほかのインフラストラクチャに透明マントを被せているようなものです。ただし、権限を持つユーザーは依然としてインフラストラクチャにアクセスできます。

Software-Defined Perimeter

ソフトウェア定義の境界は、アプリケーション層ではなくネットワーク層で会社のアセットの周囲に仮想境界を設けます。この点は、ユーザー権限を制限するほかのアクセスベースの制御と異なりますが、広範なネットワークアクセスは許可します。もう1つの相違点は、SDPはデバイスならびにユーザーIDを認証します。SDPコンセプトを最初に発案したのはCloud Security Allianceです。

SDPの仕組み

SDPでは、許可されていない限り、サーバーと接続することは技術的に可能であってはなりません。SDPにより、ユーザーがアクセスを許可されるのは、1) ユーザーIDを検証して、2) デバイスの状態を評価した場合のみです。

ユーザーとデバイスが認証されると、SDPはそのデバイスとそれがアクセスしようとしているサーバーの間に個々のネットワーク接続を確立します。認証されたユーザーは大規模なネットワークにログインするのではなく、自分だけしかアクセスできなくてユーザーがアクセスを許可されたサービスのみが含まれる個々のネットワークに接続します。

インターネットに接続しているがほかとは接続しないWebサーバーを思い浮かべてください。リクエストを受信したりレスポンスを送信したりしません。インターネットに接続しているものの開いているポートもネットワークアクセスもありません(コンセントにつながっているが電気が流れないように電源を切っているトースターやランプのようなものです)。これが、ソフトウェア定義の境界内のサーバーのデフォルトの状態です。

SDPのもう1つのたとえ方は、常に鍵がかかっている玄関のドアです。ドアの内側または外側にいる人が訪問者が誰で何をしているかを確認できるまで、誰もそのドアを通ることもドアの中をのぞくこともできません。

SDPを介してユーザーはどのようにアクセス権限を取得するのか?

ユーザーの本人認証:通常、ユーザーIDはサードパーティのIDプロバイダー(IdP)によって検証されます。SDPはSSOソリューションとも統合できます。ユーザーの本人認証には、単純なユーザー名とパスワードの組み合わせを用いますが、多要素認証と何らかのハードウェアトークンを使用した方がより安全です。

デバイスの検証:これには、ユーザーのデバイスが最新バージョンのソフトウェアを実行していることを確認する、マルウェアに感染していないかチェックする、ほかのセキュリティ検査を行う、といったことが含まれます。理論上は、SDPは許可しないデバイスのブラックリストを作成して、デバイスがブラックリストに掲載されていないことを確認することもできます。

SDPコントローラーの承認:SDP「コントローラー」は、どのデバイスとサーバーが接続できるかを決定するSDPの論理コンポーネントです。ユーザーとサーバーが認証されると、コントローラーはユーザーとデバイスの承認をSDPゲートウェイに伝達します。SDPゲートウェイは、アクセスが実際に許可または拒否される場所です。

安全なネットワーク接続の確立:SDPゲートウェイは、仮装「ゲート」を開いて、ユーザーが通過できるようにします。ゲートウェイの一方の側でユーザーデバイスと安全なネットワーク接続を確立して、他方の側でユーザーがアクセスする必要があるサービスとネットワーク接続を確立します。ほかのユーザーやサーバーは接続を共有しません。通常、こうした安全なネットワーク接続には、相互TLSの使用に加えてVPNの使用が必要になる場合があります。

ユーザーアクセス:ユーザーは、以前非表示にしたネットワークリソースにアクセスすることができ、通常どおり引き続き各自のデバイスを使用することができます。ユーザーは、自分たちとアクセスするサービスが属する暗号化されたネットワーク内で操作します。

相互TLSとは?

TLS(Transport Layer Security)とは、サーバーの正当性を検証する、つまり主張どおりであることを確認する、暗号プロトコルのことです。相互TLSでは、この検証プロセスは、クライアントとサーバーの両側で行われます。相互TLSの詳細については、こちらをご覧ください。

VPNとは?

VPN(Virtual Private Network)とは、暗号化されていないネットワーク上で実行する暗号化されたネットワークのことです。独自のプライベートネットワーク上にいるかのようにするために、デバイスとサーバーの間に暗号化された接続を確立します。

これまで、VPNは会社のインフラストラクチャを保護および管理するのに使用されていました。場合によっては、VPNをSDPに置き換えることができます。

SDPとVPNの違い

SDPは、ユーザーデバイスとアクセスする必要があるサーバーとの間に安全なネットワーク接続を確立するために、VPNをアーキテクチャに組む込む場合があります。しかし、SDPはVPNとは大きく異なります。いくつかの点で、より安全です。VPNはすべての接続済みユーザーがネットワーク全体にアクセスすることを可能にしますが、SDPはネットワーク接続を共有しません。また、SDPはVPNよりも管理が簡単な場合があります。特に、社内のユーザーが複数のレベルのアクセスを必要とする場合はそうです。

VPNを使用して異なる複数のレベルのネットワークアクセスを管理するには、複数のVPNをデプロイする必要があります。Acme Inc.の経理部門で働くボブ、セールス部門で働くキャロル、そしてエンジニアリング部門で働くアリスがいるとしましょう。ネットワークレベルで各自のアクセスを管理するには、3つのVPNを設定する必要があります:1) 経理のデータベースへのアクセスを提供する経理のVPN、 2) 顧客のデータベースのためのセールスのVPN、 3) コードベースのためのエンジニアリングのVPN。これをIT部門が管理するのは難しいだけでなく、安全性が低いです。たとえば、経理のVPNにアクセスできるようなった人は、Acme Incの財務情報にもアクセスできてしまいます。ボブが誤ってログイン認証情報をキャロルに渡してしまった場合、セキュリティが侵害されます。そのことに、IT部門が気付かない可能性さえあります。

ここで4番目の人物、Acme Inc.のCFOであるデイビッドを登場させましょう。デイビッドは経理のデータベースと顧客のデータベースの両方にアクセスする必要があります。そのために、デイビッドは2つの別々のVPNにログインする必要があるでしょうか? それとも、AcmeのIT部門は経理のデータベースと顧客のデータベースの両方にアクセスできる新規のVPNを設定すべきでしょうか?どちらのオプションも管理しにくいですし、2番目のオプションは高いリスクをもたらします。この新規のVPNを侵害する攻撃者は、2つのデータベースにアクセスできるようになり、2倍のダメージを与えることになります。

一方、SDPはよりきめ細かな管理を可能にします。同じリソースに全員がログインする「総合VPN」はありません。その代わりに、ユーザーごとに個別のネットワーク接続が確立されます。全員が各自のプライベートVPNを持つようなものです。また、SDPはデバイスならびにユーザーを検証するので、攻撃者が盗んだ認証情報のみを使用してシステムを侵害するのはずっと困難になります。

VPNにないSDPの特徴はほかにもいくつかあります。SDPは場所にもインフラストラクチャにも依存しません。ハードウェアではなくソフトエアに基づくものであるため、SDPは、オンプレミスインフラストラクチャ、クラウドインフラストラクチャ、または両方を保護するためにどこにでもデプロイすることができます。また、SDPは、マルチクラウドおよびハイブリッドクラウドのデプロイメントと容易に統合できます。そして最後に、SDPはあらゆる場所にいるユーザーとの接続を確立できます。ユーザーは会社の物理的なネットワーク境界内にいる必要はありません。

SDPはゼロトラストセキュリティとどのように関係するか?

その名が示すように、ゼロトラストセキュリティでは信頼できないことを前提としています。どのユーザーも、デバイスも、ネットワークも信頼できないことを前提として対策を講じます。ゼロトラストセキュリティとは、ネットワーク境界(ソフトウェア定義の境界)の内側にいるか外側にいるかに関係なく、内部リソースにアクセスしようとしているすべての人物とデバイスのIDの厳格な検証を必要とするセキュリティモデルのことです。

SDPは、ゼロトラストセキュリティを実施する1つの方法です。ユーザーとデバイスの両方は、検証が行われてからでないと接続できなくて、必要最小限のネットワークアクセスのみを与えられます。どのデバイスも(CEOのノートパソコンであっても)、使用が許可されていないリソースとネットワーク接続を確立することはできません。

ゼロトラストセキュリティの詳細については、こちらをご覧ください。