3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【IBM Security Randori】ServiceNowとチケット連携してみる

Posted at

はじめに

IBM Security Randoriは、攻撃領域管理(AttackSurfaceManagement)のSaaS製品です。

IBM Randoriの製品については、次の動画を参照ください。

今回は、ServiceNowとのチケット連携機能を試してみました。

1.レシピの説明

IBM Security Randoriでは、他システムと連携するためのシナリオを「レシピ」として表現しています。ServiceNow連携では、3種類のレシピが提供されています。

No レシピ名称 説明
1 Randori → SNOW Create ServiceNow Incidents Create new SNOW Incident Tickets for any Target that is marked with as "Needs Investigation" in Randori Randoriターゲットのステータスが「Needs Investigation」の場合に、ServiceNowのITSM、あるいは、SIRテーブルにインシデントを新規起票する。ITSM、SIRどちらに起票するかは設定可能。
2 SNOW [ITSM] → Randori Update Target in Randori Updates the corresponding Randori Target to the completed SNOW ticket 

SNOW [SIR] → Randori Update Target in Randori Updates the corresponding Randori Target to the completed SNOW ticket
ServiceNowでインシデントがクローズされたときにRandoriターゲットのステータスを「Needs Investigation」から「Needs Review」に変更する。ITSM、SIRテーブル用に2レシピあり、No1の設定にあわせて使い分けする
3 Randori → SNOW Create ServiceNow Incidents Create new SNOW Incident Tickets for any completed Successful Validate Activity 脆弱性検証アクティビティが成功したときに、ServiceNowにインシデントを起票する

今回試したNo1とNo2のレシピの動作イメージです。3つ目のレシピは動作環境が整えられなかったため割愛しています。
image.png

image.png

2.ServiceNow設定確認

最初にServiceNowで設定確認を行います。

2.1.インシデント内にあるStateフィールドのNumber確認

RandoriがServiceNowのインシデントがクローズされたか判定するために利用するStateフィールドの値(数値)を確認します。

任意のインシデントでStateフィールドの文字付近を右クリックし、「Configure Dictionary」をクリックします。
image.png

フィルターアイコンをクリックします。
image.png

「table is incident」の条件を設定して「RUN」をクリックします。
image.png

Closed(クローズ)ステータスは、数値が「7」であることを確認します。
image.png

3.IBM Security Randori設定

3.1.ServiceNow情報の構成/接続確認

Randoriの画面で、Integration- Marketplaceに移動し、ServiceNowのタイル状に表示されている「Configure」をクリックします、
image.png

ServiceNowのテナント情報、および、管理者ID/パスワードを入力して「Connect」をクリックします。

設定項目 設定値 備考
Authentication Type Username/Password Username/Password、OAuth2.0から選択
Instance Name インスタンス名 ServiceNowのインスタンス名:.service-now.com
Username 管理者ID -
Password 管理者IDのパスワード -

image.png

接続が成功すると、「Connection Success」と表示されます。

image.png

3.2.レシピの構成

Create new SNOW Incident Tickets for any Target that is marked with as "Needs Investigation" in Randoriレシピを構成します。

image.png

以下の内容を入力して、「Complete」をクリックします。

設定項目 設定値 備考
Organization shortname (check url) Randoriの[SHORTNAME]を指定 RandoriへアクセスするURL:
app.randori.io/[SHORTNAME]/dashboard
Snow assignment group (defaults to none) 任意の値を設定 ServiceNowに存在しているグループ名を指定
Servicenow caller field (defaults to sys admin) 任意の値を設定 ServiceNowに存在するユーザー名を指定。デフォルト値のsys adminのままだと、ServiceNow側に存在せず、起票されたインシデントのCallerが空白になる
Servicenow use case (itsm/sir) itsm itsm/sirいずれかを指定

image.png

次に、Updates the corresponding Randori Target to the completed SNOW ticketレシピを構成します。
image.png

トリガーとなるstateの数値(7)を入力して、「Complete」をクリックします。
image.png

4.動作確認

構成したレシピの動作確認をします。

4.1.レシピ動作確認① ServiceNowへの新規チケット起票

Randoriの任意のターゲットで、ステータス画面で「Mark Status」をクリックします。
image.png

ステータスを「Needs Investigation」に変更して、「Submit」をクリックします。
image.png

ステータスが変更されたことを確認します。
image.png

レシピが動作すると、ServiceNowにインシデントが起票されます。
image.png

指定したCaller/グループが割り当てられていることを確認します。
image.png

Randori側の変更を確認します。
ターゲットでステータスが「Needs Resolution」に変更されます。
image.png

また、起票したインシデントの情報がコメント欄に追記されます。
image.png

4.2.レシピ② チケットクローズ後のステータス反映

ServiceNow側でチケットをクローズします。
image.png

レシピが動作すると、Randoriターゲットのステータスが「Needs Review」に変更されます。
image.png

また、インシデントクローズ時の理由などがコメント欄に追記されます。
image.png

レシピの動作確認が以上になります。

5. 参考(OAuth2.0によるServiceNow連携)

ServiceNowの管理者ID/パスワードではなく、OAuth2.0を使って連携する方法もあります。

5.1.SeriveNowのOAuth有効化

OAuth 2.0 クライアントを設定するため、ServiceNowのマニュアルに従い、OAuth 2.0を有効化します。
https://docs.servicenow.com/ja-JP/bundle/washingtondc-platform-security/page/administer/security/task/t_ActivateOAuth.html

ServiceNowの管理画面で、すべて > システム定義 > プラグイン に移動して、「OAuth」のキーワードで検索します。

image.png

今回のテナントではOAuth 2.0は有効化されていました。

image.png

5.2.SeriveNowのアプリケーションレジストリ作成

ServiceNowのマニュアルに従い、アプリケーションレジストリを設定します
https://docs.servicenow.com/ja-JP/bundle/washingtondc-platform-security/page/administer/security/task/t_CreateEndpointforExternalClients.html

ServiceNowの管理画面で、すべて > システム OAuth > アプリケーションレジストリー に移動して、「新規」をクリックします。
image.png

「外部クライアント用の OAuth API エンドポイントを作成します 」をクリックします。
image.png

以下のように設定します。

設定項目 設定値 備考
名前 任意の名前を設定 -
クライアントID 自動生成 -
クライアントシークレット 空白のまま(送信時に自動生成) -
リダイレクトURL https://www.workato.com/oauth/callback
ロゴURL https://www.workato.com/blog/wp-content/uploads/2015/10/workato-logo-small.png

※リダイレクトURLとロゴURLは、RandoriのマニュアルからたどったWorkatoのマニュアルを参考にしています。
https://docs.workato.com/ja/connectors/servicenow.html
image.png

送信をクリックすると、クライアントシークレットが自動生成されます。
クライアントIDとクライアントシークレットの値をコピーしておきます。

image.png

5.3.Randoriのマーケットプレイス設定

テナント名、先ほど発行したクライアントID、クライアントシークレットを登録して「Connect」をクリックします。

image.png

ServiceNowのログイン画面が表示されるため、管理者IDでログインします。
image.png

「Allow」をクリックします。
image.png

接続が成功すると、「Connection Success」と表示されます。
image.png

マーケットプレイスの設定は以上となります

ただし、OAuth2.0で構成した場合、100日ごとに手動で接続を更新する必要があると記載されています。
OAuth2.0の接続方式を採用する際には、注意が必要です。

image.png

最後に

IBM Security RandoriとServiceNowを連携させてみました。
ServiceNow以外の製品とも連携できるので、試してみたいと思います。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?