目次
前書き
仕事の一環で多少触れる機会があったため、何回かに分けてまとめていこうかと思います。
Shield Advancedをご存じでしょうか。
DDoS攻撃に対応したサービスですが、あまり耳にしたことがない言葉かもしれません。
それもそのはず。Shield Advancedは月間3000USDかかってしまう高額サービスだからです。
しかも契約から12か月間の縛りが存在します。
日本円に直すと、年間で600万円以上の利用料になってしまいます。
普通にAWSを使っている環境では、高額すぎて手がでないかもしれません。
ですが、値段以上にメリットがあるサービスだと思いましたので、どのようなサービスなのか、注意点など交えながら紹介していきたいと思います。
DDoS攻撃とはなにか
Distributed Denial of Service攻撃を略してDDoS攻撃と呼んでいます。
ものすごくざっくり説明すると、いろいろなところから大量のアクセスを送り付けることでサーバなどの負荷を高め、サービスを正常に利用できない状態にする攻撃です。
要するに攻撃対象のサーバなどに負荷をかけることができればいいわけで、DDoS攻撃には様々な手法が存在します。
SYNフラッド攻撃やUDPリフレクション攻撃などいろいろな手法があるのですが、それらすべてをまとめてDDoS攻撃と呼んでいます。
攻撃元が一か所ではなく多岐にわたることからアクセスの遮断をすることが難しく、対応に困ることが多い印象ですが、AWS Shieldを利用することでDDoS攻撃に対する防御性能を高めることができます。
Shield Standardとはなにか
Shield Advancedについて語る前に、Shield Standardについてお話をしたいと思います。
なぜなら、Shield AdvancedはShield Standardの延長線上に存在するサービスだからです。
いきなり難しい話をする前に、Shield Standardについて簡単にまとめてみましょう。
とはいっても、皆さんShield Standardを触ったことがないのではないでしょうか。
そもそもShield Standardとはすべてのお客様に対し、自動的に有効化されているサービスだからです。
EC2やELBなど、自分で立ち上げる必要があるサービスと大きく異なる点ですよね。
Shield StandardはL3/L4層に対するDDoS攻撃を防いでくれるサービスです。
L7に対しての攻撃は防ぐことができないため、その場合はWAFを利用しましょう。
Shield Standardはインターネットに面した全てのAWSサービスをサポートしてくれ、追加料金も発生しないため完全に無料で利用することができますが、実際にどのように攻撃を防いでいるかなどは開示されていません。
このあたりを細かく開示してしまうと、攻撃者が防御の仕組みをかいくぐれるようになってしまいかねないので仕方がないことだと思います。
つまるところ、普段意識していない領域ではありますが、AWSがDDoSに対する防御機能を構築してくれている、という理解でいいかと思います。
ちなみにですが、つぎのようなグラフも提供されています。
「WAF & Shield」のページから閲覧することができます。
左カラムから「AWS Shield → Global threat dashboard」とたどってみてください。
画面右側に要約が記載されていますが、脅威レベルはNormal。SYNフラッド攻撃が多く利用されているとのことでした。
このダッシュボードはShield Advancedを利用していなくても閲覧ができるため世界の攻撃トレンドなどを把握するのにいいと思います。
Shield Advancedとはなにか
それでは上記を踏まえ、Shield Advancedのお話にはいりたいと思います。
一言でいうなら、Shield AdvancedはShield Standardのオプション機能です。
AWS Shieldにはデフォルトでは利用できない追加機能がいくつもあります。
Shield Advancedのサブスクライブを行うことで(月額課金をすることで)解禁されるいくつかの機能こそがShield Advancedの真骨頂だと思っています。
では、どんな機能が使えるようになるのかお話していこうと思います。
L7防御機能
さきほど、L7の防御を行うにはWAFを利用してくださいと書きましたが、ShieldAdavancedではWAFとの高度な連携がサポートされています。
自動緩和を有効化すると、Shield Advancedがベースラインを構築します。
詳細は開示されていませんが、過去のトラフィックデータを参考にしたものです。
このベースラインとアクセストラフィックを比較し、攻撃と判断されたトラフィックに対するルールをWAFに自動的に追加してくれる機能です。
もちろん誤遮断が怖いという方もいらっしゃると思います。
ブロックではなくカウント(ログへの記録のみ)も選べるためご安心ください。
基本的にはしばらくの間カウントで様子を見てからブロックへの切り替えを行うことになると思います。
なお、WAFのレートベースルールも非常に有効です。
例えば5分間に同一IPから1000件以上アクセスが来た場合、そのIPをブロックすることでDDoSへの自動的な対処がより効率化されます。
SRTとの連携
SRTというのはAWSが抱えているDDoS対策専門チームでShield Response Teamの略です。
SRTとの連携方法は二つあります。
一つはSRTに対する連絡機能です。こちらはわかりやすいですね。
サポートケースから起票をすることで、SRTに対して連絡をすることができます。
ただし、日本語での対応が24/365で提供されているわけではありません。
平日日中帯(9-18時)は日本語での対応が可能とのことですが、日本語のエンジニアとSRTは別の部隊にいるようです。
日本語での対応はやりとりに時間がかかる可能性がありますので、たとえ平日日中帯であっても英語での問い合わせをおすすめします。
もう一つの経路がSRTから連絡が来るものです。
プロアクティブエンゲージメントという機能でして、これは別途連絡先を設定する必要があります。
基本的にはShield Advancedで保護しているリソースがDDoSを受けてサービス影響がでていそうな時に連絡をくれるようですが、保護していないリソースでも大規模なDDoS攻撃を受けている場合は連絡をしてくるケースがあるようです。
また、備考を書く欄があるのですが、そこに連絡方法などを書くとある程度(ベストエフォート)対応してくれるようです。
このあたり結構ふわっとしてはいますので、要注意です。
ちなみになのですが、CloudfrontやALBのログをS3に吐き出すように設定をしている場合、SRTがログの解析からWAFへのルール追加までやってくれます。
月額3000USDという高額サービスではありますが、このあたりかなり大きなメリットですね。
※事前にS3に対するアクセス権限を作成している必要があります。
コスト保護
DDoS攻撃を受けた場合、当然ですがトラフィック利用量が跳ね上がります。
それに応じてAWSの利用料金も大きく増大してしまいます。
正常に利用していないのにお金がかかってしまうんですね。
ですがShield Advancedを利用している場合、DDoS攻撃によって増えてしまった分のAWS利用料が請求されなくなります。
※無条件ではありません。DDoS攻撃を受ける前に対象リソースの保護をしている必要があるなど、いくつか制約があります。
また、保護しているリソースに紐づいているWAFについては料金が請求されません。
どんどん利用していきましょう。
※あくまでもWAFの基本料金のみが請求対象外になるだけであって、オプションであったりマーケットプレイスのWAFルールに対する課金などは請求されます。
色々と制約や条件があるものの、Shield Advancedを利用することによって料金的にもお得になる機能がさまざま存在します。
ただわかりにくい部分ではありますので、公式ドキュメントをよく読んで事前に設定が必要な個所は設定しておきましょう。
レポート機能
Shield Advancedをサブスクライブすることで新たにレポート機能が利用できるようになります。
保護したリソースについて、検出したイベントをほぼリアルタイムで通知することもできます。
また、検出したイベントや緩和に関する詳細な内容も確認できます。
さらにCloudwatchのメトリクスについても新たに利用できるようになります。
DDoSDetectedというメトリクスを監視することでDDoS攻撃を受けているかどうかの確認ができますし、DDoS攻撃の種類によって細分化されたメトリクスを見ることでどのような攻撃を受けているのか知ることができます。
攻撃の種類によって効果的な防御策も変わりますので、どのような攻撃を受けているのか知ることがDDoS防御の近道と言えます。
Shield Advancedの注意点
最後にShield Advancedの注意点をまとめておきます。
課金について。
3000USDが月間のサブスクライブ費用ですが、これはアカウント単位ではありません。
Organization単位に対しての課金です。
なので、同じOrganizationに10アカウントいて、そのうち5アカウントがShield Advancedのサブスクライブを行っていたとしても課金されるサブスクライブ費用に変動はありません。
自社Organizationに複数アカウントが所属しており、それらのアカウントでもサブスクライブ可能という立て付けです。
※アカウント形態については、必要なタイミングで都度AWSに相談されるのが良いと思います。
また、先に述べた通りShield Advancedの課金体系は複雑です。
特にWAF周りは想定通りの金額で収まるかどうか、公式ドキュメントをよくご確認ください。
解約について
サブスクライブ費用についてですが、12か月の契約が必須となっています。
途中解約はできかねますのでご注意ください。
Organizationの管理アカウントからサポート起票することによってShield Advancedの自動更新をキャンセルすることができます。
キャンセルされない場合、サブスクライブが自動更新されますのでご注意ください。
また、解約ができるタイミングについても注意が必要です。
終了日の5-30日前でなくては更新の自動更新ができません。
※CLIでも自動更新のキャンセルはできますが、サポート起票のほうが安心だと思います。
保護リソースについて
先にも述べましたが、Shield Advancedをサブスクライブするだけでは意味がありません。
リソースの保護を行い、適切な設定を行うことで初めてShield Advancedが機能します。
また、DDoS攻撃を受ける前にリソースの保護をしておかないとコスト保護が働かないことに注意してください。
動いているリソースはすべて保護するくらいでもいいと思います。
※AWSとしては、最前段のリソースを保護することを推奨しています。
たとえばCloudfront-ELB-EC2構成の場合だとCloudfrontを保護するべきだ、ということです。
アカウントについて
アカウントのサポートレベルはビジネスないしエンタープライズが必要なことに気を付けてください。
ビジネス以上でないと問い合わせをすることもできませんし、SRTサポートも受けられません。
※上記を満たしていないアカウントでサブスクライブができるかどうかの検証はしておりません。
まとめ
いかがでしたでしょうか。
簡単にまとめてみました。次回は注意点をおさらいしながら、どういう設定をしていけばうまくいくのかについてお話しできればと思います。
国際情勢の悪化に伴いDDoS攻撃も増えている昨今、Shield Advancedをご検討いただければと思います。
投稿者プロフィール
- そろそろGCPに手を出したい
最新の投稿
- AWS2025年1月6日ShiledAdvanced触ってみた
- Amazon Inspector2024年11月12日Inspectorにいろいろ機能が追加されたのでまとめてみました
- Linux2022年12月22日RHEL9にログインする方法を考えてみた
- Linux2022年12月20日RHEL9でInspectorが使えるのか試してみました