Sysdig SecureのPosture Host Analyzer

# Posture Host Analyzerとは
Sysdig Secureでは従来から、Kubernetes環境における設定ミスをチェックするKSPM（Kubernetes Security Posture Management）機能を提供しています。また、KSPMの一環として、Kubernetes環境で使用されているDockerやLinuxの設定ミスをチェックすることも可能です。

先日リリースされたPosture Host Analyzerによって、Kubernetesを使用していない単独のDockerサーバでも、DockerやLinuxの設定ミスやコンプライアンスに対する準拠状況を確認することが可能になりました。

この記事では、Posture Host Analyzerの使い方を簡単にご紹介します。ドキュメントは以下をご参照ください。
https://docs.sysdig.com/en/docs/installation/sysdig-secure/install-agent-components/hosts/containers/posture-host-analyzer/

Docker設定に関するベストプラクティスについて知りたい方は、下記ブログ記事をご参照ください。
https://sysdig.jp/blog/dockerfile-best-practices/

# Zoneの作成
ポスチャー管理（設定ミスチェック）では、チェックの対象（例：ホスト）と、チェックに使用する各種コンプライアンスのポリシーを紐付けるためにZoneを作成します。
1. Sysdig SaaS UIにログインします。
1. 左側メニューから、 __Policies > Posture > Zones__ を選択します。
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2802821/2a8e3960-e418-bbcd-895e-7c30675bb146.png width=30%>

3\. 画面右上の __New Zone__ ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2802821/0b5d3b7d-9c83-2806-303f-43a3c6936d7d.png)

4\. Zoneの名称と説明書きを入力し、__Create__ をクリックします。
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2802821/318ef8d2-8859-6d97-202a-746e4b995630.png width=50%>

5\. __Scopes__ で対象とするDockerホストを指定し、 __Posture Policies__ で適用するコンプライアンスポリシーを選択します（複数選択可）。今回は例として、下記画面キャプチャにあるDockerやLinux関連のポリシーを選択しています。 __Save__ をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2802821/b506949a-f509-bd9d-1df4-2f3b5142bac3.png)

6\. Zoneが作成されたことを確認します。
![スクリーンショット 2023-06-15 9.27.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2802821/43980a94-3726-5c0c-61f3-8b772ad9b098.png)

# Posture Host Analyzerの導入
1. 設定ミスのチェック対象となるDockerホストにCLIでログインします。
1. Posture Host AnalyzerをDockerコンテナとして起動します。
```
sudo docker run -d -v /:/host:ro -v /tmp:/host/tmp --privileged --network host --pid host --env ACCESS_KEY="xyz123456789abcde"  --env API_ENDPOINT=secure.sysdig.com quay.io/sysdig/kspm-analyzer:latest
```
:::note 
ACCESS_KEYの値には、ご自身のSysdigアクセスキーを入力してください。
:::
:::note 
API_ENDPOINTの値はご利用のSysdig SaaSリージョンにより異なります。下記ドキュメントをご参照ください。
https://docs.sysdig.com/en/docs/administration/saas-regions-and-ip-ranges/
:::
起動ログ
```:Log
Unable to find image 'quay.io/sysdig/kspm-analyzer:latest' locally
latest: Pulling from sysdig/kspm-analyzer
28ff5ee6facb: Pull complete
6282ee72f50a: Pull complete
2d39c6e30607: Pull complete
cdba24daa11b: Pull complete
ea2ac1d7c3cf: Pull complete
f1aedb05a49f: Pull complete
05870e6891d3: Pull complete
Digest: sha256:d4880da1916fd2f31b0e4508241bc7993c6a053d4f9403cd3c0e91f789be8140
Status: Downloaded newer image for quay.io/sysdig/kspm-analyzer:latest
33e17d903906a44d5ccdc211f3859b25d988436ba72c058eadcd15d5e079d338
```
3\. Posture Host Analyzer（イメージ名はkspm-analyzer）が起動していることを確認します。
```
$ docker ps
CONTAINER ID        IMAGE                                 COMMAND             CREATED              STATUS              PORTS               NAMES
33e17d903906        quay.io/sysdig/kspm-analyzer:latest   "./app"             About a minute ago   Up About a minute                       romantic_brahmagupta
```
# ベンチマークスキャン結果の確認
1. Sysdig SaaS UIにログインします。
1. 左側メニューから __Posture > Compliance__ を選択します。
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2802821/06bc33e9-6414-493f-a760-b6549d0c4cf5.png width=30%>

3\. 先ほど作成したZone下に、ベンチマークスキャン結果が表示されていることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2802821/b9f698c2-4942-a2f3-bed9-420cab46680b.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2802821/36de0f6b-e500-06e4-9d94-c5752e53c460.png)

# まとめ
Posture Host Analyzerによって、Kubernetesを使用していない単独のDockerサーバでも、DockerやLinuxの設定ミスやコンプライアンスに対する準拠状況を簡単にチェックできました。