【AWS】小学生でもわかる！サイバー攻撃から守るサービス(WAF, Shield, Firewall Manager)を徹底解説【擬人化】

:::note warn
「AWSに親しみを持つエンジニアが1人でも増えてほしい」という思いを込めて、擬人化で説明してます。
「ちょっとノリが合わないな…」と思ったら、戻るボタンで回れ右してね :wink:
:::

## はじめに

こんにちは！
この文章では、AWS（アマゾン・ウェブ・サービス）が提供するセキュリティサービスを、擬人化して楽しく紹介するよ。AWSは、インターネットを通じていろんなサービスを提供する会社だけど、そのサービスを安全に守るために、たくさんの頼もしい仲間たちが頑張っているんだ。

セキュリティって聞くと難しそうだけど、実は彼らもみんな個性的で面白いキャラクターなんだ。たとえば、セキュリティを守るために一生懸命働く**AWS WAF**や、悪質な攻撃から私たちを守ってくれる**AWS Shield**など、彼らの役割や特徴をわかりやすく説明していくよ。




![スクリーンショット 2024-10-29 16.48.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401561/cb4efbf3-0304-a484-49d1-a568903b5d8c.png)

この文章を読んで、AWSのセキュリティサービスに親しみを持って、どんなふうに私たちのデジタルな世界を守っているのかを理解してもらえたら嬉しいな。それじゃあ、さっそく彼らの紹介を始めていくよ！

## AWS WAF

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401561/0349f55d-394d-8c6a-b6ac-b284faecf852.png" width="200">


WAF（Web Application Firewall）さんはとても真面目で責任感が強くて、保安検査員のような役割を担っているよ！

一見真面目でお堅い印象だけど、人によって態度を変えたりは絶対にしない理性的な人なんだ。**（通常のFirewallは送信元/宛先のIPアドレスやポート番号で通信の可否を判断する。）**

彼の役目は、**アプリケーションに届くリクエスト（ユーザーの操作や情報）をしっかりとチェックし、不正なものを通さないようにすること。**

https://aws.amazon.com/jp/waf/

通常のファイアウォールはIPアドレスやポート番号で通信の可否を判断するけれど、**WAFさんはリクエストの内容を厳しくチェックして、攻撃のパターンに合致するリクエストをブロックするという特徴があるよ**。

例えば、**SQLインジェクションやクロスサイトスクリプティング（XSS）**　といった攻撃から、サービスをしっかりと守ってくれるんだ。

:::note info
**AWS WAFの特徴**
- 攻撃を検知したことをCloudWatchに連携することができる
- 一般的な攻撃をブロックするためのルールが予め提供されている
- マネージドルール、ユーザー定義ルールを組み合わせることができる
:::

## CloudWatchとの連携

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401561/0cc061d4-4261-94cd-84de-1692a8718ff3.png" width="200">

また、WAFさんはどんな時でも報連相（報告・連絡・相談）を徹底していて、攻撃を検知するとすぐに**CloudWatch**さんに知らせるよ！

これにより、セキュリティ担当者はどんな攻撃が発生したのかをすぐに確認できるし、リアルタイムで状況を監視しやすくなるんだ。

https://docs.aws.amazon.com/ja_jp/waf/latest/developerguide/monitoring-cloudwatch.html




