SB C&Sの最新技術情報 発信サイト

C&S ENGINEER VOICE

SB C&S

【ZTNA実践】Appgate SDPでZTNAを構築するシリーズ2

ゼロトラスト
2021.12.08

前回のAppgate SDPのコントローラーの立ち上げまで確認できたところで、ここからはAppgate SDPの設定に入っていきます。

Appgate SDPのコンポーネント


Appgate SDPは100%ソフトウェアで提供されるSDPソリューションです。

SDP(Software Defined Perimeter)とは、従来のVPNソリューションのように、VPNサーバーとトンネル終端を1つのコンポーネントで提供するのではなく、論理的なコンポーネントによって明確に役割化が行われています。

この役割化によって、SDPで提供されるサービスは外部からのアタックサーフェスを極限まで少なくし、スケーラビリティ(拡張性)、レジリエンス(回復性)、アベイラビリティ(可用性)が担保できるようになっています。

今後のネットワーク/ネットワークセキュリティのトレンドがSASEのようなクラウドサービスによってスケーラビリティ/レジリエンス/アベイラビリティを満たしやすくなりますが、やはりセキュリティを伴う高度なアクセス制御システムについては、オンプレミスのシステムで確実に制御する必要があることと、なによりも、セキュリティの担保を他社に依存しないということがゼロトラストにおいてとても重要なアプローチではないかと思います。

図1.png

※この図は私のイメージです。

Appgate SDPを構築する場合、私は上記のようなイメージでシステムを構成していきます。

Appgate SDPコントローラー

Appgate SDPの管理機能を提供するコンポーネントです。全ての設定はこのコントローラー上で行います。またユーザーDBと連携するのもこのコンポーネントです。

Appgate SDPゲートウェイ

Appgate SDPの暗号化トンネルを終端するネットワークコンポーネントです。クライアントからのトンネル通信を終端し、プライベートリソースへのルーティングやNATなどを行います。

Appgate SDPクライアント

Appgate SDPのクライアントエージェントです。基本的にAppgate SDPはエージェントを利用してプライベートリソースへのアクセスを行います。WindowsやmacOSや各種モバイルデバイスに対応しています。

この3つの要素がAppgate SDPを実装するためには必要となり、それぞれの構築を行っていきます。

SDPを作る


コントローラーを作る

Appgate SDPのシステムにログインし"システム"へ進みます。

Appliances - Appgate SDP 2021-11-29 13-48-32.png

作成したシステムをクリックし、Functionsへ進むと、対象の仮想マシン上で動作するFunctionが表示されます。

Editing Appliance - Appgate SDP 2021-11-29 13-50-17.png

見ての通りで、Appgate SDPは、1つ仮想マシンで立ち上げると、その仮想マシン上で利用する機能(ファンクション)を選択するという方法で展開できます。

そのため、今回の手順では、コントローラー(CTR)とゲートウェイ(Gateway)にチェックを入れることで1つの仮想マシン上にコントローラーとゲートウェイのシステムを共存させることができます。

デフォルトでは、コントローラー機能が有効になっているため、特に何もしなくてもコントローラーの設定は終了しています。

ゲートウェイを作る

Appliance FunctionsからGatewayを追加するだけです。

Editing Appliance - Appgate SDP 2021-11-29 14-01-05.png

合わせて、Siteの設定のAppliance SiteをDefault Siteと設定します。 

Site(サイト)とはゲートウェイが保護するネットワークの範囲で、今回はデフォルトの設定を利用します。サイトについては今後詳しく解説できればと思います。

さらに"Secure Tunnel Settings"に暗号化通信の対象の設定を行います。いわゆるスプリットトンネリングのような設定です。

今回は一旦"0.0.0.0/0 eth0"と設定しています。eth0はAppgate SDPのVMのインターフェースIDです。

Editing Appliance - Appgate SDP 2021-11-29 14-07-43.png

通常はターゲットとして、ゲートウェイの裏にあるプライベートネットワークを指定することになります。

Editing Appliance - Appgate SDP 2021-11-29 14-07-18.png

そのまま、画面一番下の"Save"をクリックして設定を完了します。

サイトの設定

サイトとは、ゲートウェイがトンネルの暗号化通信を対象とする範囲です。今回は最低限の設定だけ見ていきます。

Short Nameを"SDP"と入力します。特に必要はないですが、クライアントがこのサイトにつながった際の簡易名を定義しています。

Editing Site - Appgate SDP 2021-11-29 14-17-29.png

Tunnel ProtocolとTunnel Traffic

これらの2つの設定はとても重要な設定ですが、一旦デフォルトで進めます。

トンネルプロトコルはTLSだとTCP443ベースでトンネル通信をします。DTLSだとUDP443の通信となります。パフォーマンスを上げる場合はDTLSを選択するケースもあると思います。

Technical Tips: Tunnel Trafficとは

