Datadog ぽすちゃ管理（CSPM）ってなんだ ~3~ AWSもAzureもその他クラウドもまとめてセキュリティ設定ミスを検出する

# すごく進化した Datadog の CSPM で俺のクラウド管理ポータルの設定不備を全部検出してみる

[第１回は CSPMとは？](https://qiita.com/1Kano/items/0238371742c092708263)　[第２回で Datadog の CSPM 初期設定](https://qiita.com/1Kano/items/81f7dbcfbd568fc52929)について確認した。ここでは CSPM で検出したアラートを是正していく。

## 是正その１．S3バケットのインターネット公開を制限する

### ルール適合方法

Datadog の各ルールでは、このルールの説明（Description）とその根拠（Rationale）、是正方法（Remediation）が提示される。下図［GDPR > 25.2, +10］の部分は、ここで不適合と判定された設定は是正すべきだ、とGDPR他10個以上のベストプラクティスが説明している。

- **ルール説明（Description）**　インターネットに公開されているS3バケットの設定を更新せよ
- **根拠（Rationale）**　利用者の誰もがダウンロード/削除/アップロードできる許可が与えられているから
- **是正方法（Remediation）**　コンソールもしくはコマンドラインで既存ポリシーを削除して、一般公開ではないポリシーを作成せよ

後学のために、[GDPR 25条2項]を調べると「Art. 25 GDPRData protection by design and by default」不特定多数の人がデフォルトで個人データにアクセスできないようにすることを保証するものとするとある。つまりデフォルト非公開にして、データを提供する相手だけアクセスを許可する設定が世界的ベストプラクティスと理解する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189936/5ac76019-1723-106f-4290-c79f3f1b7c98.png)

### AWS マネージメントコンソールでS3バケット公開設定を変更

インターネットに公開されているS3バケットの公開範囲を、パブリックアクセスを全てブロックして、AWSアカウントで認証されたユーザーのみに限定してみた。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189936/1f9aad49-fd20-e2e7-9b5f-ec7e3855512c.png)

### Datadog ぽすちゃ管理で是正されたことを確認する

[Security] > [Posture Management] > 該当ルール > [view finding] > Timeline
（❗）マークになっていたルールが（✅）マークに変わった。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189936/a698dec8-c2da-eccd-62f1-efdd6ddcda80.png)

不適合がひとつ減った
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189936/6582f2c3-1454-80c0-d7ac-9e6ae8ddbb49.png)

## 是正その２．インターネットから SSH アクセスが制限されていること

インタネットからSSHアクセスする場合はアクセス元ソースを制限する。

- **ルール説明（Description）**　セキュリティグループでインターネットからのSSHアクセスを無効にせよ
- **根拠（Rationale）**　さまざまなブルートフォース攻撃で仮想マシンを乗っ取ることができる可能性がある
- **是正方法（Remediation）**　インターネットから直接SSHアクセスことを無効とし別の方法でリモート管理する

Microsoft の CIS Azure 6.2条項を見るとだいたい同じく「インターネットからの SSH アクセスが制限されていることを確認する　[ID] :CIS Azure 6.2 所有権: Customer」の説明がある。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189936/faf895c8-0b8f-eba8-7596-f5a0024ac2bf.png)

### Azure ポータルで SSH アクセス設定を変更

インターネットからSSHアクセスするソースIPアドレスを限定して、それ以外のIPアドレスは拒否する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189936/3ec37688-05c7-0ca2-f432-816a439d873f.png)

### Datadog ぽすちゃ管理で是正されたことを確認する

[Security] > [Posture Management] > 該当ルール > [view finding] > Timeline
（❗）マークになっていたルールが（✅）マークに変わった。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189936/90988c80-5faf-cdc7-bd11-8de089091be1.png)

## 是正その３．S3バケットはデフォルトで暗号化を有効にする

以降、省略するが CSPM には、さまざまなリソースの暗号化が推奨されている。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189936/70c972fb-bed7-574a-1c33-454ebd693960.png)

## 是正その４．AWS 通知サービスの SNSトピックはサーバーサイドで暗号化を有効されること

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189936/fade46f8-b465-dbf3-f22a-6c06dfcb1125.png)

## 是正その５．（ルール自体を無効化してみる）パスワード90日以内に更新

パスワードを忘れて自ら総当たりリトライをしてしまうこともリスクだと思う。パスワードを90日以内に更新せよ。というルールがある。このルール自体を無効化することもできる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189936/3765f980-b969-1a6d-b090-6e610a00c5ea.png)

## ここまでの結果、クリティカルなルール11個は全て適合[Pass]に

なお、Datadogポータル画面で Issue が Pass に変わるまでには数時間かかった。クラウド側で是正したら少し時間をあけてから確認した方がよいかも。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189936/3b97e4fe-860a-ce40-a215-1f78d88d26f5.png)

## ６．ルール違反を検出したときにメール通知する設定方法

セキュリティ通知は、個々のルール毎にメール通知することができる。しかし500個のルールを一つずつ設定することは不要にしたい。そこで重大度[Severity]に基づいてまとめてメール通知の設定をしてみる。

[Security] > [Setup & Configuration] > [Notification Rules] ここで[Start with a Recommended rule]ボタンを押す。

通知名称と通知先メールアドレスの２つを入力するだけでよい。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189936/a5e3c10a-52f0-6d43-cedd-aac386b710fd.png)

### 超簡単な設定が完了したので、ルールを破ってみる

セキュリティグループをソース:任意にして「全てのIPアドレスからSSHアクセスを受信する」に変更する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189936/2415aec3-1912-7d97-4bbb-6cf0a5572c70.png)

### すぐにメールが届いた

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189936/c85d5ffe-b7c3-c467-e3f4-a460231d0d96.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189936/20f71ed3-d450-8302-a6cf-393fb7cbed92.png)

### なお、是正した後のメール通知は届かないようだ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189936/c4e2f976-e25e-88d8-2f6e-07113e9e40a6.png)




## まとめ

アプリケーションをAWSやAzureなどのクラウドサービス上に構築するとき、どんなセキュリティ対策をすればいいのか不安な人はぽすちゃ管理に頼るといい。セキュリティ対策は幅広くやること多いので大変だけどCSPMが幅広くアドバイスしてくれます。是正対策は大変だけれども、DatadogでCSPMを導入するところは本書に記載の通りとても簡単でした。

目次
1. 背景（CSPMは大切だよ）
2. ぽすちゃ管理って何？
3. 初期設定（CSPM）
4. 検出したルールを読む（サマリー）
5. 検出したルールのサンプルを読む（そして幾つか是正してみる）
6. ルール違反を検出したときにメール通知する設定

以上、３回に渡って Datadog での CSPM を確認しました。ぜひ実務で利用しましょう。