前回、VMwareのUnified Access Gateway (UAG) 2212をオンプレのvCenter上にデプロイしました。
今回は、デプロイしたUAGにConnection Serverの設定をして、Horizon ClientからVDIへアクセスできるように設定していきます。
前提条件
本手順で使用するUAGの展開条件は以下の通りです。
- デプロイ構成 : Single NIC
- CPU : 2vCPU
- MEM : 4GB
- NIC : 1vNIC
- DISK : 20GB (シンプロビジョニング)
Connection Serverの設定は事前に済んでいる前提となります。
接続の際に使用するSSL証明書はConnection Server側ではなく、UAG側に配置する構成を取ります。
Connection Serverのフィンガープリント取得
UAGを設定する前に、Connection Serverのフィンガープリントを取得する必要があるため、UAGに設定したいConnection Serverのフィンガープリントを取得します。
任意のブラウザでHorizon Administratorにアクセスし、フィンガープリントを事前に取得しておきます。
今回はChromeでやってみます。
Connection Serverに公的な証明書を入れ、SSLのエラーを回避している環境の場合は、Horizon Administratorへアクセス後、URLの鍵マークから、[この接続は保護されています]を押下します。
[セキュリティ]タブに移動するので、[証明書は有効です]を押下します。
Connection Serverに公的な証明書を入れていない場合は、Administratorへアクセス後、URLの鍵マークから、[証明書が無効です]を押下します。
お互い、押下した結果、[証明書]ウィンドウが表示されるため、[詳細]タブを押下します。

[詳細]より、[拇印]のフィールドに入っている値をコピーしておきます。
UAGの設定に必要になるのですが、UAGの拇印の形式は[xx:xx:xx:xx:xx]形式なので、テキストエディタ等で編集しておきます。
UAGのHorizon設定
Connection Serverのフィンガープリントが取得できたら、UAGにConnection Serverの設定を行います。

展開したUAGの管理画面にアクセスし、以下の情報を入力します。
- 管理者ユーザ名 : admin
- 管理者パスワード : 設定したパスワード
管理者ユーザ名については、UAGをデプロイしたい際に設定したユーザ名を入力します。
情報の入力が完了したら、[ログイン]を押下します。

UAGの管理画面にアクセスできたら、[手動構成]より、[選択]を押下します。
UAGは設定のインポートもあるのですが、VMware的にバージョンアップ後の設定のインポートは非推奨っぽいので、できると思いますが今回は手動で設定を行っていきたいと思います。
なお、UAG 2212では設定のインポートはJSON形式でしかインポートできないので、UAGの設定をエクスポートする際は、iniファイルとJSONの両方をエクスポートしておくとよいと思います。

[手動設定]のページより、[全般設定]-[Edgeサービスの設定]のトグルスイッチをONにし、[Horizonの設定]の歯車マークを押下します。

[Horizonの設定]より、[Horizonを有効にする]のトグルスイッチを押下し、ONにします。

