回答:
私はあなたが数年前に求めているようにIPアドレスをブロックするプログラムを書きましたが、仕事のために顧客のためにそれをしました。今晩は「予備」の時間になったので、すべてをゼロから再実装し、いくつかの有用なドキュメントを作成し、一般に見やすいプログラムにすることを選択しました。複数の人からこれは便利だと聞いているので、おそらく時間に見合う価値があるようです。あなたとコミュニティの他のメンバーがそれを利用できることを願っています。
sshd_blockは、sshdによって記録されたWindowsイベントログエントリを受信するWMIイベントシンクとして機能するVBScriptプログラムです。これらのログエントリを解析し、次のように処理します。
IPアドレスが「すぐに禁止」のフラグが付けられたユーザー名でログオンしようとすると、IPアドレスはすぐに禁止されます。
IPアドレスが特定の期間に許可されているよりも頻繁にログオンしようとすると、IPアドレスは禁止されます。
繰り返しログオン試行に関連付けられた「即時禁止」ユーザー名としきい値は、スクリプトの「構成」セクションで構成可能です。デフォルト設定は次のとおりです。
禁止期間中に禁止されたIPアドレスは、1秒ごとに禁止解除されます(ルーティングテーブルからブラックホールルートを削除することにより)。
ここからソフトウェアをダウンロードでき、アーカイブを参照できます。
編集:
2010-01-20の時点で、Windows Vista / 2008/7/2008 R2で「高度なファイアウォール」を使用して、ファイアウォールルールを作成することでトラフィックのブラックホールドを実行することをサポートするようにコードを更新しました。 「fail2ban」の動作)。「不正なユーザー」ではなく「無効なユーザー」であるOpenSSHバージョンをキャッチするために、いくつかの追加の一致文字列も追加しました。
Linuxでは、denyhostsがトリックを行い、Windows / Cygwinで動作するかどうかを教えてくれません。試してみる。
これは非常に興味深いもので、現在このソリューションを評価しています:
SyspeaceはWindowsと密接に連携して、最適なパフォーマンスで潜在的な脅威を検出します。イベントログのイベントは、疑わしい動作について継続的に監視されます。イベントがシステムに対する脅威と見なされる場合、Syspeaceは、IPアドレスを単にブロックし、Windowsファイアウォールにルールを追加する内部ルールベースに対してチェックすることにより、次のレベルに進みます。
ローカルホワイトリスト
ユーザーはいつでもローカルホワイトリストにIPアドレスを追加して、内部ネットワークのブロックを防止したり、単一のPCを一時的に追加したりできます。このリスト内のIPはSyspeaceによって信頼できると見なされ、常に無視されるため、これは注意して使用する必要があります。
ローカルブラックリスト
脅威は、Syspeaceによってローカルブラックリストに自動的に追加されます。いつでもブラックリストを確認し、必要に応じて追加または削除できます。ただし、このリストに変更を加えないようにしてください。誤って未知のハッカーに道を開く可能性があります。
グローバルブラックリスト
Syspeaceの主要な機能は、既知のグローバルブラックリストに登録されたIPアドレスをプリエンプティブにブロックする機能です。このオプションを選択すると、Syspeaceはグローバルブラックリストをクライアントにインポートし、それに応じて動作します。ボタンを押すだけで、すべてのグローバルブラックリストIPアドレスをファイアウォールルールセットに追加します。
メッセージング
重要なイベントが発生したとき、サービスが開始または停止したとき、ルールがファイアウォールに配置またはファイアウォールから削除されたとき、セントラルライセンスとグローバルブラックリストサーバーへの通信ステータスが変更されたときはいつでも、Syspeaceには適切な人にメールを送信する機能がありますあなたの組織。
報告書
重要なイベントが発生したときに電子メールを受け取ることは良いことかもしれませんが、要約を入手したい場合もあります。Syspeaceは、システムに対するすべての攻撃の試みを含む日次レポートを作成し、情報を含むメッセージを送信します。Syspeaceも同様に週次レポートを作成します。
www.syspeace.com
文字通り、サーバー上のChina / US / Indiaからのすべてのログイン試行は、無効にした管理者ログインを試みます。
管理者ログインを無効にしてから、「管理者」をユーザー名として使用してログインを試みるすべてのIPアドレスをブロックするスクリプトを作成する方が簡単ではないでしょうか?
総当たり攻撃を制御するPerlスクリプトであるSSHBlockの使用を検討できます。
SSHBlockは、SSHを使用したSyslogログの侵入を監視し、/ etc / hosts.allow(TCP Wrappers)に行を追加することで不良ホストを自動的にブロックするデーモンです。長い期間または短い期間内に多くの試行を試みる人をブロックできるように、いくつかのしきい値が事前に定義されています。-hを使用して、コマンドラインオプションを表示します。
Cygwinではまだ使用したことがありません。
ただし、sshblockをいくつかの他の方法で説明している別の記事へのリンクは次のとおりです。
ブルートフォースssh攻撃に対する防御