2020年5月26日火曜日

RDゲートウェイとしてSPSを使用し、リモートワークのセキュリティ強化

特権IDセッション管理アプライアンス”Safeguard for Privileged Sessions(SPS)”は、リモートデスクトップゲートウェイ(RDゲートウェイ)として動作させることが可能です。


RDゲートウェイとは、インターネットに接続された任意のデバイスから内部あるいはプライベートネットワーク上に配置されたリソースに、認証されたリモートユーザーが接続できるようにするリモートデスクトップの役割サービスです。
RDゲートウェイを利用する主な利点は、次の通りです。
① 転送メカニズムとしてHTTPS(ポート443)を使用
 通常、RDP接続に使用されるポートは3389ですが、セキュリティ上の理由によりブロックされている場合が多いです。HTTPSを使用することで、クライアントからサーバーへのトラフィックを、ファイアウォールを越えてトンネリングして接続します。
② 仮想プライベートネットワーク(VPN)接続の構成が不要
 インターネット経由で、社内のネットワークリソースに簡単にアクセスできます。VPN接続を構成する必要はありません。さらに、HTTPSを使用しているので、暗号化されたセキュアな接続を保証します。
③ ネットワークリソースのアクセス制御が可能
 リモートユーザーに、社内ネットワークリソースごとのアクセス権限を設定できます。ユーザーはすべてのネットワークリソースへのアクセス許可を得るのではなく、権限に応じて必要なリソースへのRDP接続のみを確立します。
④ 二段階認証が可能
 RDゲートウェイで認証後に、ネットワークリソースへの認証を二段階でおこなうことが可能です。特権が付与された共有アカウントを使用しても、任意のユーザー名で一次認証させることで、誰が接続したかを可視化できます。

以下では、SPSを使用したRDゲートウェイの設定手順、および実際にRDP接続した際の動作について説明します。

ローカルユーザーデータベースの作成
RDゲートウェイ認証用のローカルユーザーデータベースを作成します。ローカルユーザーデータベースの作成については、過去記事「SSHリモートアクセスのゲートウェイ認証」も合わせて参照してください。

SPSのWebインターフェースにて、[Policies]>[Local User Databases]に移動し、[+]をクリックして新しいローカルユーザーを作成します。SPSでローカル認証するユーザー名およびパスワードなど入力して[Commit]をクリックします。
※本ブログでは、SPSのローカルユーザーでの認証を説明していますが、Active DirectoryやLDAPなどと連携してユーザー認証することもできます。

ユーザーマッピングポリシーの作成
ユーザーマッピングポリシーを作成します。これは、ゲートウェイ認証時のユーザーとターゲットサーバーにアクセスするためのユーザーが異なる場合に必要です。
(例)ゲートウェイ認証:yamada(任意のユーザー)
   ターゲットサーバーでの認証:Administrator(共有アカウント)

SPSのWebインターフェースにて、[Policies]>[Usermapping Policies]に移動し、[+]をクリックしてユーザーマッピングポリシーを作成します。ここでは、ターゲットサーバー上で任意のユーザー名を許可するのに'*'(アスタリスク)を指定しています。

SPSの自己署名証明書の生成とダウンロード
SPSのWebインターフェースにて、[Policies]>[Signing CAs]に移動し、[+]をクリックして新しいローカルCAを作成します。[Type of Signing CA]で[Local]を選択し、必要なフィールドを入力して、[Generate private key & certificate]をクリックします。[Commit]をクリックします。

ローカルCA証明書をダウンロードします。[CA X.509 certificate]フィールドの横のDNをクリックします。 証明書ウィンドウが表示されるので、[Download]フィールドで証明書をダウンロードする形式をクリックします。

SPSの自己署名証明書のインポート
クライアント端末で”ファイル名を指定して実行”でcertmgr.mscと入力して、証明書マネージャーを開きます。

[信頼されたルート証明機関]>[証明書]を選択して、右クリックしてコンテキストメニューから[すべてのタスク]>[インポート]を選択します。

証明書のインポートウィザードが開きますので、[次へ]をクリックします。

上述でダウンロードしたSPSのローカルCA証明書を選択して、[次へ]をクリックします。

証明書の場所を確認して、[次へ]をクリックします。

確認画面が表示されるので、[完了]をクリックします。

インストールの確認に[はい]をクリックします。

証明書が正しくインストールされると、以下のメッセージが表示されます。

証明書のリストに、SPSのローカルCAがリストされます。

(注)クライアント端末にSPSのサーバー証明書が発行したローカルCAがインストールされていないと、RDP接続時に以下のエラーが発生します。

これは、SPSから提示されたサーバー証明書の発行者(ここでは、jtc-i)が信頼されていなため、その発行者が発行したサーバー証明書も信頼できず、クライアントは接続を拒否するためです。

SPSのエイリアスIPの設定
SPSにエイリアスIPを設定します。リモートデスクトップゲートウェイサーバープロトコルは443を使用しますが、SPSのWebインターフェースも同じ443を使用します。このため、SPSのWebインターフェースと異なるエイリアスIPアドレスで、リモートデスクトップ接続させるためです。

