このページでは、Security Command Center の検出結果、アセット、監査ログ、セキュリティ ソースを IBM QRadar に自動的に送信する方法について説明します。また、エクスポートされたデータの管理方法についても説明します。QRadar は、1 つ以上のソースからセキュリティ データを取り込み、セキュリティ チームがインシデントへの対応を管理してリアルタイム分析を行えるセキュリティ情報イベント管理(SIEM)プラットフォームです。
このガイドでは、必要な Security Command Center と Google Cloud サービスが適切に構成されていることを確認し、QRadar が Security Command Center 環境の検出結果、監査ログ、アセットにアクセスできるようにします。
始める前に
このガイドでは、QRadar(v7.4.1 Fix Pack 2 以降)を使用していることを前提としています。QRadar を使用するには、QRadar に登録するをご覧ください。
認証と認可を構成する
QRadar に接続する前に、接続する Google Cloud 組織ごとに Identity and Access Management(IAM)サービス アカウントを作成し、Google SCC App for QRadar に必要な組織レベルとプロジェクト レベルの両方の IAM ロールをアカウントに付与する必要があります。
サービス アカウントの作成と IAM ロールの付与
次の手順では、Google Cloud コンソールを使用します。その他の方法については、このセクションの最後にあるリンクをご覧ください。
Security Command Center データをインポートする Google Cloud 組織ごとに、次の操作を行います。
- Pub/Sub トピックを作成するプロジェクトと同じプロジェクトで、Google Cloud コンソールの [サービス アカウント] ページを使用してサービス アカウントを作成します。手順については、サービス アカウントの作成と管理をご覧ください。
サービス アカウントに次のロールを付与します。
- Pub/Sub 編集者(
roles/pubsub.editor
)
- Pub/Sub 編集者(
作成したサービス アカウントの名前をコピーします。
Google Cloud コンソールのプロジェクト セレクタを使用して、組織レベルに切り替えます。
組織の [IAM] ページを開きます。
IAM ページで、[アクセス権を付与] をクリックします。[アクセス権を付与] パネルが開きます。
[アクセス権を付与] パネルで、次の操作を行います。
- [プリンシパルの追加] セクションの [新しいプリンシパル] フィールドに、サービス アカウントの名前を貼り付けます。
[ロールの割り当てる] セクションの [ロール] フィールドで、サービス アカウントに次の IAM ロールを付与します。
- セキュリティ センター管理編集者(
roles/securitycenter.adminEditor
) - セキュリティ センター通知構成編集者(
roles/securitycenter.notificationConfigEditor
) - 組織閲覧者(
roles/resourcemanager.organizationViewer
) - Cloud Asset 閲覧者(
roles/cloudasset.viewer
)
- セキュリティ センター管理編集者(
[保存] をクリックします。セキュリティ アカウントは、[IAM] ページの [権限] タブにある [プリンシパル別に表示] に表示されます。
また、継承により、サービス アカウントは組織のすべての子プロジェクトのプリンシパルにもなり、プロジェクト レベルで適用されるロールが、継承されたロールとしてリストされます。
サービス アカウントの作成とロールの付与の詳細については、次のトピックをご覧ください。
認証情報を QRadar に提供する
QRadar をホストする場所に応じて、IAM 認証情報を QRadar に指定する方法は異なります。
Google Cloud で QRadar のデプロイをホストしている場合は、次の点を考慮してください。
作成したサービス アカウントとそれに付与した組織レベルのロールは、親組織から継承することで自動的に使用できるようになります。複数の Google Cloud 組織を使用している場合は、このサービス アカウントを他の組織に追加し、サービス アカウントを作成して IAM のロールを付与するの手順 5~7 で説明されている IAM のロールを付与します。
QRadar をサービス境界にデプロイする場合は、上り(内向き)ルールと下り(外向き)ルールを作成します。手順については、VPC Service Controls で境界へのアクセス権を付与するをご覧ください。
オンプレミス環境または IBM Cloud で QRadar をホストしている場合は、Google Cloud 組織ごとにサービス アカウント キーを作成します。このガイドを完了するには、JSON 形式のサービス アカウント キーが必要です。
Microsoft Azure またはアマゾン ウェブ サービス(AWS)で QRadar をホストしている場合は、Workload Identity 連携を構成して、認証情報の構成ファイルをダウンロードします。複数の Google Cloud 組織を使用している場合は、このサービス アカウントを他の組織に追加し、サービス アカウントを作成して IAM のロールを付与するの手順 5~7 で説明されている IAM のロールを付与します。
通知を構成する
Security Command Center データをインポートする Google Cloud 組織ごとに、次の操作を行います。
- 次のように検出結果の通知を設定します。
- Security Command Center API を有効にします。
- 目的の検出結果とアセットをエクスポートするフィルタを作成します。
- 3 つの Pub/Sub トピックを作成します。検出結果、監査ログ、アセットに 1 つずつ作成します。
NotificationConfig
では、検出用に作成した Pub/Sub トピックを使用する必要があります。
組織レベルのログを照合してサポートされている宛先に転送するの説明に従って、監査ログのシンクを作成します。シンクは、監査ログ用に作成した Pub/Sub トピックを使用する必要があります。次に例を示します。
gcloud logging sinks create SINK_NAME /SINK_DESTINATION --include-children / --organization=ORGANIZTION_ID / --log-filter=FILTER
次のように置き換えます。
SINK_NAME は、監査ログシンクの名前に置き換えます。
SINK_DESTINATION は
pubsub.googleapis.com/projects/PROJECT_ID/topic/TOPIC_ID
に置き換えます。ORGANIZATION_ID は、組織の ID に置き換えます。
FILTER は
logName:activity
、logName:data_access
、logName:system_event
、またはlogName:policy
に置き換えます。
シンクのサービス アカウントに Pub/Sub パブリッシャー(
roles/pubsub.publisher
)ロールを付与します。プロジェクトで Cloud Asset API を有効にします。
アセットにフィードを作成します。同じ Pub/Sub トピックに、リソース用と Identity and Access Management(IAM)ポリシー用の 2 つのフィードを作成する必要があります。
- アセットの Pub/Sub トピックは、検出結果に使用するものとは別にする必要があります。
- リソースのフィードに
content-type=resource
フィルタを使用します。 - IAM ポリシー フィードの場合は、
content-type=iam-policy --asset-types="cloudresourcemanager.googleapis.com/Project"
フィルタを使用します。
QRadar を構成するには、組織 ID と Pub/Sub サブスクリプション名が必要になります。
Google SCC App for QRadar(QRadar v7.4.1FP2+)をインストールする
このセクションでは、Google SCC App for QRadar(QRadar v7.4.1FP2+)v3.0.0 をインストールします。このアプリは Security Command Center によって管理されています。Security Command Center API 呼び出しのスケジュール プロセスを自動化し、QRadar で使用する Security Command Center のデータを定期的に取得します。
アプリをインストールするには、ウェブ インターフェースから QRadar コンソール マシンにアクセスする必要があります。
インストールを完了する手順は次のとおりです。
- IBM App Exchange から Google SCC App for QRadar をダウンロードします。
- QRadar コンソール(https://QRadar_Console_IP)にログインします。
- コンソール メニューで [管理者] をクリックし、[拡張機能管理] を選択します。
- ダウンロード用の zip ファイルを選択するには、[Add] をクリックします。表示されるメッセージに従って、インストールを準備します。
- [Start a default instance for each app] を選択します。
- [Install] をクリックします。インストールが正常に完了すると、アプリケーション コンポーネントのリストが表示されます。
- [管理者] タブをクリックし、[変更をデプロイ] をクリックします。
- ブラウザのキャッシュを削除して、ブラウザ ウィンドウを更新します。
- [拡張機能管理] に移動します。[Google SCC App For QRader] が [インストール済み] のステータスで表示されます。
Google SCC アプリを構成する
このセクションでは、Google SCC アプリを構成します。手順は次のとおりです。
- QRadar で [管理者] タブに移動します。
- [Google SCC アプリ設定] をクリックします。
- [Add Google SCC Organization] をクリックします。
必要に応じて、次の変数を入力します。
Service Account JSON: サービス アカウント キーを含む JSON ファイル
Google Cloud で QRadar デプロイをホストしている場合、このフィールドは使用できません。VM にリンクされているサービス アカウントに、各 Google Cloud 組織の IAM 権限が付与されていることを確認します。詳細については、QRadar に認証情報を提供するをご覧ください。
Credential Configuration: Workload Identity 連携の設定時にダウンロードした認証情報の構成ファイル
Organization ID: 組織の ID
Findings Subscription Name: 検出結果の通知の Pub/Sub サブスクリプション名
Assets Subscription Name: アセットフィードの Pub/Sub サブスクリプション名
Enable Audit Logs Collection: 監査ログを QRadar インスタンスに送信する場合に選択します。
- Audit Logs Subscription Name: 監査ログシンクの Pub/Sub サブスクリプション名
Interval: リアルタイムのデータ収集中の Pub/Sub 呼び出しの間隔(秒)
QRadar 認証トークン: QRadar インスタンス用のトークン。トークンを取得するには、次の手順を行います。
- QRadar で [Admin] タブに移動します。
- [User Management] で [Authorized Service] をクリックします。
- ユーザーロールとして Admin、セキュリティ プロファイルとして Admin を含む認証トークンをコピーします。トークンがない場合は、[Add Authorized Service] をクリックしてトークンを作成します。
- [Deploy changes] をクリックして、ブラウザ ウィンドウを更新します。
オプションのプロキシ構成の詳細を入力するには、[Enable/Disable Proxy] の切り替えをクリックして、プロキシ設定を入力します。
- IP / Hostname: プロキシ サーバーの IP アドレスまたはホスト名(HTTP/HTTPS 接頭辞は含めないでください)
- Port: プロキシ サーバーのポート
- ユーザー名: 認証プロキシに使用されるユーザー名
- パスワード: 認証プロキシに使用されるパスワード
[Save] をクリックします。
統合する Google Cloud 組織ごとに、この手順を繰り返します。
アプリの構成が保存され、組織がアプリの構成ページに追加されます。以降のセクションでは、サービスの Security Command Center のデータを表示して管理する方法について説明します。
Google SCC アプリをアップグレードする
このセクションでは、既存の Google SCC App for QRadar を最新バージョンにアップグレードします。
アップグレードの手順は次のとおりです。
- IBM App Exchange から最新バージョンの Google SCC App をダウンロードします。
- QRadar コンソール(https://QRadar_Console_IP)にログインします。
- コンソール メニューで [管理者] をクリックし、[拡張機能管理] を選択します。
- ダウンロード用の zip ファイルを選択するには、[Add] をクリックします。表示されるメッセージに従って、アップグレードを準備します。
- [Replace Existing Items] と [Start a default instance for each app] を選択します。
- [Install] をクリックします。アップグレード プロセスが正常に完了すると、アプリケーション コンポーネントのリストが表示されます。
- [Admin] タブをクリックし、[Deploy changes] をクリックします。
- ブラウザのキャッシュを削除して、ブラウザ ウィンドウを更新します。
- [拡張機能管理] に移動します。Google SCC App For QRadar のステータスが「Installed」と表示されます。
SSH 経由で QRadar からアプリケーションにアクセスするユーザーからアプリケーション ログを削除します。
IBM App Exchange からリファレンス データ管理アプリの最新バージョンをダウンロードします。
QRadar コンソール(https://QRadar_Console_IP)にログインします。
コンソール メニューで [Admin] をクリックし、[Extension Management] を選択します。
ダウンロード用の ZIP ファイルを選択するには、[Add] をクリックします。表示された手順に沿ってアプリケーションをインストールします。
コンソールで、Reference Data Management ダッシュボードに移動します。
[Reference Map] をクリックします。
[asset_owners] を選択し、[Clear Data] をクリックします。
エクスポートしたデータを QRadar で表示する
このセクションでは、QRadar で使用できる関連機能(検出結果、監査ログ、アセットの検索、IAM ポリシーの表示、カスタム ダッシュボードの表示など)について説明します。
データを検索する
QRadar で Security Command Center のデータを検索するには、[Log Activity] パネルを使用します。取り込まれた検出結果、アセット、、監査ログ、セキュリティ ソースを確認して、SQL スタイルのフィルタを適用してデータを絞り込むことができます。
IAM ポリシーデータを表示する
アセットの IAM ポリシーデータを表示する方法は次のとおりです。
- IBM App Exchange ポータルから Reference Data Management アプリケーションをダウンロードしてインストールします。
- QRadar の [Reference Data Management] ダッシュボードをクリックします。
- ナビゲーション パネルで [Reference Map] をクリックします。
- [asset_owners] を選択します。ダッシュボードには IAM ポリシーデータが入力されています。
カスタム ダッシュボード
QRadar でカスタム ダッシュボードを使用すると、検出結果、アセット、セキュリティ ソースを可視化して分析できます。
概要
[Overview] ダッシュボードには、Google Cloud 組織の検出結果、脅威、脆弱性の合計数が表示されます。検出結果は、Security Command Center の組み込みサービス(Security Health Analytics、Web Security Scanner、Event Threat Detection、Container Threat Detection)と、有効にした統合サービスから編集されます。
データをフィルタして可視化を更新し、Google Cloud 組織を指定して新しいデータをオンデマンドで取得できます。
アセット
[アセット] タブに、Google Cloud アセットの表が表示されます。テーブルデータには、アセット名、アセットタイプ、リソース オーナー、最終更新日時、Google Cloud コンソールの Security Command Center の [アセット] ページへのリンクが含まれます。
アセットデータを組織、期間、アセットタイプで検索およびフィルタし、特定のアセットの検出結果にドリルダウンできます。
ソース
[Sources] タブには、ソース名、ソース表示名、説明などのセキュリティ ソースのテーブルが表示されます。ソース名をクリックすると、そのソースの検出結果を表示できます。
検出
[Findings] タブに、組織の検出結果のテーブルが表示されます。テーブルを検索して、期間、カテゴリ、重大度、セキュリティ ソース、アセット、プロジェクト名でリストをフィルタリングできます。
テーブルの列には、検出結果名、カテゴリ、アセット名、セキュリティ ソース名、セキュリティ マーク、重大度、プロジェクト名、イベント時間、イベント時間、検出クラス、更新ステータスが含まれます。検出結果の名前をクリックすると、Google Cloud コンソールの Security Command Center の [検出結果] ページにリダイレクトされ、選択した検出結果の詳細が表示されます。
[Update Status] 列で、検出結果の状態を更新できます。検出結果を積極的に確認していることを示すには、[Mark as ACTIVE] をクリックします。検出結果を積極的に確認していない場合は、[Mark as INACTIVE] をクリックします。
監査ログ
[Audit logs] ダッシュボードには、監査ログ情報を示す一連のグラフとテーブルが表示されます。ダッシュボードに含まれる監査ログは、管理者のアクティビティ、データアクセス、システム イベント、ポリシーで拒否された監査ログです。テーブルには、時間、ログ名、重大度、サービス名、リソース名、リソースタイプが含まれます。
アプリケーション ログを確認する
- SSH 経由で QRadar にログインします。
インストールされているすべてのアプリケーションとその
App-ID
値を一覧表示します。/opt/qradar/support/recon ps
出力は次のようになります。
Google SCC
アプリのApp-ID
をメモします。App-ID Name Managed Host ID Workload ID Service Name AB Container Name CDEGH Port IJKL 1101 QRadar Log Source Management 53 apps qapp-1101 ++ qapp-1101 +++++ 5000 ++++ 1104 QRadar Assistant 53 apps qapp-1104 ++ qapp-1104 +++++ 5000 ++++ 1105 QRadar Use Case Manager 53 apps qapp-1105 ++ qapp-1105 +++++ 5000 ++++ 1163 IBM QRadar Pre-Validation App Service 53 apps qapp-1163 ++ qapp-1163 +++++ 5000 ++++ 1164 IBM QRadar Pre-Validation App UI 53 apps qapp-1164 ++ qapp-1164 +++++ 5000 ++++ 1170 Google SCC 53 apps qapp-1170 ++ qapp-1170 +++++ 5000 ++++
Google SCC
アプリコンテナに接続します。/opt/qradar/support/recon connect APP_ID
APP_ID は、
Google SCC
アプリのApp-ID
に置き換えます。ログ ディレクトリに移動します。
cd /opt/app-root/store/log
ディレクトリ内のすべてのファイルを一覧表示します。
ls
ファイルの内容を表示する:
cat FILENAME
FILENAME は、ファイル名に置き換えます。
Google SCC をアンインストールする
Google SCC アプリケーションをアンインストールするには、次の操作を行います。
- [管理者] タブに移動します。
- [拡張機能管理] を選択します。
- [Google SCC App For QRadar - QRadar v7.4.1FP2+] を選択します。
- [アンインストール] をクリックします。
アプリケーションをアンインストールすると、Google SCC App で提供されるカスタム イベントのプロパティ、リファレンス マップ、ダッシュボード、ログソースが削除されます。
既知の問題
このセクションでは、Google SCC App と QRadar ダッシュボードの既知の問題について説明します。
v1.0.0
[Overview] ダッシュボードの [Findings By Severity Over Time] パネルに、25 万件を超えるデータに関する技術的なエラーの検出結果が表示され、ダッシュボードにデータを挿入する flask プロセスがバックエンドで再起動します。この問題を回避するには、ダッシュボードにより短い期間を選択します。
この問題は v2.0.0 で解決されました。
GROUP BY
AQL 関数からの予期しない動作により、削除されたアセットが [アセット] ダッシュボードに表示されることがあります。
v2.0.0
GROUP BY
AQL 関数からの予期しない動作により、削除されたアセットが [アセット] ダッシュボードに表示されることがあります。GROUP BY
AQL 関数の予期しない動作により、[Findings] ダッシュボードに Google SCC アプリの更新後に最新の検出結果データが表示されないことがあります。
v3.0.0
GROUP BY
AQL 関数の予期しない動作のため、同じ一意のキーで複数のイベントが利用できる場合、ダッシュボードに最新のイベントが表示されないことがあります。- v2 を使用してすでに取り込まれているデータには、[組織 ID] フィルタは適用されません。データを表示するには、[組織 ID] フィルタで [すべて] を選択します。
トラブルシューティング
このセクションでは、よくある問題の解決方法について説明します。
Google SCC イベントが Google SCC メッセージとして表示される
問題: Security Command Center イベントが、正しい QRadar カテゴリとして識別されるのではなく、Security Command Center のメッセージとして表示されます。ユーザーが Google Cloud ログソースからイベントを検索すると、QRadar の [ログ アクティビティ] タブにメッセージが表示されます。
未加工のフィールド イベントに必須フィールドがない場合、またはイベントのペイロード サイズがデフォルトの 4,096 バイトを超えてイベントが切り捨てられる場合に、この問題が発生します。
解決策: ペイロードが切り捨てられた場合は、次の手順で最大ペイロード サイズを増やします。
- [管理者] タブに移動し、[システム設定] を選択します。
- [切り替え] で [詳細] をクリックします。
- 設定リストで、次の操作を行います。
- [最大 TCP Syslog ペイロード長] を選択し、その値を増やします。推奨値は 32,000 です。
- [Max UDP Syslog Payload Length] を選択して値を大きくします。推奨値は 32,000 です。
- [Deploy changes] をクリックして、[Full Deploy] オプションを使用します。
Google SCC イベントが不明なイベントとして表示される
問題: Security Command Center のイベントが「Unknown」と表示されます。この問題は、ペイロードのイベント ID とカテゴリが QRadar にマッピングされていない場合に発生します。
解決策: この問題を解決するには、次の手順を行います。
- [Log Activity] に移動し、[Add Filter] をクリックします。
- [Parameter] を選択して、[Log Source Type (Indexed)] を選択します。
- [Operator]、[Equals] の順に選択します。
- [Log Source Type]、[Google SCC] の順に選択します。
- [Views] フィルタのプルダウン メニューで、[Last 7 days] を選択します。
- イベントが「Unknown」と表示されている場合は、次の手順を行います。
- イベントを右クリックして、[DSM エディタで表示] を選択します。
- [Log Activity Preview] で、[Event ID] と [Event Category] の値を確認します。
- 値が不明な場合は、Cloud サポートにお問い合わせください。
アプリの構成が失敗し、エラー メッセージが表示される
アプリの構成エラーが発生した場合は、次の手順で問題を解決してください。
エラー | 説明 | 解決策 |
---|---|---|
「有効なサービス アカウントの JSON を入力してください」 | このエラーは、正しい形式の JSON が指定されたにもかかわらず、構成を保存しようとしたときに認証が失敗する場合に発生します。 | 正しいアカウント認証情報を使用して有効な JSON を入力してください。 |
「Service Account JSON should be JSON string.」 | このエラーは、不適切な形式の JSON が指定されているか、ファイルが JSON 以外の形式である場合に発生します。 | 有効な JSON ファイルを入力してください。 |
「有効な組織 ID を入力してください」 | このエラーは、誤った組織 ID、または不完全な組織 ID が入力された場合に発生します。 | 組織 ID を確認して再入力してください。 |
「有効なプロジェクト ID または検出サブスクリプション ID を入力してください」 | このエラーは、誤った、または無効なプロジェクト ID またはサブスクリプション ID が入力された場合に発生します。 | プロジェクト ID と組織 ID を確認し、再入力してください。 |
「有効なアセット サブスクリプション ID を入力してください」 | このエラーは、正しくない、または無効なアセット サブスクリプション ID が入力されている場合に発生します。 | アセットのサブスクリプション ID を確認して再入力してください。 |
「承認トークンの確認中にエラーが発生しました」 | このエラーは、誤った、または無効な QRadar 承認トークンが指定された場合に発生します。 | QRadar 認証トークンを確認して再入力します。ユーザー ロールとセキュリティ プロファイルには Admin が必要です。トークンの有効期限が切れていないことも必要です。 |
QRadar でソケット接続を開始する際にエラーが発生した
問題: データ収集ログファイルに「Error when in socket connection with IBM QRadar」というエラー メッセージが表示されます。この問題は、QRadar v2 アプリ フレームワーク(< v7.4.2 P2)で発生している可能性があります。
解決策: この問題を解決するには、次の手順を行います。
- QRadar デプロイの変更に関するサポートメモを確認します。
- QRadar をアップグレードします。
インターフェースに関する問題
問題: ダッシュボード パネルまたは構成ページにエラーまたは意図しない動作が表示されています。
解決策: この問題を解決するには、次の手順を行います。
- ブラウザのキャッシュを削除して、ウェブページを再度読み込みます。
- フィルタの期間を短くします。レスポンスの数が多すぎると、QRadar クエリが期限切れになる可能性があります。
- 問題が解決しない場合は、Cloud サポートにお問い合わせください。
ダッシュボードのパネルが読み込まれず、flask プロセスが停止する
問題: flask プロセスがタイムアウトし、一部のダッシュボード パネルを読み込めません。
解決策: この問題を解決するには、次の手順を行います。
- ブラウザのキャッシュを削除して、ウェブページを再度読み込みます。
- フィルタの期間を短くします。レスポンスの数が多すぎると、QRadar クエリが期限切れになる可能性があります。
- 問題が解決しない場合は、Cloud サポートにお問い合わせください。
その他のパフォーマンスの問題
このガイドの手順に沿って問題を解決できない場合は、次の手順を行います。
- [管理者] タブに移動し、[システムおよびライセンスの管理] をクリックします。
- Google SCC App For QRadar - QRadar v7.4.1FP2+ がインストールされているホストを選択します。
- [Action] をクリックし、[Collect Log Files] を選択します。
- ダイアログで [Advance Options] をクリックします。
- [Include Debug Logs]、[Application Extensions Logs]、[Setup Logs (Current Version)] の横にあるチェックボックスをオンにします。
- データ入力として 2 日を選択し、[ログファイルを収集する] をクリックします。
[Click here to download files] を選択します。
ログファイルは zip ファイルでダウンロードされます。Cloud サポートに連絡し、ログファイルを共有してください。
次のステップ
Security Command Center での検出結果の通知の設定について確認する。
Security Command Center での検出通知のフィルタリングについて確認する。