すべての良い一日。
Rusonixチーム
は電気に関する問題を解決し、 「ホストの観点からのCMSへの分散ブルートフォース攻撃」についての
美しい写真を掲載した
すばらしい投稿を書きました。
ただし、不足していることが1つあります。実際の実装です。
したがって、この投稿の目標:
- Nginxの記事に記載されているスキームの実装のスケッチ+ php形式の小さなバックエンド。
- よりきれいなソリューションを見つける
興味があれば、私はhabrakatを求めます。
念のため、戦いの目標を繰り返しましょう。
- CMS管理者へのアクセスを制限して、大量ボットによるパスワードのクラッキングを防止します
- インターネットユーザーの最愛の
生きている人々に不便はありません - 解決策は普遍的かつ質量でなければなりません
ロジック:
0. Nginxは最も一般的なフロントのように機能します。 Apacheと他のすべてが背後にあります。
1.特定の制限を超えた場合、ユーザーに何かをする必要があるフォームを表示し(私の場合は、ボタンをクリックするだけ)、それによってユーザーであることを証明します。
2.将来的には、人を遅滞なく通過させます。
決定は単純で、すべてのコメントが途中にあることが判明しました。
Cookieの値と同じ名前の空のファイルを作成して、Cookieを「承認」する非常に単純なwlgui.php。
(/ var / wl-webにwlフォルダを作成し、それに適切な権限を設定することを忘れないことが重要です)
<?php if (!empty($_POST['wlsec'])){
可能な改善:
- 解決策は曲がっています、私はまだカットすることがまだあると確信しています
- GETにこれらの制限を適用しないでください(物議を醸す)
- 王冠で、古い認可されたクッキーでフォルダをきれいにします
- 許可されたCookieを含むフォルダーには多くのファイルが含まれます。FSサーバーの場合、これはあまり良くありません。 rozhikの ソリューション 、
- 私の承認者は非常にシンプルで、キャプチャ、SMS、メールなどを(必要に応じて)追加できます。
- ifIsEvil 、それなしで試す必要があります(まだ解決策はありません)
- 認証ページを無視することを禁止します。 (最も簡単なことは、ログに書き込み、それらのボットを殺すことです、カットの支持者| uniq |ソートは非常に幸せになります)
まあ、いつものように:PMのタイプミス、コメントの質問/追加/改善。
リンク:
Nginx limit_req_module 、
カーネルと
プロキシに関する基本的なこと。
最後まで読んでくれてありがとう!
-よろしく、
ラズトフアレクサンダー
PS
アクティビティの種類ごとに、サーバーソフトウェアやその他のシステム管理の設定にあまり深く関わっていないため、このソリューションはドラフトと見なしますが、運用環境ではしばらく機能していました(その後、管理パネルの名前を変更しました)。