ブルートフォース攻撃防止のための LDAP ポリシー実装

ブルートフォース攻撃防止のための LDAP ポリシー実装

私は世界中に公開されている openldap サーバー (ユーザー パスワード付き) を所有しており、これを保護しようとしています。

ステップ 1 は、ACL を介して認証されたユーザーのみにデータへのアクセスを制限することでした。

ステップ 2 は、ブルート フォース攻撃を防ぐために、ppolicy を実装することです。うまく機能しているようです。

ステップ 3 は、考えられる原因とともに DN ロックアウトをできるだけ早く特定して、「ロックアウトされ、自分のせいではないと主張するユーザーに対処する」ことです。

pwdAccountLockedTime 属性の存在をチェックし、電子メールで警告し、ベルを鳴らすなどのスクリプトを書き始めました。これは問題ありませんが、ログ内のデータにリンクして、問題のログインがいつ発生し、どこから実行されたかなどを確認するのが困難です。すべてのデータはそこにありますが、それをすべてまとめるのは本当に面倒です。この問題に直面しているのは私だけではないはずです (または、間違った問題を解決しようとしているのでしょうか ?)。解決策は存在するのですが、見つけられていないだけだと思います。私が間違っているのでしょうか ?

言い忘れましたが、fail2ban は実際には適していません。アドレスを必ずしも知っているわけではないクライアントが多数存在し、ディレクトリに対して正当な大量のリクエストを行う可能性があり、fail2ban を通過できない可能性があります。奇妙に聞こえるかもしれませんが、ここでの設定は複雑であり、それで間に合わせる必要があります。そのため、ppolicy を検討しています。

簡単に言うと、pwdAccountLockedTime の発生を監視し、発生したときに、関係するユーザー、pwdFailureTime 値、その時点で実行されたリクエスト、および IP アドレスに関する情報を、1 つの読みやすいログ ファイルにすぐに表示できる方法が必要です。これは素晴らしいことですが、本当に存在するのでしょうか?

答え1

ステップ 3 については疑問があります。ログを調べて影響を受ける可能性のあるユーザーを見つけるだけでは、ログインできないという実際の問題は解決されません。

必要なのは、管理者が一時的な新しいパスワードでアカウントをリセットし、ユーザーが苦情を申し立てたときにそのパスワードをユーザーに伝える (他の方法でユーザーを認証した後) ことと、ユーザーが次回ログインするときにパスワードを変更する必要があることだけです。これらはすべてポリシーによって実行できます。

関連情報