IBM Cloud PowerVSへのSCCWPの導入方法

# はじめ
従来クラウド環境がコンプライアンスに準拠しているか確認するために、セキュリティチェックシートに記載することで確認する方法が一般的でしたが、近年新たなコンプライアンスチェックとしてCSPM(Cloud Security Posture Management)と呼ばれるクラウドリソース監視が登場しました。
特徴としてクラウド上のリソースをリアルタイムで自動的に監視、コンプライアンスチェックが可能です。

IBM CloudではCSPMのソリューションとしてSCCWP(IBM Cloud Security and Compliance Center Workload Protection)が2023年4月から利用可能になりました。


2025年1月よりPowerVSのAIX環境にも対応され、PowerVSのコンプライアンス管理も可能になりましたので、本稿ではPowerVSのAIX環境にSCCWPエージェントを導入方法について記載します。

本稿の手順は[docs](https://cloud.ibm.com/docs/workload-protection?topic=workload-protection-agent-deploy-aix-powervs)を参考に作成しています。


# SCCWPとは
IBM Cloud Security and Compliance Center Workload Protectionはソフトウェアの脆弱性の検出と優先順位付け、脅威の検出と対応、およびソースから実行までの構成、権限、およびコンプライアンスの管理を行うことができるIBM Cloudのソリューションです。

あらゆるプラットフォームにおいて、脆弱性の特定、コンプライアンスとパーミッションの検証、ランタイムの脅威のブロック、インシデントへの迅速な対応を容易にします。

対応プラットフォーム
クラウドまたはオンプレ、ホスト、VM、コンテナ、OpenShift/Kubernetes、**PowerVS**

また、SCCWPにはCSPM以外にも以下の機能が利用可能です。

- 脆弱性管理
- サーバーのエンドポイント検出と応答（EDR）
- Kubernetes Workload Protection およびネットワーク・セグメンテーション (CWPP)
- インシデントレスポンスとフォレンジック

より詳しい情報としては[こちら](https://cloud.ibm.com/docs/workload-protection?topic=workload-protection-getting-started)のdosを参照ください。

# 構成手順

本稿では以下の構成図の接続環境を想定しています。

![スクリーンショット 2025-05-21 10.32.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2625926/58216887-de9d-4540-ba14-43bd7e58a16e.png)


Private OnlyのPowerVSに対し、SCCWPエージェントをインストールし、SCCWPのダッシュボードから確認できることを目標に構築を実施します。

構成手順は以下のとおりです。

1. PowerVSへのエージェントの導入
1. SCCWPダッシュボードからPowerVSの確認



# 事前準備
事前に以下の環境はあるものとします。

- PowerVSインスタンス(2core, 4GB, AIX, jp-tok, private only)
- 踏み台サーバー(2core, 4GB, centOS, jp-tok)
- SCCWPインスタンス(jp-tok)
- Transit Gateway





また、PowerVSにエージェントを入れるためにはSCCWPのアクセスキーが必要になります。
アクセスキーはポータルのSCCWPメニュー右上の**アクション**から**鍵の管理**を選択することで確認可能です。

![スクリーンショット_2025-05-20_14_50_48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2625926/3d95413f-cd25-4082-a937-a386de37f743.png)

アクセスキーが**REACTED**と表示される場合は権限不足でアクセスキーが確認できていません。
[こちら](https://cloud.ibm.com/docs/workload-protection?topic=workload-protection-access_key&interface=ui)に従って**エージェント・インストールの非表示**設定をオフにするか、操作するユーザーに管理者権限を付与してください。

![スクリーンショット 2025-05-20 14.51.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2625926/90ec2414-c0d9-48b3-80bc-3e103ba344b8.png)


## 1. PowerVSへのエージェントの導入
ターミナルからSSHでPowerVSインスタンスにアクセスして操作を実施します。
### 1. エージェントのバイナリをダウンロード
SCCWPのエージェントインストールに必要なバイナリーをダウンロードします。
```terminal
$ curl https://s3.us-east-1.amazonaws.com/download.draios.com/dependencies/kspm-analyzer/1.44.17/kspm-analyzer-aix-ppc64 -o /tmp/kspm-analyzer-aix-ppc64
```
curlが使用できない場合や外部アクセスができない場合はローカルPCもしくは踏み台サーバーにダウンロードし、SCPコマンド等でPowerVSインスタンスに転送してください。

### 2. サービスの構成
1でダウンロードしたバイナリを元に`kspm_analyzer`という名前でサービスを構成します。

```terminal
$ mkssys -p /tmp/kspm-analyzer-aix-ppc64 -s kspm_analyzer -u 0 -e /tmp/kspm-analyzer.log -i /tmp/kspm-analyzer.log -o /tmp/kspm-analyzer.log
The kspm_analyzer Subsystem has been added.
```

`-i, -o` オプションによってログの出力を`/tmp/kspm-analyzer.log`に指定しています。

### 3. ファイルの権限変更

`/tmp/kspm-analyzer-aix-ppc64`の権限を変更し、ファイルを実行できるようにします。
```terminal
$ chmod +x /tmp/kspm-analyzer-aix-ppc64
```


### 4. サービスの開始
2で構成したサービスを開始します。
```terminal
$ startsrc -s kspm_analyzer -e 'NODE_NAME=<HOSTNAME> API_ENDPOINT=<REGION>.security-compliance-secure.cloud.ibm.com ACCESS_KEY=<ACCESS KEY>'
The kspm_analyzer Subsystem has been started. Subsystem PID is xxxxxx
```
`-e` オプションによって環境を指定します。`NODE_NAME`はSCCWPで表示されるインスタンス名となり、`API_ENDPOINT`は文字通りSCCWPのあるリージョンのAPI Endpointを入力します。
`ACCESS_KEY`では事前準備で入手したSCCWPのアクセスキーを入力します。

例として東京リージョンに`PVS_TEST`という名前で表示するには以下のコマンドを実行します。
```terminal
$ startsrc -s kspm_analyzer -e 'NODE_NAME=PVS_TEST API_ENDPOINT=private.jp-tok.security-compliance-secure.cloud.ibm.com ACCESS_KEY=<ACCESS KEY>'
```
パブリックエンドポイントを利用する場合は以下のコマンドです。
```terminal
$ startsrc -s kspm_analyzer -e 'NODE_NAME=PVS_TEST API_ENDPOINT=jp-tok.security-compliance-secure.cloud.ibm.com ACCESS_KEY=<ACCESS KEY>'
```
各リージョンのAPI Endpointは[こちら](https://cloud.ibm.com/docs/workload-protection?topic=workload-protection-endpoints#endpoints_rest_api)からご確認ください。

### 5. サービスの起動時設定の構築
サーバーを再起動した後にもエージェントが動くように設定します。

```terminal
$ mkitab "fkcmd:2:respawn:startsrc -s kspm_analyzer -e 'NODE_NAME=<HOSTNAME> API_ENDPOINT=private.<REGION>.security-compliance-secure.cloud.ibm.com ACCESS_KEY=<ACCESSKEY>'"
```
パブリックエンドポイントを利用する場合はこちらです。
```terminal
$ mkitab "fkcmd:2:respawn:startsrc -s kspm_analyzer -e 'NODE_NAME=<HOSTNAME> API_ENDPOINT=<REGION>.security-compliance-secure.cloud.ibm.com ACCESS_KEY=<ACCESSKEY>'"
```

### 6. サービスの実行確認
最後にサービスが動いているか確認するために2で設定したログファイルを確認します。

```terminal
$ cat /tmp/kspm-analyzer.log
{"level":"info","ts":"2025-05-19T03:34:18.158-0500","msg":"Serving requests","addr":":12000"}
{"level":"info","ts":"2025-05-19T03:34:18.871-0500","msg":"Starting up","agent":"nodeanalyzer","sourceName":"PVS_TEST","sourceType":"host","node":"PVS_TEST","buildVersion":"","platform":"AIX ()","nodeName":"PVS_TEST","namespace":"sysdig","natsURL":"wss://private.jp-tok.security-compliance-secure.cloud.ibm.com:443","runtime":"aix/ppc64"}
...
```
ログを見ると4で設定したNODE NAMEなどが確認できます。

## 2. SCCWPダッシュボードからPowerVSの確認

実際にSCCWPのダッシュボードからPowerVSの環境が見れるか確認します。
まずSCCWPのダッシュボードを開き、左側の**Inventory**を選択します。

![スクリーンショット_2025-05-20_17_48_17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2625926/c52c1572-2b8a-42ea-9977-261844e40d30.png)

**Inventory**にはSCCWPで監視しているリソースが一覧で表示されます。

この中からエージェントを追加したPowerVSを探します。
左側の**Featured Filters**から**AIX**を選択、もしくは上側のAdd FilterでNode Nameを検索(今回はPVS_TEST)することでリソースをフィルターすることができます。

![スクリーンショット_2025-05-20_17_48_28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2625926/d9d850ce-e708-428d-b8da-f69e0b06065b.png)

エージェントを追加したリソースを見つけたら選択してみると、PowerVSの構成やポリシーに準拠しているか等を確認することができます。

![スクリーンショット_2025-05-20_17_55_09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2625926/b7807972-5f7c-4c99-90f3-355ae549ebf6.png)

![スクリーンショット_2025-05-20_17_55_27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2625926/9e082725-9a53-4ec9-b827-e4f2db3f0dda.png)

:::note warn
注意
Inventoryは1日ごとに更新されるため、すぐに反映されません。
:::

# まとめ

本稿ではSCCWPで新しく利用可能となったPowerVS環境にエージェントを入れる手順を記載しました。

まだ、他の対応サービス(IKS, VSI for VPC等)に比べると機能自体は少ないですが、近いうちに機能が追加されるかと思います。