はじめに
このドキュメントでは、Cisco Secure Endpoint Identity Persistence(ID)機能の使用方法について説明します。
アイデンティティパーシステンスとは
IDパーシステンスは、仮想環境またはコンピュータのイメージ再作成時に一貫したイベントログを維持できる機能です。コネクタをMACアドレスまたはホスト名にバインドして、新しい仮想セッションが開始されたり、コンピュータが再イメージ化されたりするたびに新しいコネクタレコードが作成されないようにすることができます。この機能は、非永続的なVMおよびラボ環境に特化して設計されています。推奨される方法は、ビジネス全体でのホスト名で、IDを同期するポリシーでこの機能を有効にします。
要件
次の項目に関する知識があることが推奨されます。
- Cisco Secure Endpointsポータルへのアクセス
- Cisco TACに連絡して、組織内でIDパーシステンス機能を有効にしてもらう必要があります。
- ID持続性は、Windowsオペレーティングシステム(OS)でのみサポートされています
アイデンティティパーシステンスが必要な状況
ID持続性は、コネクタの最初の登録時にセキュアエンドポイントの識別に役立つセキュアエンドポイントの機能で、その特定のコネクタのMACアドレスやホスト名などのIDパラメータに基づいて、既知のエントリと照合します。この機能を実装すると、正しいライセンス数を維持できるだけでなく、最も重要な点として、非永続システムで履歴データを適切に追跡できるようになります。
仮想エンドポイントの導入
仮想環境でのID持続性の最も一般的な用途は、非永続的な仮想デスクトップインフラストラクチャ(VDI)の導入です。VDIホストデスクトップ環境は、エンドユーザの要求またはニーズに応じて導入されます。これには、VMware、Citrix、AWS AMI Golden Image Deploymentなどのさまざまなベンダーが含まれます。
永続的VDI(ステートフルVDIとも呼ばれる)は、各ユーザのデスクトップが独自にカスタマイズ可能で、あるセッションから別のセッションまで「持続」する設定です。このタイプの仮想導入では、IDパーシステンスの機能は必要ありません。これは、これらのマシンが定期的に再イメージ化されることはないためです。
セキュアエンドポイントのパフォーマンスと対話する可能性のあるすべてのソフトウェアと同様に、機能を最大化して影響を最小限に抑えるために、仮想デスクトップアプリケーションで除外される可能性について評価する必要があります。
参考:https://docs.vmware.com/en/VMware-Horizon/2103/horizon-architecture-planning/GUID-AED54AE0-76A5-479B-8CD6-3331A85526D2.html
物理エンドポイントの導入
セキュアエンドポイントの物理マシンでのID持続性の導入に適用できるシナリオは2つあります。
- セキュアエンドポイントコネクタがプリインストールされたゴールデンイメージを使用して物理エンドポイントを導入または再イメージ化する場合は、ゴールデンイメージフラグを有効にする必要があります。IDパーシステンスは、再イメージ化されたマシンのインスタンスでの重複を回避するために使用できますが、必須ではありません。
- ゴールデンイメージを含む物理エンドポイントを導入または再イメージ化し、後でセキュアエンドポイントコネクタをインストールする場合、再イメージ化されたマシンのインスタンスで重複を回避するためにID持続性を使用できますが、これは必須ではありません。
アイデンティティー持続性プロセスの概要
- コネクタは、policy.xmlファイル内のトークンを使用してダウンロードされ、クラウド側の問題のポリシーに関連付けられます。
- コネクタがインストールされ、トークンがlocal.xmlに保存されます。コネクタは、問題のトークンを使用してポータルにPOST要求を発行します。
- クラウド側では、次の順序で動作します。
a.コンピュータは、ID同期ポリシー設定のポリシーを確認します。このコマンドを使用しない場合、登録は通常どおり行われます。
b.ポリシー設定に応じて、登録はホスト名またはMACアドレスについて既存のデータベースをチェックします。
企業間:設定に応じて、ホスト名またはMACですべてのポリシーの一致がチェックされます。一致したオブジェクトGUIDが記録され、エンドクライアントマシンに送り返されます。次に、クライアントマシンはUUIDを引き継ぎ、以前に一致したホストのグループ/ポリシー設定を引き継ぎます。これは、インストールされたポリシー/グループ設定を上書きします。
ポリシー間:トークンはクラウド側のポリシーに一致し、そのポリシー内でのみ同じホスト名またはMACアドレスを持つ既存のオブジェクトを検索します。存在する場合は、UUIDを引き受けます。そのポリシーに関連付けられた既存のオブジェクトがない場合、新しいオブジェクトが作成されます。注:他のグループ/ポリシーに関連付けられた同じホスト名に対して重複が存在する可能性があります。
c.トークンの欠落(以前の登録、導入方法の誤りなど)が原因でグループ/ポリシーに一致できない場合、コネクタはbusinessタブのデフォルトのコネクタグループ/ポリシーセットに該当します。グループ/ポリシーの設定に基づいて、一致するすべてのポリシー(ビジネス全体)、問題のあるポリシーのみ(ポリシー全体)、またはまったく一致しないポリシー(なし)を確認しようとします。 これを考慮して、トークンの問題が発生した場合にマシンが正しく同期するように、デフォルトグループを必要なID同期設定を含むグループに設定することを推奨します。
組織内での重複の特定
外部で使用可能なGitHubスクリプト
重複するUUIDの検索:https://github.com/CiscoSecurity/amp-04-find-duplicate-guids
重複が作成される理由
重複が表示される原因となる一般的な例がいくつかあります。
1. VDIプールで次の手順を実行した場合:
- 非永続的VM/VDIでの初期導入は、ID永続性を無効にして行われます(たとえば、ゴールデンイメージを使用)。
- クラウド内でポリシーが更新され、ID持続性が有効になり、日中はエンドポイントでポリシーが更新されます。
- マシンは更新/再イメージ化されます(同じゴールデンイメージを使用)。その後、元のポリシーがアイデンティティ永続化なしでエンドポイントに戻されます。
- ポリシーにはローカルでのアイデンティティ持続性がないため、登録サーバは以前のレコードをチェックしません。
- このフローの結果、重複が発生します。
2. ユーザは、ポリシーでID持続性が有効になっている元のゴールデンイメージを1つのグループに導入し、セキュアエンドポイントポータルからエンドポイントを別のグループに移動します。その後、「moved-to」グループに元のレコードが含まれますが、VMが再イメージ化/再展開されるときに、元のグループに新しいコピーが作成されます。
注:これは重複を引き起こす可能性のあるすべてのシナリオではなく、最も一般的なシナリオの一部です。
誤ったID持続性の導入に関する一般的な問題と症状
IDパーシステンスの実装が正しくない場合は、次のような問題や症状が発生する可能性があります。
- コネクタシート数が正しくない
- 誤ったレポート結果
- デバイストラジェクトリデータの不一致
- 監査ログ内でのマシン名のスワップ
- コネクタはコンソールからランダムに登録および登録解除されます
- コネクタがクラウドに正しくレポートされない
- UUIDの重複
- マシン名の重複
- データの不整合
- 再構成後にコンピューターが既定のビジネスグループ/ポリシーに登録される
-
ポリシーでID持続性を有効にして手動で展開する。
– ポリシーでID永続性が有効になっているコマンドラインスイッチを使用してエンドポイントを手動で展開し、その後エンドポイントをアンインストールして、別のグループ/ポリシーのパッケージを使用して再インストールを試みると、エンドポイントは自動的に元のポリシーに切り替わります。
- SFCログからの出力で、1 ~ 10秒でポリシーの切り替えが自動的に行われたことが示される
(167656, +0 ms) Dec 14 11:37:17 [1308]: Util::VerifyOsVersion: ret 0
(167656, +0 ms) Dec 14 11:37:17 [1308]: ERROR: ETWEnableConfiguration::IsETWEnabled: ETW not initialized due to incompatibile OS
(167656, +0 ms) Dec 14 11:37:17 [1308]: UiPublisher::PublishPolicyInfo: Name -UTMB-WinServer-Protect Serial 819 << ---------------------- Freshly Installed
(167656, +0 ms) Dec 14 11:37:17 [1308]: UiPublisher::PublishLastPolicyUpdateTime: Publish Last Policy Update time 1670439264
(167656, +0 ms) Dec 14 11:37:17 [1308]: UiPublisher::PublishAgentVersion: Agent Version 7.5.7.21234
(167656, +0 ms) Dec 14 11:37:17 [1308]: HeartBeat::PolicyNotifyCallback: EXIT
(167656, +0 ms) Dec 14 11:37:17 [1308]: AmpkitRegistrationHandler::PolicyCallback: EXIT (0)
.
.
.
(173125, +0 ms) Dec 14 11:37:22 [4704]: AmpkitRegistrationHandler::UpdateConfiguration: Enter
(173125, +0 ms) Dec 14 11:37:22 [4704]: AmpkitRegistrationHandler::UpdateConfiguration: Aborting - not registered
(173125, +0 ms) Dec 14 11:37:22 [4704]: AmpkitRegistrationHandler::ConnectionStateChanged: Starting Proxy Discovery
(173125, +0 ms) Dec 14 11:37:22 [4704]: UIPipe::SendPolicyReloaded sending policy reloaded to UI. ui.data.policy.policyName -UTMB-WinServer-Audit << --------- Auto Switch to Old Policy
(173125, +0 ms) Dec 14 11:37:22 [4704]: PipeSend: sending message to user interface: 28, id: 0
(173125, +0 ms) Dec 14 11:37:22 [4704]: UIPipe::SendStatus: notifying UI: No Product
(173125, +0 ms) Dec 14 11:37:22 [4704]: UIPipe::SendStatus: notifying UI: No Product
(173125, +0 ms) Dec 14 11:37:22 [4704]: UIPipe::SendStatus: notifying UI: No Product
(173125, +0 ms) Dec 14 11:37:22 [4704]: UIPipe::SendStatus : engine1 (0, 0), engine2 (0, 0)
(173125, +0 ms) Dec 14 11:37:22 [4704]: PipeSend: sending message to user interface: 1, id: 0
(173125, +0 ms) Dec 14 11:37:22 [4704]: UiStatusHandler::ConnectionStateChangedState: 0
(173125, +0 ms) Dec 14 11:37:22 [4704]: UiPublisher::PublishConnectionStatus: State 0
(173125, +0 ms) Dec 14 11:37:22 [4704]: AmpApiServer.cpp:AmpApiServer::PublishScanAvailable:223: Cloud connection status 0, Tetra Available 0
(173125, +0 ms) Dec 14 11:37:22 [4704]: AmpkitProxyHelper::LoadProxyFromConfig: Enter
(173125, +0 ms) Dec 14 11:37:22 [4704]: AmpkitProxyHelper::LoadProxyFromConfig proxy server is NULL
(173125, +0 ms) Dec 14 11:37:22 [4704]: AmpkitProxyHelper::LoadProxyFromConfig: Direct connection detected
(173125, +0 ms) Dec 14 11:37:22 [4704]: AmpkitProxyHelper::LoadProxyFromConfig: Exit(1)
(173125, +0 ms) Dec 14 11:37:22 [4704]: UiAgentGuidUpdater::ConnectionStateChanged
(173125, +0 ms) Dec 14 11:37:22 [4704]: UiAgentGuidUpdater::RefreshAgentGuidUi: Agent GUID: e1a756e2-65ab-4cd6-a886-ff826d74f05d
(173125, +0 ms) Dec 14 11:37:22 [4704]: UiPublisher::PublishAgentGuid: Agent GUID did not change (e1a756e2-65ab-4cd6-a886-ff826d74f05d)
(173125, +0 ms) Dec 14 11:37:22 [4704]: AmpkitSubscriptionThread::NotificationWorker: Waiting on queue
別のグループに属するコネクタをインストールしようとすると、もう1つの副作用が発生します。ポータルには、コネクタが正しいグループに割り当てられていても、元のポリシーが「誤った」ことが表示されます
これは、ID持続性(ID SYNC)の動作の仕組みによるものです。
ID SYNCを使用しない場合、コネクタが完全にアンインストールされるか、コマンドラインスイッチの再登録を使用してアンインストールされます。アンインストールの場合は新しい作成日とコネクタGUIDが表示され、再登録コマンドの場合は新しいコネクタGUIDのみが表示されます。ただし、ID SYNCが使用できない場合、ID SYNCは古いGUIDとDATEで上書きされます。これがホストを「同期」する方法です
この問題が発生する場合は、ポリシーの変更を通じて修正を実装する必要があります。影響を受けるエンドポイントを元のグループ/ポリシーに戻し、ポリシーが同期されていることを確認する必要があります。次に、エンドポイントを目的のグループ/ポリシーに戻します
導入のベストプラクティス
snapvolファイルの構成
VDIインフラストラクチャにアプリケーションボリュームを使用する場合は、snapvol.cfg設定に以下の設定変更を行うことをお勧めします
これらの除外をsnapvol.cfgファイルに実装する必要があります。
Paths:
- C:\Program Files\Cisco\AMP
- C:\ProgramData\Cisco
- C:\Windows\System32\drivers
- C:\Windows\System32\drivers\ImmunetNetworkMonitor.sys
- C:\Windows\System32\drivers\immunetprotect.sys
- C:\Windows\System32\drivers\immunetselfprotect.sys
- C:\Windows\System32\drivers\ImmunetUtilDriver.sys
- C:\Windows\System32\drivers\trufos.sys
レジストリキー:
- HKEY_LOCAL_MACHINE\SOFTWARE\Immunet保護
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Immunet保護
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\CiscoAMP
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CiscoAMPCEFWDriver
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CiscoAMPELAMDriver
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CiscoAMPHeurDriver
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CiscoOrbital
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CiscoSAM
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CiscoSCMS
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ImmunetProtectDriver
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ImmunetSelfProtectDriver
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Trufos
x64システムで、次のコマンドを追加します。
- HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Immunet保護
- HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Immunet保護
参照:
ポータルポリシーの計画
セキュアエンドポイントポータルでID持続性を実装する際に従う必要があるベストプラクティスの一部を次に示します。
1. 分離を容易にするために、ID永続化エンドポイントに対して個別のポリシー/グループを使用することを強くお勧めします。
2. エンドポイントの分離を使用して、セキュリティ侵害の際にコンピュータをグループに移動するアクションを実装する場合。また、宛先グループではID持続性が有効になっている必要があり、VDIコンピュータでのみ使用する必要があります。
3. 組織のデフォルトのグループ/ポリシーでID持続性を有効にすることは、すべてのポリシーでID持続性が有効になっていて、設定のスコープが「組織間」でない場合は推奨されません。
コンフィギュレーション
ID持続性を使用してセキュアエンドポイントコネクタを導入するには、次の手順を実行します。
ステップ 1:目的のID持続性の設定をポリシーに適用します。
- セキュアエンドポイントポータルで、Management > Policiesの順に移動します。
- ID持続性を有効にするポリシーを選択し、Editをクリックします。
- Advanced Settingsタブに移動し、下部にあるIdentity Persistenceタブをクリックします。
- 「アイデンティティー持続性」ドロップダウンを選択し、環境に最も適したオプションを選択します。次の図を参照してください。
テスト – 123
5つのオプションから選択できます。
注:ID持続性を使用する場合は、ビジネスまたはポリシー全体でホスト名別を使用することを推奨します。マシンには1つのホスト名がありますが、複数のMACアドレスを設定でき、複数のVMでMACアドレスを複製できます。
ステップ 2:セキュアエンドポイントコネクタをダウンロードします。
- Management > Download Connectorの順に移動します。
- ステップ1で編集したポリシーのグループを選択します。
- 図に示すように、Windows ConnectorのDownloadをクリックします。
ステップ 3:コネクタをエンドポイントに導入します。
- ダウンロードしたコネクタを使用して、エンドポイントにSecure Endpoint(IDの持続性が有効になりました)を手動でインストールできるようになりました。
- それ以外の場合は、ゴールデンイメージを使用してコネクタを展開することもできます(図を参照)
注:再配布可能インストーラを選択する必要があります。これは、32ビットと64ビットの両方のインストーラを含む約57 MBのファイルです(サイズは新しいバージョンによって異なる場合があります)。コネクタを複数のコンピュータにインストールするには、このファイルをネットワーク共有に配置するか、すべてのコンピュータにプッシュします。インストーラには、インストール用のコンフィギュレーションファイルとして使用されるpolicy.xmlファイルが含まれています。
ゴールデンイメージの作成
VDIクローニングプロセスに使用するゴールデンイメージを作成する際は、ベンダードキュメント(VMware、Citrix、AWS、Azureなど)のベストプラクティスガイドラインに従ってください。
たとえば、VMware Golden Image Process:https://docs.vmware.com/en/VMware-Horizon/2106/virtual-desktops/GUID-D9C46AEF-1C41-4711-BF9E-84362EBE6ABF.htmlを参照してください。
VMwareを特定したため、AWSコンポジションプロセスはVM構成の最終化の前にクローン(子VM)を複数回再起動します。これにより、クローン(子VM)に最終的なホスト名が割り当てられず、クローン(子VM)がゴールデンイメージホスト名を使用してセキュアエンドポイントクラウドに登録されるため、セキュアエンドポイント登録プロセスに問題が発生します。これにより、クローン作成プロセスが中断され、問題が発生します。
これは、セキュアエンドポイントコネクタプロセスの問題ではなく、クローニングプロセスおよびセキュアエンドポイント登録との非互換性の問題です。この問題を回避するために、クローン作成プロセスに実装する必要のある変更をいくつか特定しました。この変更は、これらの問題の解決に役立ちます。
以下は、イメージをフリーズしてクローンを作成する前に、ゴールデンイメージVMに実装する必要がある変更です
1. セキュアエンドポイントのインストール時には、常にゴールデンイメージのGoldenimageフラグを使用します。
2. 「ゴールデンイメージ設定スクリプト」および「ゴールデンイメージ起動スクリプト」セクションを実装し、クローン(子VM)に最終ホスト名が実装されている場合にのみエンドポイントサービスをオンにするのに役立つスクリプトを見つけます。詳細については、「VMware Horizon Duplication Issues」のセクションを参照してください。
ゴールデンイメージ上書きフラグ
インストーラを使用する場合、ゴールデンイメージに使用するフラグは/goldenimage 1です。
ゴールデンイメージフラグは、ベースイメージでのコネクタの開始と登録を防ぎます。そのため、イメージの次の起動時に、コネクタは、割り当てられたポリシーによって設定された機能状態になります。
その他のフラグの詳細については、この記事を参照してください。
インストーラを使用する場合、ゴールデンイメージに使用する新しいフラグは/goldenimage [1|0]です
0(デフォルト値):この値ではゴールデンイメージオプションはトリガーされず、インストーラがオプションなしで実行されたかのように動作します。インストール時に初期コネクタの登録と起動をスキップしないでください。
C:\> CiscoInstaller_goldenimage.exe /R /S /goldenimage 0 [other options…]
1 – ゴールデンイメージとしてインストールします。これはフラグとともに使用される一般的なオプションであり、予期される唯一の使用法です。インストール時にコネクタの初期登録と起動をスキップします。
C:\> CiscoInstaller_goldenimage.exe /R /S /goldenimage 1 [other flags here…]
ゴールデンイメージの作成手順
コネクタは、ゴールデンイメージの準備のために最後に取り付けることをお勧めします。
- Windowsイメージを要件に合わせて準備します。必要なすべてのソフトウェアと、コネクタ以外のWindowsイメージ用の構成をインストールします。
- Cisco Secure Endpointコネクタをインストールします。
/goldenimage 1フラグを使用して、これがゴールデンイメージの導入であることをインストーラに示します。
C:\> CiscoInstaller_goldenimage.exe /R /S /goldenimage 1
3.ここで説明されているスクリプトロジックを(必要に応じて)実装します
4. インストールの完了
5. ゴールデンイメージをフリーズする
ゴールデンイメージにアプリケーションがインストールされ、システムが準備され、セキュアエンドポイントが/goldenimageflagを使用してインストールされた後、ホストはフリーズして配布できる状態になります。複製されたホストが起動すると、Secure Endpointが起動し、クラウドに登録されます。コネクタの設定に関しては、ポリシーまたはホストに変更を加える場合を除き、これ以上の操作は必要ありません。ゴールデンイメージの登録が完了した後に変更が行われた場合は、このプロセスを再起動する必要があります。 このフラグは、コネクタが開始されてベースイメージに登録されるのを防ぎます。イメージの次の起動時に、コネクタは、割り当てられたポリシーによって設定された機能状態になります。
注:ゴールデンイメージがSecure EndpointCloudに登録されてからVMをフリーズできる場合は、ゴールデンイメージVM上のSecure Endpointをアンインストールして再インストールし、登録やコネクタの重複の問題を防ぐためにVMを再度フリーズすることをお勧めします。このアンインストール処理の一部として、セキュアエンドポイントのレジストリ値を変更することは推奨されません。
ゴールデンイメージの更新
未登録のコネクタを保持するためにゴールデンイメージを更新する必要がある場合は、2つのオプションがあります。
推奨されるプロセス
- コネクタをアンインストールします。
- ホストの更新またはアップグレードをインストールします。
- ゴールデンイメージの処理の後に、ゴールデンイメージフラグを使用してコネクタを再インストールします。
- プロセスに従った場合、ホストはコネクタを起動すべきではありません。
- イメージをフリーズします。
- クローンを作成する前に、不要な重複ホストを防ぐために、ゴールデンイメージがポータルに登録されていないことを確認します。
代替プロセス
- コネクタが登録されないように、ホストがインターネットに接続できないことを確認します。
- コネクタサービスを停止します。
- 更新プログラムをインストールします。
- 更新が完了したらイメージをフリーズする
- 重複ホストが発生しないようにするため、コネクタの登録を防止する必要があります。接続を解除すると、クラウドへの登録にアクセスできなくなります。また、停止されるコネクタは、次のリブートまで状態を維持し、クローンを一意のホストとして登録します。
- クローンを作成する前に、不要な重複ホストを防ぐために、ゴールデンイメージがポータルに登録されていないことを確認します。
ゴールデンイメージコード
このセクションは、ゴールデンイメージプロセスのサポートに役立ち、ID持続性の実装時にコネクタの重複を防止するのに役立つコードスニペットで構成されます。
ゴールデンイメージのセットアップスクリプト
セットアップスクリプトの説明
最初のスクリプト「Setup」は、クローンを作成する前にゴールデンイメージで実行されます。一度だけ手動で実行する必要があります。主な目的は、クローン仮想マシン上で次のスクリプトを正常に動作させるための初期設定を確立することです。次の設定があります。
- Cisco Secure Endpointサービスのスタートアップを手動に変更して、自動起動を回避する。
- システムの起動時に、最高の権限で次のスクリプト(Startup)を実行するスケジュールされたタスクを作成します。
- ゴールデンイメージのホスト名を格納する「AMP_GOLD_HOST」というシステム環境変数を作成します。これは、変更を元に戻す必要があるかどうかを確認するために、スタートアップスクリプトによって使用されます
セットアップスクリプトコード
rem Turn AMP to manual start
sc config CiscoAMP start=demand
rem Add host name to a system variable that we can check on startup
setx -m AMP_GOLD_HOST %COMPUTERNAME%
rem Add the startup script to the startup scripts
rem /rp password when there is a password
schtasks /create /tn "Startamp" /tr "C:\Users\XXXXXX\Desktop\VMWareHorizonAMPStartup.bat" /sc onstart /rl highest /np
セットアップスクリプトコードは非常に単純です。
品目2:マルウェア防御サービスの起動タイプを手動に変更。
5行目:「AMP_GOLD_HOST」という新しい環境変数を作成し、現在のコンピュータのホスト名をその環境変数に保存します。
9行目:パスワードを必要とせずに、システムの起動中に最高の特権で指定された「Startup」スクリプトを実行する「Startamp」という名前のスケジュールタスクを作成します。
ゴールデンイメージ起動スクリプト
起動スクリプトの説明
2番目のスクリプト「Startup」は、複製された仮想マシン上の各システム起動で実行されます。主な目的は、現在のマシンが「ゴールデンイメージ」のホスト名を持っているかどうかを確認することです。
- 現在のマシンがゴールデンイメージの場合、アクションは実行されず、スクリプトは終了します。スケジュールされたタスクが維持されるため、セキュアエンドポイントはシステムの起動時に動作を継続します。
- 現在のマシンが「Golden」イメージでない場合、最初のスクリプトによる変更はリセットされます。
- Cisco Secure Endpointサービスのスタートアップ設定を自動に変更する
- Cisco Secure Endpointサービスを開始しています。
- 「AMP_GOLD_HOST」環境変数を削除しています。
- 起動スクリプトを実行するスケジュールされたタスクと、スクリプト自体を削除する。
起動スクリプトコード
echo "Current hostname: %COMPUTERNAME% vs %AMP_GOLD_HOST%"
if "%COMPUTERNAME%" == "%AMP_GOLD_HOST%" ( goto same ) else ( goto notsame )
:same
rem Do nothing as we are still the golden image name
goto exit
:notsame
rem Turn AMP to autostart
sc config CiscoAMP start=auto
rem Turn on AMP
sc start CiscoAMP
rem Remove environment variable
REG delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /F /V AMP_GOLD_HOST
schtasks /delete /tn Startamp
goto exit
:exit
2行目:現行のホスト名と格納されている「AMP_GOLD_HOST」値を比較します。これらが同じ場合、スクリプトは「same」ラベルにジャンプし、異なる場合は「notsame」ラベルにジャンプします。
行4-6:「same」ラベルに到達すると、スクリプトはゴールデンイメージのままであるため何も行わず、「exit」ラベルに進みます。
行8-16:「notsame」ラベルに到達すると、スクリプトは次のアクションを実行します。
- マルウェア防御サービスのスタートアップの種類を自動に変更します。
- マルウェア防御サービスを開始します。
- 環境変数「AMP_GOLD_HOST」を削除します。
- 「Startamp」という名前のスケジュールされたタスクを削除します。
注:このドキュメントに記載されているスクリプトは、TACでは正式にサポートしていません。
注:この2つのスクリプトにより、クローン仮想マシン環境でCisco AMPサービスを起動できます。ゴールデンイメージを適切に設定し、起動スクリプトを使用することで、Cisco Secure Endpointは、正しい設定を使用してすべてのクローン仮想マシン上で動作します。
AWSワークスペースプロセス
このソリューションは、クローニング前にゴールデンイメージで実行される「セットアップ」スクリプトと、システムの起動時にクローニングされた各仮想マシンで実行される「起動」スクリプトで構成されます。これらのスクリプトの主な目的は、手動による介入を減らしながらサービスを適切に設定することです。この2つのスクリプトにより、クローン仮想マシン環境でCisco Secure Endpointサービスを起動できます。ゴールデンイメージを適切に設定し、起動スクリプトを使用することで、Cisco Secure Endpoint Connectorは、正しい設定を持つすべてのクローニングされた仮想マシン上で動作します
AWS Workspaceにゴールデンイメージを実装するために必要なスクリプトコードについては、「ゴールデンイメージ設定スクリプトコード」および「ゴールデンイメージ起動スクリプトコード」のセクションを参照してください。
セットアップスクリプトの実行後、設定変更が正常に導入されたことを確認できます。
ゴールデンイメージでこのアクションを実行したので、すべての新しいインスタンスにこの設定が含まれ、スタートアップ時にスタートアップスクリプトが実行されます。
VMware Horizon Duplicationの問題
VMware Horizonでは、子VMマシンの作成時に、Horizon構成プロセスの一環として子VMマシンが何度も再起動されることが確認されました。これは、子VMの準備ができていない(最終的な正しいNetBios名が割り当てられていない)ときに、セキュアエンドポイントサービスが有効になるという問題を引き起こします。これにより、セキュアエンドポイントがさらに混乱し、プロセスが中断する問題が発生します。この問題を回避するために、Horizon Processとの非互換性の解決策を考え出しました。これには、ゴールデンイメージVM上に添付スクリプトを実装し、VMware Horizon用の同期後スクリプト機能を使用する作業が含まれます。https://docs.vmware.com/en/VMware-Horizon/2103/published-desktops-applications.pdf
不要な構成/変更
- 最初の展開後にゴールデンイメージに変更を加える場合は、Secure Endpointをアンインストールして再インストールする必要はありません。
- セキュアエンドポイントサービスを遅延開始に設定する必要はありません。
スクリプトの方法
スクリプトの例は、次のとおりです。
- ゴールデンイメージ設定スクリプト:このスクリプトは、セキュアエンドポイントコネクタがインストールされた後に、前述のフラグを使用して実装する必要があります。このスクリプトは、セキュアエンドポイントサービスを手動起動に変更し、次の手順で参照できるように、ゴールデンイメージのホスト名を環境変数として保存します。
VMware Horizonの設定
- ゴールデンイメージVMが準備され、プールの初期導入に必要なすべてのアプリケーションがVMにインストールされます。
- セキュアエンドポイントは、goldenimageフラグを含めるために、このコマンドライン構文でインストールされます。たとえば、<ampinstaller.exe> /R /S /goldenimage 1のようになります。ゴールデンイメージフラグは、このプロセスが正常に動作するために不可欠な再起動まで、セキュアエンドポイントサービスが実行されないことを保証します。https://www.cisco.com/c/en/us/support/docs/security/sourcefire-fireamp-endpoints/118587-technote-fireamp-00.html を参照してください。
- セキュアエンドポイントのインストール後、最初にゴールデンイメージVMでVMWareHorizonAMPSetup.batスクリプトを実行します。基本的に、このスクリプトはセキュアエンドポイントサービスを手動開始に変更し、後で使用するためにゴールデンイメージのホスト名を保存する環境変数を作成します。
- VMWareHorizonAMPStartup.batをゴールデンイメージVM上のユニバーサルパス(C:\ProgramDataなど)にコピーする必要があります。これは、後の手順で使用します。
- これで、ゴールデンイメージVMをシャットダウンし、VMware Horizonで組版プロセスを開始できます。
- これは、VMware Horizonの観点から見た手順の詳細な情報です。
「Automated Desktop Pool」の選択
https://docs.vmware.com/en/VMware-Horizon/2106/virtual-desktops/GUID-6C3AB7F3-0BCF-4423-8418-30CA19CFC8FC.htmlを参照してください。
「インスタント・クローン」の選択
https://docs.vmware.com/en/VMware-Horizon-7/7.13/virtual-desktops/GUID-D7C0150E-18CE-4012-944D-4E9AF5B28347.htmlを参照してください。
「フローティング」タイプの選択
https://docs.vmware.com/en/VMware-Horizon-Cloud-Service-on-IBM-Cloud/21.1/horizoncloudhosted.deploy/GUID-34C260C7-A63E-452E-88E9-6AB63DEBB416.htmlを参照してください。
デスクトッププール名
VMware Horizon命名パターン:https://docs.vmware.com/en/VMware-Horizon/2103/virtual-desktops/GUID-26AD6C7D-553A-46CB-B8B3-DA3F6958CD9C.html
ゴールデンイメージ:これは実際のゴールデンイメージVMです。
スナップショット:子VMを導入するために使用するイメージです。これは、変更を加えてゴールデンイメージを更新したときに更新される値です。その他は、VMware環境固有の設定の一部です。
7. 前述のように、ウィザードのステップ10.で、スクリプトパスを設定します。
8. 完了して送信すると、VMware Horizonが構成を開始し、子VMが作成されます。
注:これらの手順の詳細については、VMwareのガイドを参照してください。手順については説明を参照してください。
重複するエントリの削除
コネクタの重複エントリを削除する方法はいくつかあります。
1. セキュアエンドポイントポータルの自動削除機能を使用して、重複した(非アクティブな)エントリを削除します。
この設定はAdmin > Organization Settingsにあります
非アクティブコンピュータしきい値では、コネクタがコンピュータ管理ページのリストから削除されるまでの日数を、シスコクラウドにチェックインせずに指定できます。デフォルト設定は90日です。非アクティブなコンピューターは一覧からのみ削除され、生成されたイベントはセキュリティで保護されたエンドポイント組織に残ります。コネクタが再びチェックインすると、コンピュータが一覧に再び表示されます。
2. 利用可能なオーケストレーションワークフローの利用:https://ciscosecurity.github.io/sxo-05-security-workflows/workflows/secure-endpoint/0056-remove-inactive-endpoints
3. 外部で利用可能なスクリプトを使用して、古い/古いUUIDを削除します:https://github.com/CiscoSecurity/amp-04-delete-stale-guids