5.3.4. ゼロトラストネットワークアクセス(ZTNA)

ZTNAを始めるにあたって

はじめに

組織がコンピュータ・ネットワークのセキュリティ体制を強化し、ゼロ・トラスト・アクセス・セキュリティ・コントロールを導入し続ける中、悪意のあるソフトウェアの拡散を抑え、権限のないユーザーやハッカーがアクセス権限のないシステムやアプリケーションにアクセスできないよう、コンピュータ・ネットワークやアプリケーションを分離する必要性が生じています。 組織では、個々のユーザーに対するポリシーをどのように作成するかでまだ苦労しており、フルアクセスまたはグループレベルのアクセスを提供するという、慣れ親しんだ方法に戻っています。フルアクセスは明らかに過剰な特権アクセスのシナリオを作成し、グループレベルのアクセスはグループ内の特定のユーザーに過剰な特権アクセスを作成する可能性があります。例えば、100人のユーザーがいるとして、その中の1人のユーザーは、他の99人のユーザーがアクセスする必要があるものと同じものにアクセスする必要はないでしょう。本当にゼロ・トラストを実現する唯一の方法は、ユーザーまたはホスト単位でポリシーを実装することです。しかし、ユーザーがアクセスする必要のあるアプリケーションをすべて特定し、ユーザー数が数千人にも及ぶ場合に、どのように個別のルールを作成するかという問題は、未だに解決されていません。そこでEricomは、クラウドネイティブのゼロトラストサービスをZTEdgeで実現しました。

クイックスタート

ZTEdgeでZero Trust Network Accessを始めるには、以下の手順と添付のリンクに従ってください。

  • ZTEdgeテナントのZTEdge Adminにログインします: https://ztadmin.ericomcloud.net/

  • https://ztadmin.ericomcloud.net/shield-ztna-settings:必要に応じて、環境に応じて設定します。

  • https://ztadmin.ericomcloud.net/shield-firewall-connectors にアクセスして、新しいコネクタを追加してください。

  • コネクタをインストールし、テナント名、コネクタ名、およびコネクタトークンを使用して設定します。

  • アドレスは、ユーザーがアクセスできるようにしたいアプリケーション、サブネット、およびその他のリソース領域を設定するために使用します。

  • リソースに名前を付け、有効なIPアドレスを割り当てます。

  • ZTNAルールを追加してアクセスを割り当てます。

    ../../../_images/sc2301_ztna01.jpg
  • IDプロバイダーを設定します。

  • ローカルユーザーの追加または外部IDPを設定します。

  • ZTEdgeクライアントをダウンロード・インストールし、ログインします。

    ../../../_images/sc2301_ztna02.jpg
  • ZTEdgeによる正規システムとの接続テストを行います。

コネクタの追加

管理者コンソールの設定

ZTAdmin UIにログインし、「ZTNA|コネクター」にアクセスします。追加ボタン(+)をクリックし、必要なパラメータを入力します。

  • 名前コネクタの説明的な名前

  • LANサブネット:コネクタが接続を提供するサブネット

  • パブリックIP:コネクタのパブリックIP(非CIDR表記:192.168.1.1)

  • DNS Servers: コネクターの後ろにあるDNSサーバーのアドレス

    ../../../_images/sc2301_ztna03.jpg

コネクタが作成されると、認証キーが作成され、ネットワークコネクタをインストールする際に必要となります。

インストール

ZTEdgeテナントにネットワークを搭載するには、ネットワークコネクタを設置する必要があります。

Ubuntu 18,20または22が必要です。

注意

インストールのために、ネットワークコネクターがインターネットにアクセスできることを確認してください。

スクリプトをダウンロードします。

wget https://share.ericom.com/public/file/fmeGFlTD1UezalvlMHv0oQ/download-and-install-connector.sh

スクリプトをダウンロードした後、実行可能な状態にします。

chmod +x download-and-install-connector.sh

スクリプトを実行します。

sudo bash ./download-and-install-connector.sh

実運用環境ではサービスとして実行することをお勧めします。これらは、コマンドで使用されるパラメータです。

  • < tenantid> : ztedge のテナント名です(id(例:a889bc54-36ff-4a62-a71e-320e3706deee)ではなく、テナント名(例:labtenant)を使用します)。
  • < ConnectorName> : ztadmin UI - ZTNA / Connectors / Name で取得します。
  • < Token> : ztadmin UI - ZTNA / Connectors / Authentication Keyで取得します。

