0

SSL EV 証明書で保護された Web サービスがあります。にあるとしましょう: https://webservice.justawebservice.com/webservice/. ユーザーは、この Web サービスにメッセージを送信できます。

悪意のある人物がこの URL を取得すると、その人物は WSDL を表示し、サービスの場所を Web で確認できます。しかし、最も重要なことは、彼がメッセージを送信できるようになることです。Web サービスにはある種の認証がありますが、これはメッセージが送信されたときにのみ行われます (メッセージにはユーザー名とパスワードが含まれています)。悪意のある人物が Web サービスを大量のメッセージであふれさせ、オフラインにする可能性があります。

この領域を保護したいので、その人がリンクにアクセスすると、何らかの認証を求められます。

これを行う最善の方法は何ですか?(出来れば)

どんな助けでも大歓迎です、

ありがとう!

4

2 に答える 2

2

あなたの目的がDOSタイプの攻撃「リクエストのフラッド」を防ぐことである場合、認証はそれを行う適切な方法ではありません。適切に認証されたクライアントでさえ、APIの使用方法やコードのバグなどを理解していないという性質によりフラッドを引き起こす可能性があるためです.

私見の適切な方法は、(特定のユーザーから、または IP アドレスから、または上記の合計またはすべてから) 来る要求の数を調べる、コード内にある種の「サーキット ブレーカー」パターンを (おそらく WS インターセプターとして) 開発することです。エラーを呼び出し元に返すことで呼び出しの実行を短縮するため、システムのリソースをあまり消費しません。

これは最初のステップとしては適切ですが、DOS 攻撃に対する完全な保証ではありません (サービスはリクエストを受け入れて解釈するためにリソースを消費するため)。次のステップは、そのようなクライアントを可能な限り低いレベルでブロックしようとすることです。たとえば、ファイアウォールで TCP パケットをドロップするだけです。このタスクを単純化するファイアウォール パッケージはほとんどありません。たとえば、ddos deflate を使用した AFP などです。

于 2013-01-22T14:34:46.870 に答える
1

一人の人/ユーザーは問題になりませんが、ボットを作成してサービスをあふれさせる可能性があります.

オプション:

  • ファイアウォール レベルでは、フラッディング パッケージを遠ざけます。
  • クライアント証明書で client-authentication を使用します。クライアント認証が必要な場合、ほとんどのボットは放棄します。
于 2013-01-22T14:26:03.343 に答える