アドカレ初日はどうも。また会いましたね。
どうもdev.aokiです。
社内ツールのセキュリティ対策の相談をしたところ、AWS Security Hubがいいぞって話を聞いたので、
自分の個人アカウントを利用して、試しにポチポチ設定してみた記録を残すことにしました。マジ、そんだけの記事。
AWS Security Hubとは
なんかしらんが色々セキュリティリスクを教えてくれるつよいやつ、ぐらいの知識しかありません。
詳細は公式ドキュメントを読みましょう (僕も読もう……)
https://aws.amazon.com/jp/security-hub/
Security Hub本体は基本的にはアカウント設定などのベストプラクティスを元に設定内容の準拠状況を検出し、
問題個所を指摘してくれる、というもののようですね。
またGuardDutyなどのAWS内別サービスで検出された、Security Hub本体とは少し切り口の違うリスクについても
同じダッシュボード内に統合して、横断的にリスクを検出できるもの、といった感じのようでした。
ざっくりは聞いていたけど、よさそうですね。
AWS Configの有効化
では早速設定していきましょ。
ということでWebコンソールでAWS Security Hubを開いたら、こんな感じで
まずAWS Configでの記録が前提条件だぞって言われたので
準備OKっぽいかな?
AWS Security Hubを有効化
本題のAWS Security Hubの有効化設定をします。
設定少ないですね。せいぜいセキュリティ基準のどれを有効にするかくらいです。
ひとまずデフォルトで有効になっている AWS 基礎セキュリティのベストプラクティスv1.0.0 を有効化
と
CIS AWS Foundations Benchmark v1.2.0 を有効化
をなんも考えずにやってみます。えいっとな。
できたよう…ですが、イマイチなにが動いたのかわかりません。なんも検出されてないですね。
なんじゃこれ……と思って数分いじくっていたら、んん?
失敗列に 1 というカウント!なんか失敗してるっぽい!?
開いてみると、詳細にダメなところを教えてくれます。
RDSとな?
このアカウントは個人のお遊び用アカウントのため、ほとんどのリソースは使い終わったら片付けているのでデータなしなんですが、
以前立てていたRDSのスナップショットがよくないよって言われてるみたいですね、なるほどなぁ。
こんな感じでアカウント内のセキュリティ上よくない部分を自動で指摘してくれるみたいです、便利!
項目をクリックすると詳細解説もあるんですが、修復手順もリンクで教えてくれます、手厚い!
こんな感じで怒られたところをぼちぼち直していくとベストプラクティスに近づくって感じですね。
放置していると続々と様々なチェックが走ったようで、24時間ほど放置するとこんな感じに落ち着きました。
わーい結構色々リスク抱えてらぁ……ちゃんと整備しよって思いました。
何も考えずにパブリックに公開したS3バケットとかどうなるんだろう
わざと怒られそうなことをやってみて、動くところを見てみようと思いました。
S3バケットが公開なのは典型的なセキュリティダメダメパターンかなと思い実施、案の定怒られました。
へー。
統合の検出結果を見てみる
Security Hubのコンソールから Amazon GuardDuty とか Amazon Inspector とか、
他の脅威検出系サービスの検出状況も見えるということなので、試してみたいと思います。
まぁ何も検出しないわな。
GuardDutyを統合して表示してみる
まず試しに GuardDuty
を設定してみましょうか。
現時点ではなんも設定されていないので、リンクに飛んで開始してみよう。
ってやるとほぼ何も考えずに設定されました。
直後なんで何も出ないですが、 設定
タブの 結果サンプルの生成
とかやると
そのときSecurity Hubのダッシュボードはというと、まずダッシュボードにも出てきますし
検出結果画面にも製品名 GuardDuty
として色々項目が出てきてますね。
Inspectorも統合して表示してみる
Webサービスの脆弱性検出にいいぞって話を聞いているのでこれは是非とも使ってみたい。ということで。
これを
こうして(ちなみにWeeklyがオススメっぽいのでそのまま)
こうじゃ!
……動いたのか?と思ったので 評価の実行
タブを覗いてみると
自分のアカウントにはnginxのEC2インスタンスが一つ立っているのですが、エージェントが要るって話があるの忘れてたので入れます。
こちら を読みつつ。
EC2インスタンスにログインして作業。
$ wget https://inspector-agent.amazonaws.com/linux/latest/install
(略)
$ sudo bash install
(略)
$ sudo /opt/aws/awsagent/bin/awsagent status
Configuration file path : /opt/aws/awsagent/etc/agent.cfg
Configuration status :
Proxy In Use: false
Agent version : 1.1.1657.0
System release : "Ubuntu 18.04.3 LTS" - 4.15.0-1051-aws
(略)
かんたーん。
評価を再実行してみると、ちゃんと動いた気配のレコードが追加されました。
ちなみに走り切るの結構時間かかりました。終わったところがこちら(若干試行錯誤の痕跡が…)
こちらもSecurity Hubから見るとどうなるかなっていうと、ダッシュボードに無事出てきていて
検出結果にも、製品名 Inspector
として出てますね。
感想
リスク自動検出結果を、いくつかのサービス間で横断的に見れるのは便利でいいですね。
僕自身振り返ると、開発にばかり目を向けていると知識として抜け落ちがちなのがセキュリティ周りのスキルだなぁ、
と常々反省しているところです。
そんな僕みたいなタイプが使うと、リスクを防ぐ意味に加え、自身の知識向上・学びという意味でもメリットがあり、
とても良さそうだと感じました。
設定も簡単な感じですし、重宝しそうな気がします、使っていこ!