プロセスとして実行します。

コネクタをインストールしたら、コマンドを実行してZTEdgeに接続します。

sudo ztedge-client new <TENANTID> <CONNECTORNAME> --connector --force --password <TOKEN> --authenticateOnly
sudo ztedge-client up <TENANTID> <CONNECTORNAME> -authenticateOnly

例)

sudo ztedge-client new jameslab newoffice --connector --force --password cf7f9fe0-3363-11ed-8aa0-8f47b194310c --authenticateOnly
  • 運用開始コマンド
sudo ztedge-client createService <TENANTID> <CONNECTORNAME>.

例)

sudo ztedge-client createService jameslab newoffice

注意

ネットワークコネクターは、51820のアウトバウンドポートアクセスが必要です。

  • サービス開始コマンド
systemctl start ztedge
  • サービス停止コマンド
systemctl stop ztedge
  • プロセスが実行されているかの確認コマンド
ztedge-client status

../../../_images/sc2301_ztna04.jpg

トンネル接続の確認

トンネルがアクティブであることを確認するには、systemctl status ztedge を実行します。

ztedge.serviceが有効であることを確認します。

../../../_images/sc2301_ztna05.jpg

ip addr | grep ztedge を実行し、ztedgeトンネルが存在することを確認することもできます。

../../../_images/sc2301_ztna06.jpg

Ztedge-clientコマンドのオプション

ZTEdgeとの接続の作成と維持

使用法 : ztedge-client [オプション] [コマンド]

  • オプション
    • -V, –version : バージョン番号を出力する。
    • -h, –help : コマンドのヘルプを表示する。
  • コマンド
    • new [options] <cloudId> <user> : 新しいプロファイルを作成し、トンネルを開始します。必要に応じて「sudo」パスワードの入力を求められます。「sudo ztedge-client」で起動した場合、プロファイルはルートユーザのプロファイルフォルダから読み込まれます。

    • up [options] [<cloudId>] [<user>] : 既存のプロファイルを使用してトンネルを開始します。提供された<cloudId>と<user>に基づいて、既存のプロファイルにマッチします。必要に応じて "sudo"パスワードの入力を促されます。 sudo ztedge-client で起動した場合、プロファイルはルートユーザーのプロファイルフォルダから読み込まれます。

    • down [オプション] : 現在実行中のトンネルを停止します。

    • import [options] <file> [<user>] : プロビジョニングポータルが生成した設定ファイルをインポートします。インポート時に認証が行われます。

    • ls [オプション] : 現在利用可能なプロファイルを一覧表示します。

    • status [options] : 現在のトンネルの状態を表示します。

    • createService [options] [<cloudId>] [<user>] : 指定された接続を制御するztedgeという名前のサービスを作成します。このようなサービスは1つしか有効ではありません。このサービスは、sudoなしで作成されたプロファイルにアクセスすることはできません。
      sudo ztedge-client new tenant user [–connector] –authenticate-only と入力してプロファイルを作成します。
      ztedge-client createService でサービスを作成します。
    • help [コマンド] コマンドのヘルプを表示する

ZTNAの構成

設定

設定 説明
クライアントサブネット ZTEdgeクライアントIPアドレスが割り当てられるサブネット範囲 サブネットはCIDR形式で入力
プロキシモード Webプロキシのモードを設定する 明示的
クライアント認証モード 認証モードまたはパスワードレスモードに設定 デバイス
カスタムPACファイルURL 使用するPACファイルのURLを設定する URL
クライアント許可IP トンネリングされるIPアドレスのリスト サブネットを CIDR 形式で入力します。 複数の値はカンマで区切ります
クライアントが許可するIPヒューリスティック クライアントがローカルエリアネットワークにいるかどうかをヒューリスティックに判断する 有効化/無効化
透過型プロキシ 内蔵の透過型プロキシを有効にする 有効化/無効化

../../../_images/sc2301_ztna07.jpg

アドレスの作成

ユーザーがZTEdgeを通じてアクセスするリソースのアドレスを作成します。

ZTNA|アドレスから、新しいアドレスを作成します(+)。

アドレスにわかりやすい名前を付け、ネットワークコネクタから到達可能なIPアドレスを入力します。

../../../_images/sc2301_ztna08.jpg

ZTNAルールの作成

アドレスにアクセスを割り当てるZTNAルールの作成