Tunnel Trafficはゲートウェイで終端される通信をどのように処理するか選択できます。実はこの設定が他社のZTNA製品と大きく異るところの1つです。

図4.png

デフォルトで何もチェックを入れない場合は、ゲートウェイの出力IF(eth0)でSNATされて、保護されたネットワークへアクセスされます。しかし、VPN通信がゲートウェイでSNATされてしまうと、アクセスを受ける側のサーバーとしては送信元IPが見えなくなってしまうため、送信元IPによるアクセス制御ができなくなります。

Appgate SDPのゲートウェイでは、SNATにも対応しますが、ここの設定項目でNATしない(クライアントに割り当てた仮想IP)から通信させることもできれば、別途Pool IPを使ったレンジ変換することによって、アクセスを受けるサーバー側でもアクセス制御を行う余地を提供します。

※SNATをしない場合は、アプリケーション側へ仮想IPアドレス宛のルーティング設定が必要です。

この機能によって、他社ZTNAよりも高度/柔軟なネットワーク制御が可能になっています。

Editing Site - Appgate SDP 2021-11-29 14-19-51.png

続いてClient Routingのタブを見てください。

Editing Site - Appgate SDP 2021-11-29 14-34-03.png

こちらもAppgate SDPの特徴ですが、基本はEntitlement Base Routingと呼ばれる、アクセス資格に基づいたルーティング制御が行われるようになっています。

なお

  • Route all traffic through tunnel (Default Gateway)

この機能を利用すると、Appgate SDPクライアントから全ての通信がAppgate SDPに転送される仕組みです。(デフォルトではEntitle Base Routingによってスプリットトンネルが行われています)

IP Poolの設定

クライアントの仮想IFに割り当てるバーチャルIPの範囲です。デフォルトでは192.168.100.1-192.168.100.254がセットされていますが、任意で変更していただいても結構です。

今回はゲートウェイでSNATされる仕組みとなっているので、アクセスを受ける側は、Appgate SDPのEth0と同じセグメントにいれば特にネットワーク変更は不要です。

IP Pools - Appgate SDP 2021-11-29 14-37-10.png

Identity Providers

認証サーバーとの連携設定です。

Appgate SDPのローカルDB、Radius、LDAP(Windows AD)のような、オンプレミス環境で利用されるユーザーDBとの連携が可能です。

また、IDaaSとの連携に必要なSAMLにも対応しているため、AzureADやGoogle、Okta、JumpCloudなど一般的なSAMLをサポートするIDaaS製品であれば連携することができます。

今回は一旦ローカルDBにテスト接続用のユーザーアカウントを作成します。

"local"をクリックします。

Identity Providers - Appgate SDP 2021-11-29 14-47-15.png

Client Settingsの

  • DNS Servers --- VPN接続時にクライアントが参照するDNSサーバーのIPを設定
  • IPv4 Pool --- VPN接続時にクライアントに提供する仮想IPアドレス

Editing Identity Provider - Appgate SDP 2021-11-29 14-51-59.png

一番下までスクロールし、"Mange Users"をクリック

Editing Identity Provider - Appgate SDP 2021-11-29 14-52-35.png

Add New

Local Users - Appgate SDP 2021-11-29 14-59-08.png

ローカルユーザーアカウントを作成

Usename、パスワード、ファーストネームとラストネームが必須項目です。

Editing Local User - Appgate SDP 2021-11-29 15-00-08.png

ここまでが、Appgate SDPのコントローラーからゲートウェイ、IDPの設定です。次回からは、Appgate SDPが接続できるようにするためのポリシーの設定を見ていきます。

シリーズ2まとめ


今回はAppgate SDPのコントローラー、ゲートウェイ、IDP(ローカルDB)の設定画面まで確認しました。

注目のポイントとしては、Appgate SDPは1つのサービスで、管理とゲートウェイを提供するのではなく、要素をコンポーネントとして提供しています。1つの仮想マシンで、コントローラーとゲートウェイを共存することもできれば、ゲートウェイのコンポーネントだけを必要に応じて追加することもできます。

そのため、変化するシステム環境に応じて、必要な機能を必要なだけ仮想マシンとして立ち上げることで拡張性を担保することができる仕組みになっています。

他にも、ゲートウェイのネットワークコンポーネントとしての機能は他社ZTNAの"コネクター"と呼ばれる製品と比べても高機能です。一般的なZTNAはSNATしか対応していないことが多いですが、Appgate SDPのゲートウェイはSNATは当然、NATしない設定も、またIP Poolを使ったレンジ変換にも対応するので、サーバー側のアクセス制御の観点においても、安全性を高めることができます。

次回は、この設定の上に、アクセス制御ポリシー(ポリシーとアクセス資格)と、さらにその次はSPA(Single Packet Authorization)とよりSDPの本質について深堀りしていきます。

著者紹介

SB C&S株式会社
ICT事業本部 技術本部 第3技術部
宮本 世華

釣りが好きです。