AWS Shield Advancedを試してみた

eyecatch-sheild

こんにちは、コカコーラ好きなカジです。

今日は、AWS Shield Advancedの設定の手順について紹介します。

AWS Shieldとは

AWSで稼働するELB(ALB,CLB),CloudFront, Route53の DDoS 対策を提供するサービスです。

StandardとAdvancedの2つがあります。

Standardは全てのAWSアカウントで無償、主要なDDoS攻撃対策やモニタリングが提供されます。

Advancedは月額$3000で、

  • DDoS攻撃発生時の各種支援
  • DDoSにより生じたAWS課金の補填 - DDoS履歴の詳細レポート提供(L3、L4、L7)

など、追加のセキュリティ運用サービスが提供されます。

AWS Shield StandardとAdvancedの差異

マネージメントコンソールの表示内容を直訳してます。AWS Shield Advancedを有効化する前に表示されています。

特徴 AWS Shield Standard AWS Shield Advanced
アクティブな監視
ネットワークフロー監視
自動化されたアプリケーション(レイヤー7)トラフィックの監視 -
DDoS対策
SYNフラッドやUDPリフレクション攻撃などの一般的なDDoS攻撃から保護します。
追加のDDoS軽減能力へのアクセス -
可視性と報告
レイヤ3/4アタック通知と攻撃フォレンジックレポート -
レイヤ3/4/7攻撃履歴レポート -
DDoS対応チームのサポート
重大度が高いイベントでのインシデント管理 -
攻撃時のカスタム軽減 -
攻撃後の分析 -
コスト保護
Route 53、CloudFront、およびELB DDoSの料金に関連する払い戻し -

1.AWS Shield Advancedのセットアップ(CloudFront保護設定)

それでは、AWS Shieldを有効化してみます。 AWSマネージメントコンソール>WAF&Shieldをクリックします。

aws-shield-00

左側のAWS ShieldのProtected resourcesをクリックし、右下の「Activate AWS Shiled Advanced」をクリックします。

aws-shield-01

再度、AWS Shield Advancedの課金承諾のウィンドウが開きます。

aws-shield-02

"I agree"を入力すると右下の「Activate AWS Shiled Advanced」がクリックして開始となります。

aws-shield-03

Activateが完了すると、「Choose resources」をクリックして保護対象のリソースを選択します。

aws-shield-04

Resource typeは以下の4つから選べます。

  • CloudFront distribution
  • ELB Application Load Balancer
  • ELB Classic Load Balancer
  • Route53 Hosted Zone

まず最初にCloudFront distributionを保護設定してみます。

aws-shield-05

リージョンはCloudFrontの場合はGlobalになります。

AWS resourceは同一アカウントのCloudFront distributionが選択されます。

Protection nameは自動入力されますが、[a-zA-Z0-9_.-]の文字列である必要があり、エラーが出る場合は適当に修正します。

「Associate your protected resource with a web ACL」ですが、アプリケーション層の攻撃を監視するには、保護対象のリソースをAWS WAF(Web ACL)に設定する必要があります。 AWS WAF(Web ACL)がまだ設定していない場合は、新しいAWS WAF(Web ACL)を作成し、設定済みの場合は既存のAWS WAF(Web ACL)を選択できます。今回は、AWS WAF(Web ACL)は設定してあるので、そのまま利用します。

aws-shield-06

全て入力が終わったら「Add protection to resource」をクリックします。

追加が終わると以下の画面になり、1行保護対象リソースが表示されます。 aws-shield-07

2.ALBの追加保護設定

保護対象のリソースを追加するには、Protected resourcesの「Add protected resource」をクリックして追加します。

aws-shield-08

今度はALBの保護設定を実施します。 Resource typeを「ELB Application Load Balancer」を選択します。 RegionはALBを設定しているリージョンを指定します。今回の環境は東京のためAsia Pacific(Tokyo)を選択し、AWS resourceはALB名を選択します。 Protection nameは自動入力されます。[a-zA-Z0-9_.-]の文字列である必要がありエラーが出る場合は適当に修正します。

「Associate your protected resource with a web ACL」は、CloudFrontと同じです。今回は、AWS WAF(Web ACL)は設定してあるので、そのまま利用します。

aws-shield-09

全て入力が終わったら「Add protection to resource」をクリックします。

追加が終わると以下の画面になり、1行保護対象リソースが追加表示されます。

aws-shield-10

3.Route53 Hosted Zoneの追加保護設定

保護対象のリソースを追加するには、Protected resourcesの「Add protected resource」をクリックして追加します。(ALBと同様です。) Resource typeを「Route53 Hosted Zone」を選択します。 リージョンはRoute 53の場合はGlobalになります。 AWS resourceはHosted Zone名を選択します。 Protection nameは自動入力されますが、[a-zA-Z0-9_.-]の文字列である必要があり、エラーが出る場合は適当に修正します。

aws-shield-11

全て入力が終わったら「Add protection to resource」をクリックします。

追加が終わると以下の画面になり、1行保護対象リソースが追加表示されます。

aws-shield-12

レポート

検知した場合はインシデントに表示されるようです。まだ設定したばかりのため特に表示はありません。表示されたら、またブログに公開したいと思います。

aws-shield-13

まとめ

Amazon Shield Advancedをご紹介しました。AWS WAFを事前に設定しておくと導入がスムーズで簡単になります。発生して欲しくないですが、どんなインシデントが表示されるのか期待していきたいところです。

AWS Cloud Roadshow 2017 福岡