[AWS] AWS Shield StandardとAdvancedの仕様

会社のシステムがDDoS攻撃を受けたのですが、その時にAWS Shieldってあったよなと思い出して調べたので備忘録として残します。

 間違って解釈していないのであれば、基本的にAWS Shield Standardはエンジニア側で設定をせずとも機能しており、このプランである限りはそもそも操作できない気がします。

AWSのセキュリティサービス


 AWSのセキュリティサービスとして「AWS WAF & Shield」があります。AWS WAFは簡単にいうと防火壁です。IPアドレスでのアクセス制限や国外からのアクセスを禁止したり、特定のアクセスが連続で発生した場合に遮断したりできます。CloudFrontやALBにWAFの設定を反映することができ、基本的には検査したIPアドレスの数に応じて料金が発生します。

AWS WAF は、お客様のウェブアプリケーションを、アプリケーションの可用性、セキュリティの侵害、リソースの過剰な消費などに影響を与えかねない一般的なウェブの弱点から保護するウェブアプリケーションファイアウォールです。AWS WAF を使用すると、カスタマイズ可能なウェブセキュリティルールを指定することによって、どのトラフィックをウェブアプリケーションに許可またはブロックするかを制御できます。
引用元:https://aws.amazon.com/jp/waf/

 コストが安価で、例え100万リクエストを検査したとしても$0.60で済んでしまいます。アクセス制御のルールについてもある程度コントロールすることができるので、DoS攻撃を始めとした不正なアクセスを制御することができます。

 …が、DDoS攻撃のようにIP帯やアクセス元ポートを多彩に変化させた攻撃に関して、WAFだけでは制御のための条件パターンが追いつけなくなります。精々、海外からのアクセスを拒否する設定をつけるくらいでしょう。

※追記(2020/01/21)
2019年12月に「AWS Managed Rules」が発表されました!
今までも有料で複雑なルールを購入することができたのですが、今回は無料で使えるOWASPトップ10のセキュリティリスクに対応したルールをAWS側が用意してくれています。
これは破格なので是非ともチェックしていただきたいですね・・・!

DDoSにも立ち向かえるのがAWS Shield


 そう思っていた時期が私にもありました。AWS ShieldはDDoS攻撃に対する保護サポートで、Route 53、CloudFront、ELB、インスタンスそれぞれで保護の機能が働いてくれます。AWS Shiledには2種類のプランが存在します。Standardプランは基本的なDDoS攻撃からの保護を行ってくれるようで、しかも無料です。

 そして有料のAdvancedプランは月額$3,000かかりますが、詳細なルールをカスタマイズできる他、24時間体制のサポートチームがいつでも利用できるようです。そのため、AWSのサポートチーム側に泣きつけばあちらですぐさま攻撃を防ぐ手配をしてくれる…というイメージですね。

 とりあえずAWS Shieldは「実は気がつかないところで既に作動していて攻撃を防いでくれている。」ようです。しかしStandardプランでも防ぎきれない攻撃に関してはWAFなどの別のサービスを利用するかAWS Shiled Advancedへプランを変更しなければならないという感じでしょうか。

この二つは保護する範囲も異なるようで、StandardプランではOSI参照モデルのレイヤー3・4階層であるインフラストラクチャに対する攻撃への保護を目的としていますが、Advancedプランではそれに加えてレイヤー7階層であるアプリケーションに対する保護も行うことが可能です。
ただしAdvancedプランでアプリケーション層に対する保護を行う場合にはAWS WAFでのルール作成が必要となります。

Standardプランでは利用者側からは特に設定を行うことはできませんが、AdvancedプランではALBやCloudFrontなどどのサービスに対して保護を有効にするかの設定や、どの程度攻撃を防いでいるのかを見ることができます。

※追記(2020/01/21)
この料金はAWS Shield Advancedをサブスクライブしている組織企業単位で適用されるため、大規模な企業でたくさんのAWSアカウントを所持している場合には相対的なコストは低くなります。
例えばあるグループ会社が合わせて100個のAWSアカウントを持っていたとしても、請求アカウントが一つに紐づいている場合には月額$3,000の支払いだけで済むということになります。ただしアカウント毎に通信量に応じた課金は発生するため注意が必要です。

結局DDoS攻撃にはどうすればいいか

 AWS Shield Standardがどの程度機能しているのかわかりませんが、既にAWSからの保護を受けているにも関わらず突き抜けて来る攻撃があるのであれば、こちらからできる対策は少ないと思います。
 そもそも我々利用者が問題とするDDoS攻撃はアプリケーション層に対する攻撃がほとんどです。そのためStandardプランでは適用外となってしまいます。
 いっそのことWAFの設定で海外からのアクセスを一切遮断してしまうか、素直にAWS Shiled Advancedへアップグレードするしかないでしょう。

※追記(2020/01/21)
AWSの人に直接「AWS Shield Standardってどの程度機能しているのか分からないんですよねー。」と話題に出したら「Advancedプランに更新すればレポートが見れるようになりますよ(にっこり)」と言い返されました(笑)

終わりに

 会社のシステムがDDoS攻撃を受けたことで関心を持ったAWS Shieldですが月額コストが結構かかります。一人のインフラエンジニアが勝手に利用を決断できるような機能ではないことは確かです。

 明日は我が身と思うのであれば、WAFで海外からのアクセスを遮断する設定を前もって用意しておくか、攻撃を受けたときにどう対応するのか、Advancedを契約するのかをしっかりと上司と決めておく必要がありそうですね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)