SPSのWebインターフェースにて、[Basic Settings]>[Network]に移動し、[Address]フィールドの[+]をクリックして、SPSのWebインターフェースへのアクセスに使用しているIPアドレスと異なるエイリアスIPアドレスを設定します。下図の例では、SPSのWebインターフェースを192.168.91.169、RDゲートウェイ接続に192.168.91.170(エイリアスIPアドレス)を設定しています。


接続ポリシーの設定
リモートデスクトップゲートウェイとして接続できるように、接続ポリシーを設定します。

SPSのWebインターフェースにて、[RDP Control]>[Connections]に移動し、[+]をクリックして新しい接続ポリシーを作成します。

[To]フィールドにRDゲートウェイ接続を受け付けるIPアドレス(上述で設定したエイリアスIPアドレス)、および[Port]フィールドに443を入力します。
[Targets]フィールドに、ターゲットサーバーのサブネットおよび[Port]フィールドにRDP接続用の3389を入力します。

[Act as a Remote Desktop Gateway]を有効にします。

[Gateway certificate]セクションで[Generate certificate on-the-fly]にチェックし、[Signing CA]に上述で設定したローカルCAを選択し、[Custom Common Name]フィールドに"sps600t1.2016dom.local"を入力します。これは、SPSで生成されたサーバー証明書のコモンネーム(CN)に使用されます。

[Authentication backend]セクションで、[Local User Database]にチェックし、[Domain]フィールドに"2016dom.local"、[Local User Database]に上述で設定したローカルユーザーデータベースを設定します。


[RDP settings]に、ネットワークレベル認証(NLA)を有効にしたRDP設定を適用し、[Usermapping policy]に上述で設定したユーザーマッピングポリシーを適用します。


[Custom Common Name]フィールドに設定した"sps600t1.2016dom.local"にアクセスできるように、クライアント端末のhostsファイルに以下の行を追加します。

192.168.91.170 sps600t1.2016dom.local

この[Custom Common Name]フィールドに設定したコモンネームと、RDPクライアントで設定するRDサーバー名は同じにする必要があります。

例えば、RDゲートウェイサーバー名にIPアドレスを直接入力して接続すると、サーバー証明書の発行先名("sps600t1.2016dom.local")とRDPクライアントで設定したRDゲートウェイサーバー名が異なるため、クラインとは接続を拒否します。




RDPクライアントからRDゲートウェイ接続
リモートデスクトップ接続クライアントを開きます。
オプションを表示し、[詳細設定]タブの[設定]をクリックします。”次のRDゲートウェイサーバー設定を使用する”にチェックし、サーバー名に"sps600t1.2016dom.local"を入力し、ログオン方法は"パスワードを要求する"にします。
”ローカルアドレスににはRDゲートウェイサーバーを使用しない”などのチェックは無効にします。

[全般]タブで、[コンピューター]に接続先のサーバーのホスト名またはIPアドレスを入力(ここでは、192.168.91.46)し、ユーザー名に接続先サーバーにアクセスするユーザー名を入力します。[接続]をクリックします。

RDゲートウェイサーバーで認証するユーザー名とパスワードを入力します。

証明書の確認に[はい]をクリックします。

SPSのRDPログイン画面が表示されます。サーバーのユーザー名を確認し、パスワードを入力して[OK]をクリックします。

再度、証明書の確認ウィンドウが表示されるので、[はい]をクリックします。

SPSのWebインターフェースの[Active Connections]ページで、ゲートウェイユーザーとターゲットサーバーのアクセスユーザーを確認できます。
 ゲートウェイユーザー(USER):yamada
 ターゲットサーバーのアクセスユーザー(REMOTE USER):Administrator

同様に[Search]ページで、ゲートウェイユーザーとターゲットサーバーのアクセスユーザーを確認できます。

(エラーの例)
ユーザーマッピングポリシーで許可されたリモートユーザーと異なるリモートユーザーでアクセスした場合、以下のエラーが発生します


SPSのRDPログイン画面で不正なパスワードでアクセスすると、以下のエラーが表示され接続が終了します。

ゲートウェイ認証時に、不正なパスワードあるいは存在しないユーザー名でアクセスすると、以下のエラーが表示されます。

以上、SPSをRDゲートウェイとして設定し実際の接続例をご説明しましたが、ご理解頂けましたでしょうか?SPSでは評価用のソフトウェアを用意しておりますので、RDゲートウェイとしてのSPSをお試しいただけます。ぜひとも、ご検討ください。

ダウンロード(評価版)

また、SPSはリモートデスクトップ接続時の操作を、監査証跡として記録できます。
さらに、アプライアンス製品として提供されていますので、運用・管理の負荷も軽減できます。

詳しくは製品紹介ページ・製品ガイドをご参照ください。




お問合せ
購入前のSafeguard for Privileged Sessions (SPS)についてのお問合せは以下から承っております。詳細な説明や実機によるデモをご希望される場合も、あわせてお問合せください。