6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DDoS攻撃に対する対応について(AWS環境)

Posted at

最近DDoSのニュースが多い気がしますね?

年末年始にかけて、DDoS攻撃が原因となるサービス停止や遅延のニュースを頻繁に耳にしたような気がします。


■そもそもDDoS攻撃とは?

DDoS(Distributed Denial of Service)攻撃とは、攻撃対象となるWebサーバーなどに対し、複数のコンピューターから大量のパケットを送りつけることで、正常なサービス提供を妨げる行為を指します。

目的として、ターゲットのサービスを停止または遅延させ、正規ユーザーがサービスを利用できなくすることでしょう。


■DDoS攻撃の厄介な点

これ以外でも様々ありますが、個人的にDDoS攻撃が厄介だと思う点です。

1.正規トラフィックとの区別が難しい
攻撃に利用されるリクエストが、通常のユーザーリクエストに見える場合があります。
実際に正規ユーザーが利用される事がある点。

2.多様な攻撃手法
SYN Flood、HTTP Flood、DNS増幅攻撃など、多様な手法が存在し、対策が複雑です。
いくつかのサービスを組み合わせる必要もあるでしょう。


■対象となるネットワークのレイヤーについて

以前、以下の記事でも書いた事があるんですが、OSI参照モデルで考えると良いかもしれません。
DDoS攻撃は、ネットワーク層(L3)、トランスポート層(L4)、アプリケーション層(L7)といった様々な層を狙って実行されます。

AWS WAFとDeepSecurityで考えるセキュリティ
https://qiita.com/zenden/items/22a67719526291d043d9

【7層 アプリケーション層】
具体的なアプリケーションの通信規則を定めます。HTTP、SMTP、FTPなどがここに属します。

【6層 プレゼンテーション層】
データ表現と暗号化を行います。圧縮、暗号化、文字コード変換が含まれます。

【5層 セッション層】
通信手段を提供し、セッションの確立・維持・終了を管理します。セッションキー、ダイアログ制御が関連します。

【4層 トランスポート層】
エンド間の通信制御を担当します。データのセグメンテーション、再送制御、フロー制御が行われます。

【3層 ネットワーク層】
データを送る相手を決め、最適な経路で送信します。IPアドレス、ルーター、ルーティングが含まれます。

【2層 データリンク層】
隣接する機器同士の通信を実現し、フレームとしてデータを送受信します。MACアドレスやイーサネットスイッチが関連します。

【1層 物理層】
データをビット列として送信するための物理的な接続を担当します。ケーブル、電気信号、ハブなどが含まれます。

DDoSで攻撃の対象となるレイヤーは「7層」と「3.4層」と思います。


■どのAWSサービスで守られる?

階層により、サービスが異なります。

「7層」
AWS WAF が主に対応し、Webリクエストのフィルタリングやアプリケーション層の攻撃(例: HTTP Flood、SQLインジェクション)を防ぎます。

「3.4層」
AWS Shield(StandardまたはAdvanced)が対応し、ネットワーク層やトランスポート層の攻撃(例: SYN Flood、UDP Flood)を自動的に緩和します。


■対策できていない時に攻撃された時の対応

事前に行う事ができる対策としては、WAF、AWS Shieldが適用されている環境を用意する事ですが、
まだ対策がなされていない状況での攻撃を確認した場合として考えてみます。

1. 「攻撃の特定」

前述の通り、攻撃のパターンとしていくつかあります。
サーバーのアクセスログ、ネットワークログから攻撃のパターンを確認しましょう。

サーバーのアクセスログから確認できること

  1. :point_right: 異常なリクエスト数
    • 特定のIPアドレスや範囲から短期間に大量のリクエストが発生している場合。
    • 例: 同じURL(例: /loginや/api/endpoint)に大量アクセス。
  2. :point_right: リクエストのパターン
    • HTTPメソッド(例: GET, POST)やUser-Agentが不自然な形で統一されている。
    • 不正なリクエストヘッダーが含まれる場合。
  3. :point_right: タイムスタンプの集中
    • 特定の秒数や分数にリクエストが集中している場合。

ネットワークログから確認できること

  1. :point_right: 大量のパケット数
    • 短期間で異常に多いTCP/UDPパケットが記録されている場合。
  2. :point_right: 特定のプロトコルの集中攻撃
    • UDPやICMP(Ping)パケットが大量に送信されている(例: UDP Flood、ICMP Flood)。
  3. :point_right: ポートスキャンの痕跡
    • 特定のポート(例: 80, 443)やランダムなポート番号への大量の接続試行。
  4. :point_right: ルータやファイアウォールのログ
    • 未知の送信元IPアドレスや偽装されたIPアドレス(IP Spoofing)が多く記録される。

2. 「トラフィックの制限」

WAFを用いた制限として以下がとても参考になりました。
正規ユーザーが攻撃元となる可能性もある為、永久にブラックリストでなくとも、一時ブロックまでに留めるのが良いかなと思います。


最後に

対応の所は、緊急対応として書きましたがもちろん事前の備えが大事な事は変わりません。

DDoS攻撃は、あらゆる規模のビジネスにとって現実的な脅威です。
攻撃を未然に防ぐためには、多層防御の設計監視の強化、そして継続的な対策の見直しが欠かせません。

この記事を参考に、DDoS攻撃への準備を進めていただければ幸いです。
文字ばかりになってすいません!以上です!

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?