設定 説明
名称 ルールの説明的な名前を入力します テキスト
優先順位 ルールの優先順位を設定する 優先順位の低いルールが優先される
アクション ルールのアクションテイク 許可/拒否
ソースの種類 発信元トラフィックの種類を選択する 利用可能なソースオブジェクトのリスト
デスティネーションタイプ トラフィックの宛先の種類を選択する 利用可能なデスティネーションオブジェクトのリスト
プロトコル トラフィックのプロトコルを選択する TCP / UDP / ICMP / 任意
ポート トラフィックのポートを設定する テキスト、カンマ(,)で区切られた複数の値
有効化 ルールを有効化または無効化する 右に切り替えると有効になります
ログ有効化 ルールのロギングを有効化または無効化する 右に切り替えると有効になります

../../../_images/sc2301_ztna09.jpg

クライアント姿勢の確認

ポスチャーチェックを設定する

ZTEdgeクライアントが確認するための姿勢チェックを追加する - 1つ以上の姿勢チェックに失敗した場合、ZTEdgeクライアントはユーザーのログインを許可しないようにします。

参考

有効化されたポスチャーチェックは、パスワードレスを含むすべての認証方式で実施されます。

ポスチャーチェックを選択したら、その共通の詳細を設定します。

  • Enabled - ポスチャーチェックの有効・無効を切り替えます。

  • タイプ - 姿勢チェックのタイプを選択し、それぞれの説明は以下の表を参照してください。

  • Name - ポスチャーチェックの説明的な名前です。

  • オペレーティングシステム - ポスチャーチェックで検証するオペレーティングシステムを選択します。

  • ユーザーエラーメッセージ - 姿勢チェックに失敗した場合にユーザーに返されるエラーメッセージ

    ../../../_images/sc2301_ztna10.jpg

注意

複数の姿勢チェックが定義されている場合、ZTEdgeクライアントは接続を許可される前にすべての姿勢チェックに合格する必要があります。


注意

Windows 11クライアントがある環境では、「ウイルススキャナが実行されている」姿勢のチェックは、リストの最後のチェックである必要があります。 最後のチェックでない場合は、削除して再度追加してください。


ポスチャーチェック名 設定するフィールド 説明(これらの条件が成立すれば、姿勢検査は成功する。)
ファイルが存在する ファイル名、オペレーティングシステム 存在を確認するファイルのフルパス (例:C:\PathZTEdge.ini)
ドメインに参加 ドメイン クライアントが所属する必要のあるドメイン(例:ztedge.local)
レジストリキーの一致 パス/バリュー/マッチ 一致するキー値を確認するためのレジストリ内のフルパス
ホストファイルが有効である ホスト名、オペレーティングシステム hosts ファイルで許可されるホスト名のカンマ区切りリスト。リストに他のホストが含まれている場合、このチェックは失敗します (例: %.ZTEdge.local,%.secureplatform.com)
最小ビルド数 ビルド番号 ZTEdgeの実行が許可されるWindowsオペレーティングシステムの最小ビルド番号を指定する整数値です。たとえば、Windows 7 マシンの場合、値 19000 を使用します。
ウイルススキャナの実行 - ウイルススキャナが動作しているかどうかを確認します
証明書がインストールされている 証明書サムプリント、オペレーティングシステム 設定されたサムプリントに一致する証明書がエンドポイントにインストールされているかどうかを確認します。
プロセス実行中 プロセス名、オペレーティングシステム 設定されたプロセス名と一致するプロセスがエンドポイント上で実行されているかどうかを確認します。
プロセスが実行されていない プロセス名、オペレーティングシステム 設定されたプロセス名と一致するプロセスがエンドポイント上で実行されていないかどうかを確認します。

エンドポイントで証明書のサムプリント・ポスチャー・チェックに失敗した場合のエラーメッセージの例。

../../../_images/sc2301_ztna11.jpg

ユーザー デバイス

ZTEdgeテナントに接続したデバイスを表示するには、「ZTNA|Users Devices」にアクセスします。

../../../_images/sc2301_ztna12.jpg

テナントが「パスワードなし」モードの場合、リストからデバイスを選択して削除することで、デバイスを失効させることができます。

../../../_images/sc2301_ztna13.jpg

デバイスを削除すると、ZTEdgeクライアントはそれぞれのデバイスで次回の起動時にログインするようユーザーに促します。

注意

デバイスが無効化された場合、アクティブなセッションには影響しません。 失効は、次の接続時に有効になります。