AWSセキュリティ対策2020

[くふうカンパニーアドベントカレンダー](https://qiita.com/advent-calendar/2019/kufu)17日目の記事です。

あなたのサービス、セキュリティ対策万全ですか？
2020年を迎える前に、セキュリティ対策を行う前に脅威や脆弱性についておさらいしてみましょう。


![risk.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/77923/15c4dd9b-9115-5530-5af1-4e8e1019620e.png)
　脅威とは、不正アクセスや、サービス妨害、ウィルスなど人間によって引き起こされるものと、災害(地震、台風、火災)など環境によって引き起こされるものに分類されます。その脅威に利用される恐れのある弱点が脆弱性というわけです。脆弱性とは、ソフトウェアやハードウェアの「バグ」や「セキュリティホール」、アクセスコントールの欠如など脆い部分の事を言います。 「脅威」と「リスク」は混同されがちですが、リスクを引き起こす要因が脅威であり、リスクは可能性です。リスクは、脆弱性に脅威がつけ込む事で発生し、守るべき情報資産の価値が高いほどリスクは大きくなります。セキュリティ対策は、リスクを発生させないための対策です。
　一連の脅威とリスクの関係は、例えば、盗み目的の泥棒(脅威)が、鍵のかけ忘れた窓(脆弱性)から家へ侵入し、金品等(資産)の盗みを働く事件と置き換えてみるとわかりやすいです。鍵のかけ忘れには十分注意し脆弱性を極めてゼロに近づけたとしても、残念ながら泥棒といった脅威そのものが無くなる事はないと言えます。

### AWSのセキュリティ対策

各種AWSセキュリティサービスの利用目的を理解しておくと、イメージしやすいのではないでしょうか。
ここでは挙げられていないサービスもたくさんありますが、より包括的な対策サービスについて記載しています。

- 脅威を検知する
    - GuardDuty
- 脅威から身を守る
    - AWS WAF :new: 
- 脆弱性を検知する
    - IAM Access Analyzer :new: 
    - Inspector
- 検知した脅威および脆弱性を調査する
    - Security Hub
        - GuardDuty, IAM Access Analyzer, Inspector等の結果を包括的に確認できるサービス
    - Amazon Detective :new: 

WAFやGuardDutyならびにInspector、Trusted Advisorについては[昨年の記事](https://qiita.com/tsubowish/items/c73e964909bb71c19dd5)をご覧ください。今回は、:new:が付いているサービスに付いて述べていきます。

# AWS WAF 
WAFはWebアプリケーションの脆弱性を悪用した攻撃からWebサイトを保護するセキュリティ対策です。 :new:の理由は後述しています。

### レートリミットによるアクセス制限
https://aws.amazon.com/jp/about-aws/whats-new/2019/08/lower-threshold-for-aws-waf-rate-based-rules/
2019/8に5分あたり100件までレートベースの閾値を下げることが可能になりました(従来は5分あたり2000件)。この変更は非常にありがたいです。悪意のあるbotアクセスやログイン施行、一般ユーザーとは考えにくい大量アクセスなどをレートリミットで防ぐことができます。導入も非常に簡単なので、すぐに試してみましょう。

AWS WAFでRuleを作成します。
<img width="563" alt="スクリーンショット 2019-12-17 11.08.21.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/77923/7f14c8dd-e179-6fb6-6803-1c0ada277d4c.jpeg">
適当な名前をつけて、Rate Limitを設定します。
<img width="1132" alt="スクリーンショット 2019-12-17 11.08.07.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/77923/435cb5f9-ab4b-6eb6-7212-339f569321ed.jpeg">
本番環境へ導入する際は、サービスを利用する一般的なユーザーのアクセスを制限してしまわないように、閾値には十分注意してください。WebのACLに作成したRuleを適用することで、すぐに利用が可能です。ACLはCloudFrontまたはApplication Load Balancer,API Gatewayに適用可能です。

### AWSマネージドルール
2019/11に装いを新たにWAFはバージョンアップし、従来のWAFはClassic扱いとなりました。:new:
https://aws.amazon.com/jp/blogs/aws/announcing-aws-managed-rules-for-aws-waf/
バージョンアップにより、AWSのマネージドルールの利用が可能となり、これまで以上にインタラクティブにWAFのルール設定が可能になりました。
<img width="939" alt="スクリーンショット 2019-12-17 11.50.45.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/77923/74d7c693-7d04-ca31-1277-2b9107625304.jpeg">


# IAM Access Analyzer
2019/12に利用開始となりました。
https://aws.amazon.com/jp/about-aws/whats-new/2019/12/introducing-aws-identity-and-access-management-access-analyzer/
サポートしているリソースが意図どおりのアクセスを提供しているかを継続的にチェックできるサービスです。対象リソースの設定でこ風に外部から利用できるだけど、あなたの意図通りですか、みたいな感じで良い感じにリストアップしてくれるサービスです。
現在の対象リソースは、S3バケット、Lambda関数、KMSキー、SQSキュー、IAMロールとなっています。

アナライザーを作成ボタンを押下し![スクリーンショット 2019-12-17 12.09.05.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/77923/27aa6e32-d733-55a2-6dd9-9aacc851ec4a.jpeg)
アナライザー作成します。
![スクリーンショット 2019-12-17 12.09.39.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/77923/278f764a-21d4-292a-afc6-14c4cfdf832e.jpeg)
検知された結果を選択すると、意図通りのものなのか、意図しないものなのかを分類できます。
<img width="1147" alt="スクリーンショット 2019-12-17 12.23.09.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/77923/3516b121-83a8-dc76-b41b-fc977e1ac9f5.jpeg">

# Amazon Detective
https://aws.amazon.com/jp/detective/

```
AWSリソースからログデータを自動的に収集し、機械学習、統計分析、グラフ理論を使用して、より迅速かつ効率的なセキュリティ調査の視覚化と実施を支援します
```
なにやらすごそうです。従来の調査では、ログの情報量が多く、調査するためにもスキルが必要で、労力や時間がかかっていました。そのような、課題をこのサービスは解決してくれるのではないかと期待しています。

2019/12/17現在はプレビューなので申し込みをしてみてはいかがでしょうか？？
プレビューが利用でき次第、こちらに追記していきたいと思います。

## 最後に
AWSには多種多様なセキュリティ対策のサービスが用意されています。それらを利用しているからをいってリスクが0になるわけではありません。検知された脅威や脆弱性には、みなさんの改善対応が必要です。運用ルーチンに取り込み、定期的なリスク確認と対応を心がけ、安全・安心・快適なサービスを目指しましょう。