攻撃インジケーターのインストールスクリプト
IoA インストールスクリプトの実行
IoA スクリプトを実行する方法
-
PowerShell を管理者として開き、スクリプトディレクトリに移動し、実行ポリシーを調整して、スクリプトを実行します。
コピー.\Register-TenableIOA.ps1 -
設定に関連するパラメーターを入力します。
パラメーター 説明 GPODisplayName イベントリスナーを登録するタスク作成に使用される GPO の表示名。デフォルトは Tenable.ad です。 TemporaryFolderLocation デプロイメント中の GPO バックアップ保存に使用される一時フォルダー。デフォルトは %TEMP%\Tenable.ad\ です。 DomainControllerAddress デプロイ先のドメインコントローラーの FQDN または IP アドレス。ドメインコントローラーではないサーバーまたはワークステーションからスクリプトを実行する場合に指定します。省略した場合、ドメイン情報はローカルマシンから取得されます。 DomainControllerOU ドメインコントローラーを含む組織単位の識別名。DC がデフォルト OU の外部に移動されている場合に指定します。例: (OU=Domain Controllers,DC=ROOT,DC=DOMAIN)。 TenableServiceAccount Tenable Identity Exposure によって使用されるサービスアカウントの名前。グループポリシーオブジェクトを読み取るための明示的なアクセス許可を必要とします。 Uninstall イベントリスナーと WMI アクティブスクリプトコンシューマーをアンインストールし、イベントログの収集を停止します。デフォルトは false です。 ConfigurationFileLocation GPO 設定の更新に使用されるファイルへのパス。 Target この登録スクリプトの対象となるドメインコントローラーのコンマ区切りリスト。例: ( DC-ROOT1,DC-ROOT2)。このパラメーターは任意です。
ヒント: 使用する場合は、リストに PDCE が含まれていることを確認してください。含まれていない場合、IoA のデプロイメントは失敗します。
CleaningGPODisplayName イベントリスナーと WMI Active Script Consumer を削除するクリーンアップタスク作成に使用される GPO の表示名。デフォルトは Tenable.ad cleaning です。 EventLogsFileWriteFrequency 非 PDCE のドメインコントローラーの DFSR モードでイベントログファイルが生成される頻度 (秒単位)。デフォルトは 15 秒です。最大 300 秒 (5 分) まで設定できます。任意のパラメーターです。 SmbShareLocation 「専用 SMB 共有」モードで PDCE を実行している場合の、SMB 共有ロケーションのディスクパス (絶対)。このフォルダーは Tenable Identity Exposure によって管理されます。デフォルトは C:\Tenable\IdentityExposure\IOALogs です。任意のパラメーターです。 UseXmlEventRender リスナーに対してレガシー XML ベースのイベントレンダリングを有効にします。この方法は、値ベースのレンダラーよりも低速になりますが、安定しています。デフォルトでは無効になっています。
グループポリシーオブジェクト
攻撃インジケーター (IoA) インストールファイルをダウンロードして実行すると、IoA スクリプトにより、デフォルトで Tenable.ad という名前の新しいグループポリシーオブジェクト (GPO) が Active Directory (AD) データベースに作成されます。システムは、その Tenable Identity Exposure GPO を、すべてのドメインコントローラー (DC) を含んでいるドメインコントローラーの組織単位 (OU) にのみリンクします。この GPO の仕組みを使用して、新しいポリシーはすべての DC 間で自動的に複製されます。
GPO に含まれている PowerShell スクリプトを、すべての DC がローカルで次のように実行して、対象データを収集します。
-
このスクリプトは、Windows EvtSubscribe API を使用して、各ドメインコントローラーでイベントログリスナーを設定します。スクリプトは、TenableADEventsListenerConfiguration.json 設定ファイルで指定されているところに従って、必要な各イベントログチャネルのサブスクリプションを作成します。そのために、EvtSubscribe によってトリガーされるリクエストとコールバックを送信して、一致する各イベントログを取得します。
-
イベントリスナーはイベントログを受信してバッファリングしてから、SYSVOL というネットワーク共有に保存されるファイルに定期的にフラッシュします。各 DC は、収集されたイベントを単一の SYSVOL ファイルにフラッシュしてファイル内に保存し、それを他のドメインコントローラーに複製します。
-
リスナーの実行動作: リスナーはスケジュールされたタスクでトリガーされます。その動作は、デプロイメントバージョンによって異なります。
-
オンプレミス
-
v. 3.93 より前: リスナーはコマンドから起動します。
-
v. 3.93 以降: リスナーは Tenable 署名済みの PowerShell スクリプトから実行し、GPO には信頼できる発行元として Tenable 証明書が含まれます。スクリプト実行ポリシーが [制限付き] に設定されていないことを確認してください。
-
-
SaaS (v. 3.102 以降): リスナーは Tenable 署名済みの PowerShell スクリプトから実行し、信頼できる発行元として Tenable 証明書が含まれます。スクリプト実行ポリシーが [制限付き] に設定されていないことを確認してください。
-
重要: Tenable Identity Exposure IOA GPO はリスナーによって自動的に管理されるため、編集しないでください。
-
このスクリプトは、DC の再起動時にイベントサブスクライバーを再登録することによりこのメカニズムが永続的であることを保証する WMI コンシューマーも作成します。WMI は、DC が再起動するたびにコンシューマーに通知し、コンシューマーがイベントリスナーを再登録できるようにします。
-
この時点で分散ファイルシステム (DFS) レプリケーションが発生し、ドメインコントローラー間でファイルを自動的に同期します。DFS の受信レプリケーショントラフィックをリッスンしている Tenable Identity Exposure のプラットフォームは、このデータを使用してイベントを収集し、セキュリティ分析を実行してから、IoA アラートを生成します。
-
専用 SMB 共有
-
イベントリスナーは、イベントログをキャプチャしてバッファリングします。そして、PDCe でホストされている専用 SMB 共有に保存されるファイルに、定期的にフラッシュします。Tenable Identity Exposure は、イベントリスナーを通じてこの SMB 共有を自動的に管理し、保護します。各ドメインコントローラーは、PDCe SMB 上の専用 SMB 共有にある 1 つのファイルに対して書き込みを行います。
-
Tenable Identity Exposure のプラットフォームは、この専用 SMB 共有の更新をリッスンして、イベントデータを収集し、セキュリティ分析を実行し、IoA アラートを生成します。
-
ローカルデータの取得
Windows イベントログには、オペレーティングシステムとアプリケーションで発生したすべてのイベントが記録されます。イベントログは、Windows に統合されたコンポーネントのフレームワークに依存しています。
Tenable Identity Exposure IoA イベントログリスナーは、EvtSubscribe API を使用し、イベントログから有用なイベントログのデータセグメントのみを抽出して、挿入文字列の形式で収集します。Tenable Identity Exposure は、これらの挿入文字列を SYSVOL フォルダーに保存されたファイルに書き込み、DFS エンジンでそれを複製します。これにより、Tenable Identity Exposure はセキュリティ分析を実行して攻撃を検出するのにちょうど良い量のセキュリティ関連データをイベントログから収集します。
IoA スクリプトのサマリー
次の表は、Tenable Identity Exposure スクリプトのデプロイメントの概要を示しています。
| 手順 | 説明 | 関連するコンポーネント | 技術的なアクション |
|---|---|---|---|
| 1 | Tenable Identity Exposure の IoA デプロイメントを登録する | GPO 管理 |
Tenable.ad (デフォルト名) GPO が作成され、ドメインコントローラー OU にリンクされます。 |
| 2 | DC への Tenable Identity Exposure の IoA デプロイメントを始める | DC ローカルシステム | 各 DC で適用する新しい GPO が検出されます (AD のレプリケーションとグループポリシーの更新間隔に応じて異なる)。 |
| 3 | 高度なログ記録ポリシーの状態を制御する | DC ローカルシステム | システムは、レジストリキー HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\SCENoApplyLegacyAuditPolicy を設定することにより、高度なログ記録ポリシーを有効にします。 |
| 4 | ローカルログ記録ポリシーを更新する | DC ローカルシステム | 検出する IoA に応じて、Tenable Identity Exposure は特定の監査ポリシーを動的に生成して有効にします。このポリシーによって既存のログ記録ポリシーが無効になることはありません。必要に応じて情報の付加のみを行います。競合が検出されると、GPO インストールスクリプトが停止し、[Tenable Identity Exposure は監査ポリシー「...」が必要ですが、現在の AD 設定では使用できません] というメッセージが表示されます。 |
| 5 | イベントリスナーと WMI プロデューサーを登録する | DC ローカルシステム | システムは、GPO に含まれるスクリプトを登録して実行します。このスクリプトは、PowerShell プロセスを実行し、EvtSubscribe API を使用してイベントログをサブスクライブし、持続性のために ActiveScriptEventConsumer のインスタンスを作成します。Tenable Identity Exposure は、これらのオブジェクトを使用して、イベントログを受信して内容を保存します。 |
| 6 | イベントログメッセージを収集する | DC ローカルシステム |
|
| 7 | 宣言された DC SYSVOL フォルダーにファイルを複製する | Active Directory | DFS を使用して、AD はドメイン全体、特に宣言された DC でファイルを複製します。Tenable Identity Exposure プラットフォームは各ファイルの通知を受け取り、その内容を読み取ります。 |
| 8 | これらのファイルを上書きする | Active Directory | 各 DC は、定期的にバッファリングされたイベントを自動的かつ継続的に同じファイルに書き込みます。 |
関連項目