QRadarのAPIについて

## API Token（認証パスワード）の取得
1. QRadarのAdminメニューからAuthorized Servicesをクリックします。
![AuthorizedServices.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307206/4fd4b567-01f6-84ec-0ce1-2b36a3ef5528.png)

1. .Addボタンを押します。
![AuthorizedServices1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307206/31484d78-f0f4-8120-008c-e8b0fde800b0.png)

1. API Tokenに対して登録していきます。
　・Authorized Service label: 自分がわかりやすいと思われる文字列
　・Security Profile: Profileをカスタムで作成していない場合は、Adminのみ選択可能になります。
　・User Role: User Roleをカスタムで作成していない場合は、Admin/Allから選びます。
 　・Expiry Settings Tokenの失効日時を設定できます。（スクリーンショットは有効期限切れなし）
上記を入力したらSaveを押します。
![AuthorizedServices2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307206/faf43ff4-dc73-b215-c744-8dc4434e69ae.png)

1. Token情報がマスキングされた状態で表示されます。目のマークをクリックすると表示されます。
![AuthorizedServices3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307206/3cb090b1-962f-4c1e-24b4-7ccce8d36319.png)

1. 表示された文字列（Token)を大事にどこかに保管します。
![AuthorizedServices4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307206/c8b25f95-8069-0aa3-de68-13002455f6cc.png)


## API アクセス
以下のCurlコマンドでOffense情報が取得できます。

`curl --location 'https://xxx.xxx.xxx.xxx/api/siem/offenses' \`
`--header 'SEC: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' \`
`--header 'Accept: application/json' \`

xxx.xxx.xxx.xxは、QRadar ConsoleのIPアドレス
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx は前工程で取得したToken

## API offense Response
```json
[
    {
        "last_persisted_time": 1689398175000,
        "username_count": 40,
        "description": "test_offense\n containing PostFix Mail Transfer Agent Import Message\n",
        "rules": [
            {
                "id": 101090,
                "type": "CRE_RULE"
            }
        ],
        "event_count": 720,
        "flow_count": 0,
        "assigned_to": null,
        "security_category_count": 4,
        "follow_up": false,
        "source_address_ids": [
            1
        ],
        "source_count": 1,
        "inactive": false,
        "protected": false,
        "closing_user": null,
        "destination_networks": [
            "other"
        ],
        "source_network": "other",
        "category_count": 4,
        "close_time": null,
        "remote_destination_count": 1,
        "start_time": 1689398055400,
        "magnitude": 3,
        "last_updated_time": 1689398159740,
        "credibility": 3,
        "id": 1,
        "categories": [
            "Stored",
            "Unknown",
            "Auth Server Session Closed",
            "Auth Server Session Opened"
        ],
        "severity": 3,
        "policy_category_count": 0,
        "log_sources": [
            {
                "type_name": "GenericLogDSM",
                "type_id": 67,
                "name": "SIM Generic Log DSM-7 :: QRadar750AIO",
                "id": 62
            },
            {
                "type_name": "LinuxServer",
                "type_id": 11,
                "name": "LinuxServer @ 192.168.16.17",
                "id": 113
            },
            {
                "type_name": "PostFixMailTransferAgent",
                "type_id": 313,
                "name": "postfix0713",
                "id": 77
            }
        ],
        "closing_reason_id": null,
        "device_count": 3,
        "first_persisted_time": 1689398056000,
        "offense_type": 0,
        "relevance": 2,
        "domain_id": 0,
        "offense_source": "14.15.16.17",
        "local_destination_address_ids": [],
        "local_destination_count": 0,
        "status": "OPEN"
    }
]
```
## offense が無い場合の対応
1. OffenseタブのRulesからNew Common Ruleを選びます。
![rule_gen1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307206/eadba3dc-b8d6-3292-2dac-47f8727ba85c.png)

1. Nextを押します。
![rule_gen2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307206/4a890ef5-e494-c7ee-e9f3-2c941017033a.png)

1. Events or Flowsになっていることを確認してNextを押します。
![rule_gen3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307206/a8674709-47ea-ccae-b77a-71984e1c89b2.png)

1. 特定のSourceIPからログを受信した場合にOffenseとなるように以下のように設定をします。
黒字でマスキングされている部分は現状QRadarのLog Activityを見てみると何かしらのログが外から来ていると思うのでそのIPを登録します。
![rule_gen4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307206/c27bade3-0bc0-0ab7-f27d-aeddfe604ac0.png)

1. 以下のように登録します。
![rule_gen5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3307206/23d48e80-e237-5426-43a8-ba02caee914a.png)
Nextを押してFinishします。このルールを有効にするために、QRadarのサービス再起動やDeployは必要ありません。
## 参考にしたリンク
https://www.ibm.com/docs/en/qradar-common?topic=forwarding-creating-authentication-token
https://ibmsecuritydocs.github.io/qradar_api_20.0/
https://ibmsecuritydocs.github.io/qradar_api_overview/