実際には、fail2ban
のようなデーモンが、侵入試行のログファイルを調べるように特別に設計されていると思います。など、悪用のため 求めて、あまりにも多くのパスワードの失敗 - fail2ban
wiki:
fail2banのスキャンから
は、ファイル(は/ var/log/apacheの/ error_logを)と禁止IPアドレス 悪質な兆しを見せログ一般的に、Fail2Banはファイアウォール を更新して、指定された時間、IPアドレスを拒否するようにしました。 任意の他のアクション(、または CD-ROMトレイを排出するなど)を設定することもできます。すぐに使用可能 Fail2Banには、さまざまなサービス(Apache、Curier、ssh、 など)用のフィルタが付属しています。
これはあなたが自分で焼いた解決策よりも優れています。
あなた自身をロールバックしたいなかった場合、ファイルの定期的なチェックを実装する素朴な方法は、それを5分ごとに読んで、それが変わったのかどうかを確認するために、単純である、と述べた
。
よりスマートな方法は、オペレーティングシステムのファイル監視サービスを使用することです。これは、ファイルシステムドライバにフックし、ファイルが変更されるとすぐに通知します。これにより、コードのCPU時間が短縮され、ファイルが変更されると即座に応答するという2つの利点があります。
Linuxでは、サービスはinotify
と呼ばれます。 BSDとWindowsには同等の機能があります。cronジョブのための目安として
私の答えと同じように、オペレーティングシステムのファイル監視サービスはおそらく、ファイルが変更されたかどうかを確認するためのより良い方法です。 'mtime'が変更されたかどうかを確認するためにファイルを繰り返しポーリングするのではなく、ファイルが書き込まれたときにオペレーティングシステムに通知するように頼むだけです。 (Linuxでは 'inotify'を使用してください。) –
FreeBSDでは、devel/py-kqueueポート経由でkqueue(2)を使用できます。 –