はじめに
AWS上のDDoS攻撃に対するセキュリティ技術を勉強するために以下の公式ドキュメントおよび研修を参考にしたので内容をまとめます。
背景
本記事はAWSソリューションアーキテクトプロフェッショナルに合格するために、Udemyの模擬試験を解いて分からなかった部分を勉強してまとめるものです。
試験対策用のため、分からない知識を補足したり試験で問われなさそうなところを省略したりしながらまとめています。
なるべくわかりやすい記載を心がけますが、最終目的は自己学習用であるということをご容赦ください。
DDoS攻撃とは
複数のソースを使用してウェブサイトやアプリケーションに負荷をかけ、正当なエンドユーザーのアクセスを妨害する攻撃。
Distributed Denial of Service attack(分散型サービス拒否攻撃)の略。
OSI参照モデルとDDoS攻撃の種類(主なもの)
|#|レイヤー|アプリケーション|攻撃の例|
|--|--|--|--|--|
|7|アプリケーション|データ|HTTPフラッド、DNSクエリフラッド|
|6|プレゼンテーション|データ|SSLの悪用|
|4|トランスポート|セグメント|SYNフラッド|
|3|ネットワーク|パケット|UDPリフレクション攻撃|
インフラストラクチャ攻撃
- UDPリフレクション攻撃:標的サーバのIPになりすまし、サーバから増幅されたレスポンスが返るようなリクエストを送る。
- SYNフラッド:大量の接続を作成し放置することで標的サーバのTCPサービスを使い果たさせる。
アプリケーションレイヤー攻撃
- HTTPフラッド:HTTPリクエストを大量に送信してアプリケーションを過負荷状態にする。
- DNSフラッド:大量のリクエストを送り付けてDNSサーバのリソースを使い果たさせる。
アーキテクチャによる対策
# | サービス | 概要 |
---|---|---|
BP1 | CroudFront Global Accelerater |
正しい形式の接続のみ受け入れ、攻撃がオリジンに到達できないようにする。 |
BP2 | WAF | ウェブACLルールと関連付けることで送信元IPをブロックする |
BP3 | Route53 | ・シャッフルシャーディング機能により、ネームサーバーが利用不可となった場合に別のエッジロケーションでネームサーバに再試行する。 ・anycastストライピングによりDNSを最適な場所で処理させる。 ・DNSクエリの送信元と量から、信頼できるユーザからのリクエストを優先する。 |
BP4 | APIGateway | AWSのコンポーネントをパブリックアクセスから隠す |
BP5 | ネットワークACL セキュリティグループ |
許可された送信元のアクセスのみに限定する |
BP6 | ELB | 正しい形式のTCP接続のみを受け入れる。 |
BP7 | EC2 | Auto Scalingによりパフォーマンスを向上させる。 |
DDoS攻撃の検知・保護に役立つサービス
- CloudWatch:正常な動作を追跡、把握し、DDoS攻撃を識別する。
- VPCフローログ:ネットワークトラフィックの異常を識別する。
- AWS GuardDuty:AWS上の操作や動作をモニタリングし、セキュリティ上の脅威を検出する。
- AWS Shield:DDos攻撃からウェブサイトを保護する。
- AWS Shield Standard:CroudFrontやRoute53でTCPのレイヤー3,4に対する既知の攻撃から保護する。
- AWS Shield Advanced:Standardに加えEC2等でも、レイヤー3,4,7に対する攻撃から保護する。リアルタイム通知およびAWSから24時間365日のサポートを受けられる。