コンテンツにスキップ

R-U-Dead-Yet? (R.U.D.Y.) 攻撃の防止

R-U-Dead-Yet (R.U.D.Y.) 攻撃は、長いフォームフィールドを送信することによってサービス拒否 (DoS) を実現します。正当なセッションクッキーを持たないリクエストをブロックするカスタムルールを使用して、これらの攻撃を防ぎます。

この例では、正当な認証済みセッションクッキーを含まない HTTP POST リクエストをターゲットにするために、3つの式を組み合わせています:

  • 最初の式は、http.request.uri.path フィールドを使用して、R.U.D.Y. から保護するパスをターゲットにします:

    http.request.uri.path matches "(comment|conversation|event|poll)/create"
  • 2番目は、正当な auth_session クッキーの形式に一致する正規表現を使用します。not 演算子は、そのクッキーが正しくフォーマットされていないリクエストをターゲットにします:

    not http.cookie matches "auth_session=[0-9a-zA-Z]{32}-[0-9]{10}-[0-9a-z]{6}"
  • 3番目の式は、HTTP POST リクエストをターゲットにします:

    http.request.method eq "POST"

これら3つの式は、and 演算子を使用して複合式に結合されます。指定された URI への HTTP POST リクエストが正しくフォーマットされた auth_session クッキーを含まない場合、Cloudflare はリクエストをブロックします:

  • : (http.request.method eq "POST" and http.request.uri.path matches "(comment|conversation|event|poll)/create" and not http.cookie matches "auth_session=[0-9a-zA-Z]{32}-[0-9]{10}-[0-9a-z]{6}")
  • アクション: ブロック