Windows内部
はじめに
サーバーエージェントをインストールしてサーバーを登録すると、サーバーエージェントは、関連プロジェクトの一部であるAdvanced Server Accessの全ユーザーのローカルサーバーアカウントを作成します。Windowsでは、接続がアクティブにならない限り、これらのアカウントは無効になっています。
Windowsでは、RDP(リモートデスクトッププロトコル)接続のプロキシは、関連するアクセスブローカープロセスが行います。ポート4421を使ってサーバーへのRDP接続を正常に行うには、このプロセスが必要です。詳しくは、「アクセスブローカーのオプション」をご覧ください。
サーバー構成
Windowsでは、Advanced Server AccessのサーバーエージェントはLocalSystemアカウントで実行されます。構成ファイルを手動で作成することで、Advanced Server Access のサーバーエージェントを制御できます。Windowsでは、このファイルを次の場所に手動で作成する必要があります:C:\Windows\System32\config\systemprofile\AppData\Local\scaleft\sftd.yaml 詳しくは、「Advanced Server Accessのサーバーエージェントを構成する」をご覧ください。
接続・認証
WindowsサーバーへのRDP接続を開くと、Advanced Server Accessのクライアントは、Advanced Server Access、任意のBastion (踏み台)またはゲートウェイ、サーバーで稼働しているアクセスブローカーサービスに関連するいくつかのアクションを実行します。
- クライアントはAdvanced Server Accessと通信して短時間のみ有効な資格情報を受け取ります。ネットワークトポロジによっては、クライアントは中間のBastion (踏み台)またはゲートウェイサーバーを通る暗号化されたトンネルを構築する場合があります。
- クライアントは、サーバーで稼働しているアクセスブローカープロセスに接続し、短時間のみ有効な証明書を使って認証します。
- クライアントは、Advanced Server Accessから供給される情報と照合して、ホスト証明書を認証します。これは、中間者攻撃からの防御に役立ちます。
- クライアントはサーバー上の関連アカウントへのアクセスを要求します。サーバー上で、アクセスブローカーはアカウントを有効にするための要求をサーバーエージェントに送信します。
- クライアントは、アクセスブローカーを介してプロキシされたRDP接続をネゴシエートします。
- クライアントはクライアントデバイス上のランダムポートのTCPサーバーを開始します。通信は、アクセスブローカーを経由して、サーバーで稼働しているRDPサービスにプロキシされます。
- RDPクライアントはローカルTCPポートに接続し、サーバー上のRDPサービスに転送されます。
RDPクライアントは自動的にユーザーとして認証します。
サーバー接続
RDP接続は、rdp
コマンド(sft rdp <server-name>
)を使って開くことができます。1つ以上のBastion (踏み台)をトラバースする必要があるときは、--via
arguments: sft rdp --via <first.bastion> --via <second.bastion> <server>
を含めることができます。詳しくは、「Advanced Server Accessのクライアントを使用する」をご覧ください。
Windows RDPクライアントに接続すると、タイトルバーにループバックIPアドレス(例:127.0.0.1)が表示されます。
パス
Advanced Server Accessのサーバーエージェントのインストールに関する情報は、AppData\Local\フォルダに保存されます。
- ステートディレクトリ:
C:\Windows\System32\config\systemprofile\AppData\Local\scaleft
- 構成ファイル:
C:\Windows\System32\config\systemprofile\AppData\Local\scaleft\sftd.yaml
注:構成ファイルは手動で作成する必要があります。 - ログディレクトリ:
C:\Windows\System32\config\systemprofile\AppData\Local\scaleft\Logs
注:ログファイルは5MBごとにローテーションされ、最新のログファイル10個のみが保存されます。 - 登録トークン:
C:\Windows\System32\config\systemprofile\AppData\Local\scaleft\enrollment.token