一見地味な仕事に見えるんだけどWAFさんはサイバー攻撃から、[**頼りがいのあるALBさん**](https://qiita.com/sugichaaaan/items/1258d760ea3efd4e4410#albapplication-load-balancer)さんや速達のプロであるCloudFrontさんといった重要なサービスを守るために欠かせない存在だよ。

### 攻撃検知のルール

WAFさんには、攻撃を検知するための「ルール」が用意されていて、以下の2つの種類があるんだ。

:::note info
1. マネージドルール
1. ユーザー定義ルール
:::

それぞれについて解説していくね！

#### 1. マネージドルール

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401561/78280eef-f545-855c-4183-53f66f800449.png" width="300">

WAFさんは、**お客様の元に派遣される前にセキュリティのプロフェッショナル達が作成したルールセット（[マネージドルール](https://docs.aws.amazon.com/ja_jp/waf/latest/developerguide/aws-managed-rule-groups.html)）を学ぶんだ**。これらのルールセットはAWS Marketplaceで購入できる教材のようなもので、AWSが事前に一般的な攻撃を防ぐためのルールをまとめて提供しているんだよ。

https://docs.aws.amazon.com/ja_jp/waf/latest/developerguide/aws-managed-rule-groups.html

たとえば、**SQLインジェクションやXSS（クロスサイトスクリプティング）といったよくある攻撃のパターンを素早く覚えて、お客様の元に出発する準備を整えるんだ。** WAFさんはとても飲み込みが早いから、このルールセットをすぐに吸収して対応できるようになるんだよ！

#### 2. ユーザー定義ルール
現場に出たWAFさんは、**お客様ごとに異なる要望やニーズに応じて、追加でカスタムルールを設定することができるよ。** これを「[ユーザー定義ルール](https://docs.aws.amazon.com/ja_jp/waf/latest/developerguide/waf-rules.html)」と呼ぶんだ。ユーザー定義ルールには以下のような設定が含まれているんだよ：

https://docs.aws.amazon.com/ja_jp/waf/latest/developerguide/waf-rules.html

:::note info ユーザー定義ルールの例

- IP制限: 特定のIPアドレスからのアクセスのみを許可または拒否
- レートベースルール: 同じIPアドレスからの大量アクセスを制限し、不正アクセスを防止
- 脆弱性対策ルール: 特定の脆弱性に基づいたブロックルールを設定
- 悪意のあるHTTPリクエスト: 悪意あるパターンのHTTPリクエストを識別してブロック 
:::


これにより、お客様のニーズに合わせた柔軟で精密な防御体制が作られるんだ。

## AWS Shield

次に紹介するのはAWS Shield（以下、Shieldさん）だね！

Shieldさんの役割は、インターネットを通じて大量のリクエストを送りつけてくる[DDoS攻撃](https://www.trendmicro.com/ja_jp/security-intelligence/research-reports/threat-solution/ddos.html)という「過剰な贈り物」からサービスを守ること。もし彼らがいなければ、サービスがその重みに耐えきれず、遅延やダウンといった問題が発生するかもしれないよ。

### AWS Shieldのチーム構成

Shieldのチームには、2つのタイプがいるんだ。
それぞれのタイプは異なる防御力とサポート内容を持っているよ！

:::note info
- AWS Shield Standard
- AWS Shield Advanced
:::

#### 1. AWS Shield Standard

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401561/082a9787-212a-5660-27a9-a942631f4619.png" width="200">

まず、標準的な守備力を持つAWS Shield Standardさん。

彼は**基本的なDDoS攻撃に対する防御を提供してくれて、AWSのほぼすべてのサービスに標準で適用される**んだ。

**追加料金も発生しない**ので、AWSのユーザーはだれでも利用できる、頼りがいのある「門番」みたいな存在だよ！

https://docs.aws.amazon.com/ja_jp/waf/latest/developerguide/ddos-standard-summary.html


#### 2. AWS Shield Advanced

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401561/37634f3d-a474-d8b2-cd17-07b57d862b55.png" width="200">

一方、さらに強力な守備力を誇るのがAWS Shield Advancedさん。

この方は、**有料のサブスクリプション制で、標準のDDoS防御に加えて、もっと高度な攻撃を防ぐ専門的なサポートもしてくれる**。

例えば、攻撃が発生したときには専任のサポートチームに連絡して迅速に対応したり、攻撃に伴うコストの補償も受けられるなど、重要なシステムをさらに手厚く守るのが特徴だよ。

盾を構えて大きな攻撃からサービスを守ってくれるShieldさんの存在で、インターネットからの脅威に安心して立ち向かえるんだ！

https://docs.aws.amazon.com/ja_jp/waf/latest/developerguide/ddos-advanced-summary.html



## AWS Firewall Manager

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401561/018c76e5-e8a4-b123-f4ad-3ae32fce4935.png" width=200>

そして最後に紹介するのが、AWS Firewall Managerさん（以下、Firewall Managerさん）！

Firewall Managerさんは、いわばAWS WAFさんやAWS Shieldをまとめる管理職的な存在なんだ。**組織全体のセキュリティポリシーを一括で管理し、複数のAWSアカウントにわたるセキュリティのルールをしっかりと適用してくれる**頼りがいのある人だよ。

https://docs.aws.amazon.com/ja_jp/waf/latest/developerguide/fms-chapter.html

例えば、たくさんのAWSアカウントがある会社で、それぞれのアカウントにWAFさんのルールやShieldの保護を適用したい場合、Firewall Managerさんにお願いすると一度の設定で全体に適用できるんだ。これにより、**全体のセキュリティがばらつくことなく、一貫した守りが得られるんだよ。**

また、Firewall Managerさんは**新しく作成されたアカウントにも自動でセキュリティポリシーを適用してくれる**から、忘れがちな設定も漏れずに実行できる！組織全体の守りを固める大黒柱なんだ。

## 後書き
擬人化たのちい。
「はたらく細胞」のようにAWSサービスも擬人化したら覚えやすいのかもねぇ。（実際先駆者はいるみたいだけど！）

https://www.slideshare.net/slideshow/jawsug-26886881/26886881#19


## 擬人化シリーズ

https://qiita.com/sugichaaaan/items/1258d760ea3efd4e4410#albapplication-load-balancer