Horizonの設定より、Connection Serverの設定を行います。
- 接続サーバURL : Connection ServerのアクセスURLを指定(https://<CSのFQDN>)
- 接続サーバURLのサムプリント : Connection Serverで取得したサムプリント(拇印)を指定
- Connection Serverリダイレクトの優先 : ON (任意)
- 接続サーバのIPアドレスモード : IPv4 (任意のプロトコルを選択)
- クライアント暗号化モード : 許可 (任意)
- 送信元ヘッダーの書き込み : OFF (任意)
Connection Serverリダイレクトの優先については、Connection Serverでホストリダイレクトを有効化している場合は、UAGの[Connection Serverリダイレクトの優先]を有効化したほうが良いみたいです。
Horizon ブローカが HTTP リダイレクト 307 応答コードを送信し、[Connection Server リダイレクトの優先] トグルがオンになっている場合、Unified Access Gateway はセッションの現在および将来の要求に対する 307 応答の「location」ヘッダーで指定された URL と通信します。
Connection Server で [ホスト リダイレクトを有効にする] チェック ボックスがオンになっている場合は、Unified Access Gateway で [Connection Server リダイレクトの優先] トグルをオンにしてください。詳細については、VMware Docs の『Horizon のインストールおよびアップグレード』ガイドの「ホスト リダイレクトを有効にする」を参照してください。
Horizonの設定より引用
クライアント暗号化モードについては、Horizon Client-UAG-Connection Server間で暗号化通信を有効化するかの設定を行います。
古いHorizon Clientを使用している場合、暗号化に対応していない場合があるので、古いバージョンのHorizon Clientを使用している環境の場合、[無効]に設定したほうが無難です。
とはいえ、Horizon Clientも日々アップデートがかかっているので、UAGの設定で暗号化通信を無効化するよりもHorizon Clientのアップデートを行う運用にした方が良いと思います。

Connection Serverの設定を行ったら、PCoIPの設定を行っていきます。
- PCoIPを有効にする : ON (任意)
- PCoIPのレガシー証明書を無効にする : OFF (任意)
- PCoIP外部URL : Connection Serverから外部アクセスするIPとポートを指定(xx.xx.xx.xx:4172)
PCoIPについては、VDIの画面転送プロトコルにPCoIPを使用する場合、ONにしてください。
レガシー証明書を無効にすると古いクライアントが動作しなくなる可能性があるらしいです。
PCoIPの外部URLは、外部から接続する際のグローバルIPとポート番号を指定します。

PCoIPの設定が終わったら、Blastの設定を行います。
- Blastを有効にする : ON (任意)
- Blast外部URL : https://<VDIにアクセスするためのFQDN>:8443
- UDPトンネルサーバを有効にする : ON (任意)
- Blastプロキシ証明書 : なし
- Blastで許可されるホストヘッダーの値 : –
- トンネルを有効にする : ON (任意)
- トンネル外部URL : https://<VDIにアクセスするためのFQDN>:443
Blastの設定ポイントは主に2カ所で、Blast外部URLとUDPトンネルの有効化です。
Blast外部URLについては、Horizon Clientで接続する際のURLを指定してあげます。この際のポートはデフォルトの8443を指定しています。
UDPトンネルについてはネットワークが低速の時にHorizon ClientからUAGに対し、UDPでパケットを飛ばします。この機能を有効にする場合は設定してください。

Blasの設定が完了したら、詳細設定を行っていきます。
[詳細]を押下し、詳細設定を表示します。

UAGの詳細設定が開いたら、詳細の設定を行っていきます。
- エンドポイントコンプライアンスチェックのプロバイダ : なし
- プロキシパターン : –
- プロキシパターンの正規一致を有効にする : ON (任意)
- SAML SP : –
- Windowsユーザ名と一致 : OFF (任意)
- ゲートウェイの場所 : 外部 (任意)
- Connection Serverのログイン前メッセージを表示 : ON (任意)
- 信頼されている証明書 : –
- 応答セキュリティヘッダー : –
- クライアントのカスタマイズ実行ファイル : –
- ホストポートリダイレクトマッピング : –
- ホストエントリ : – (任意)
- HTML Accessを無効にする : OFF (任意)
詳細設定で最低限必要な設定については[ゲートウェイの場所]と[HTML Access]あたりでしょうか。
ゲートウェイの場所については、UAGを外接基盤に置いている場合は、外部を選んでおけばよいと思います。
HTML Accessについては、ブラウザからVDIにアクセスする必要がある場合には有効にしておきます。
HTMLでVDIに接続する機能が不要な場合は無効にしておいた方が無難だと思います。
Horizonの設定が一通りできたら、[保存]を押下します。
Horizonの設定後、Edgeサービスの設定より、[Horizonの設定]がすべて緑色になればHorizonの設定は問題なく設定できています。
UAGの証明書設定
UAGでHorizonの設定が完了したら、UAGのSSL証明書設定を行っていきます。

UAGの設定画面より、[詳細設定]-[TLSサーバ証明書設定]の右にある歯車マークを押下します。

[TLSサーバ証明書設定]より、以下の設定を行います。
- 証明書を適用する対象 : インターネットインターフェース (任意)
- 証明書タイプ : PEM (任意)
- プライベートキー : サーバ証明書の秘密鍵を選択
- 証明書チェーン : サーバ証明書を選択
[証明書を適用する対象]については、今回はインターネットインターフェースを選択していますが、管理インターフェースも対象とする場合は[管理インターフェース]もチェックを入れます。
証明書タイプについては、適用する証明書に合わせて設定してください。
設定が完了したら、[保存]を押下します。
以上で、UAGの証明書設定は完了です。
Syslog設定
これは任意ですが、UAGのSyslog設定を行っていきます。

[詳細設定]より、[Syslogサーバ設定]右側にある歯車マークを押下します。

[Syslogサーバ設定]より、[Syslogエントリを追加]を押下します。

[Syslogサーバ設定]より、以下の設定を行います。
- 名前 : 任意の設定名を入力
- カテゴリ : すべてのイベント or 監査ログのみ
- プロトコル : UDP or TCP
- Syslogにシステムメッセージを含める : ON (任意)
- Syslog URL : SyslogサーバのFQDN:Portを設定
設定が完了したら、[追加]を押下します。

Syslogサーバの設定が完了したら、追加したSyslogサーバがリストに追加されているので、確認します。
以上でSyslogサーバの設定は完了です。
一通り設定が完了したら、Horizon Clientを使用してVDIに接続ができるかなどを確認しましょう。
まとめ
今回はvCenterにデプロイしたUAGの初期設定を行ってみました。
UAGの初期設定については、バージョンアップで大きく変わっていなかったので、比較的簡単に設定ができました。
UAGでSAMLなどの設定を行っていると他の機能との連携や確認が入ってくるので、個人的にはシンプルな構成が良いと思います。
特にUAGなどのアプライアンス系はバージョンアップがインプレースではないので、設定した項目が飛んでしまったり、障害時に立て直しなどもあり得るので、UAGでセキュリティを担保するのではなく、別の場所でセキュリティを担保しつつ、UAGはシンプルに運用するといったことをお薦めします。
おまけ
本ブログではVMwareやWindows、Linuxのインストール手順等も公開しております。
インフラエンジニアとして有益な記事や無益なコンテンツも作成しておりますので、通勤時間や休憩時間、休日のスキマ時間等に合わせて読んでいただけると幸いです。
また、Youtubeで解説動画も鋭意作成中です。本ブログで記事にしているものも動画にしようと思っておりますので、よろしくお願いいたします。
willserverのnoteも開設したのでフォローお願いします。
コメント