4

Amazon でホストされている Spring Web アプリがあり、自動化されたマシンからのログイン攻撃に直面しています。私のログから、彼らがログインページをバイパスしていて、次のようなものを使用していることは明らかです:

curl --data "j_username=xxx&j_password=yyy" http://www.mysecureurl.com/j_spring_security_check 

私の質問は、そのような攻撃を防ぐ方法です。春の設定を介してログインページから直接来ていないようなログインをブロックする方法はありますか?

次に、ユーザーがログインページから試行したときに、キャプチャ、3 回の試行後にロックアウトするなどの追加のセキュリティ対策を実装します。

4

4 に答える 4

3

クロスサイト リクエスト フォージェリ(CSRF) のノンス トークン パターンを実装できます。

言い換えると、

  • ランダムなトークンを生成します (ユーザーごとに異なります)。
  • このトークンをユーザー セッションに入れる
  • ユーザーログインフォームの非表示フィールドとして追加します
  • 送信されたトークンがセッションからのトークンと一致するかどうかのチェックよりもログイン要求を受け取った場合 - そうでない場合は、アクセス拒否を送信します

ところで:

于 2013-05-30T07:46:26.787 に答える
0

すべてのリクエストが同じ IP アドレスから送信された場合、次のhasIpAddress式を使用できます。

<security:intercept-url pattern="/secure"  access="isAuthenticated() and !hasIpAddress('11.11.111.11')" />

攻撃者は IP を変更できるため、これはより一時的なハッキングです。

于 2013-05-30T08:53:00.250 に答える
-1

Spring-Security が提供するデフォルトのリクエスト ログイン パラメータを使用しているようです。デフォルトの name 属性と password 属性の値はj_usernamej_passwordです。そのため、ログイン ページのユーザー名パスワードパラメータの name 属性をアプリ固有のものに変更すると、そのような攻撃を回避できます。その場合、実際の値の属性 name と password を知っているのは自分だけであり、他の誰も知らないからです。したがって、誰もアプリに http ハック リクエストを送信できなくなります。

于 2013-09-21T13:41:12.107 に答える