私の戦闘力は53万です

awsとgcpについて書きます

AWS configとsecurityhubの連携機能を試してみた

先月にsecurityhubとconfigの新しい連携機能が発表されており、
挙動が気になっていたので試してみました。

aws.amazon.com

何が変わったのか

config ruleで検知した違反をsecurityhubに自動連携してくれるようになりました。

これまでは、configで検知した違反をsecurityhubに連携する場合
下記のような形で、連携の仕組みを自作する必要がありました。
これからは自動的にconfigの結果をsecurityhubに取り込んでくれます。

aws.amazon.com

動作を確認してみる

configで検知した内容がSecurityhubにインポートされるときに、
どのように取り込まれるのか、各パターンを試してみました。

No 前提条件
workflow status
前提条件
compliance status
configチェック時の
リソース状態
検証結果
1 new PASSED PASSED 何も起きない
2 new PASSED FAILED compliance statsuがFAILEDになる
3 new FAILED PASSED compliance statsuがPASSEDになる
4 new FAILED FAILED 何も起きない
5 suppress PASSED PASSED 何も起きない
6 suppress PASSED FAILED compliance statsuがFAILEDになる
7 suppress FAILED PASSED compliance statsuがPASSEDになる
8 suppress FAILED FAILED 何も起きない
9 notified PASSED PASSED 何も起きない
10 notified PASSED FAILED compliance statsuがFAILEDになる
Workflow statusがNewになる
11 notified FAILED PASSED compliance statsuがPASSEDになる
12 notified FAILED FAILED 何も起きない
13 resoleved PASSED PASSED 何も起きない
14 resoleved PASSED FAILED compliance statusはFAILEDになる
Workflow statusがNewになる
15 resoleved FAILED PASSED compliance statsuがPASSEDになる
16 resoleved FAILED FAILED 何も起きない
17 なし なし FAILED Newとして新しいfindignsが登録される

表の見方補足

上記の表の見方が分かりにくいかもと思いましたので補足します。
例として、下記のsecurityhub findignsがあったとします。

sample
それぞれのステータスは下記です。
workflow status:New
compliance status:PASSED
この例は表のNo1,2の前提条件が該当します。

上記前提条件をもとに、configがリソースを検査し、
その結果がPASSEDの場合はNo1、
FAIEDの場合はNo2という見方となります

検証してみて

検証して見て、securityhub standardは
config ruleに置き換えて良いのではと思いました。
docs.aws.amazon.com

securityhub standardは便利なのですが
個人的には下記が不便な点でした。

securityhubのimportイベントの発生頻度が多い

securityhub standardでは検知内容が放置された(上記No4)場合に
importイベントが定期的に発生します。
これは良し悪しあるのですが、
イベントを通知条件によっては何度も通知が来ます。
configの場合は、ルールの評価結果に変動がない場合には
securityhubに連携が行われない(=importイベントが発生しない)形となります。
個人差あると思うのですが、私にとっては、
変更がある = イベント通知されるという流れが直感的でしたので
configの方がより馴染みました。

securityhub standardに新規追加がある場合、ルールが有効化された状態で追加される

securityhub standardは定期的に更新があり、
ルールが追加されることがあります。

aws.amazon.com このような形で、ある日ルールが有効化状態で追加されます。
そのため、追加されたルールが不要な場合は、 いちいち無効化作業が必要でした。 configの場合は、ルールを追加しない限り検知項目は増えないため、 ルール追加のタイミングを自分達で選択できます。

これから

上記の形でsecurityhub standardを利用せず、
configだけで運用する形が取れそうでしたらやってみて、
ブログネタ的なものがあれば継続して書いて見たいと思います。
Organizationやsecurityhub、config周り詳しい方、
より良い方法や発見がありましたらコメントで教えて頂けると嬉しいです。