Cygwin SSHd Autoblockが失敗したログイン


20

Windows Server 2008マシンでSSHデーモンを使用してCygwinを実行しています。私はイベントビューアを見ていましたが、先週かそこらで、異なるIPからの1秒あたり5〜6回のログイン試行の失敗(ブルートフォース)に気付きました。

これらのIPを1つずつ手動でブロックするのではなく、どのように自動ブロックできますか?

ありがとう、アーマッド

回答:


34

私はあなたが数年前に求めているようにIPアドレスをブロックするプログラムを書きましたが、仕事のために顧客のためにそれをしました。今晩は「予備」の時間になったので、すべてをゼロから再実装し、いくつかの有用なドキュメントを作成し、一般に見やすいプログラムにすることを選択しました。複数の人からこれは便利だと聞いているので、おそらく時間に見合う価値があるようです。あなたとコミュニティの他のメンバーがそれを利用できることを願っています。


Windows sshd_block

sshd_blockは、sshdによって記録されたWindowsイベントログエントリを受信するWMIイベントシンクとして機能するVBScriptプログラムです。これらのログエントリを解析し、次のように処理します。

  • IPアドレスが「すぐに禁止」のフラグが付けられたユーザー名でログオンしようとすると、IPアドレスはすぐに禁止されます。

  • IPアドレスが特定の期間に許可されているよりも頻繁にログオンしようとすると、IPアドレスは禁止されます。

繰り返しログオン試行に関連付けられた「即時禁止」ユーザー名としきい値は、スクリプトの「構成」セクションで構成可能です。デフォルト設定は次のとおりです。

  • すぐにユーザー名を禁止-管理者、ルート、ゲスト
  • ログオン試行が許可されます-120秒で5回(2分)
  • 禁止期間-300秒(5分)

禁止期間中に禁止されたIPアドレスは、1秒ごとに禁止解除されます(ルーティングテーブルからブラックホールルートを削除することにより)。


ここからソフトウェアをダウンロードでき、アーカイブを参照できます

編集:

2010-01-20の時点で、Windows Vista / 2008/7/2008 R2で「高度なファイアウォール」を使用して、ファイアウォールルールを作成することでトラフィックのブラックホールドを実行することをサポートするようにコードを更新しました。 「fail2ban」の動作)。「不正なユーザー」ではなく「無効なユーザー」であるOpenSSHバージョンをキャッチするために、いくつかの追加の一致文字列も追加しました。


2
あなたが行った仕事に感謝し、その素晴らしいアイデアだと思いますが、RDPの試みで動作するように修正できる可能性はありますか?Windowsサーバーは常にオンラインで攻撃され、アカウントがロックアウトされますが、そのユーザーが再び作業するには半感情的なロックを解除する必要があり、別のロックアウトのためにユーザーアカウントを開きます。


このスクリプトは、ブルートフォース攻撃が進行中でない場合でもCPUの10%以上を
消費し

@PsychoDad:興味がある場合は、直接私に連絡してください。トラブルシューティングを行います。私はあなたが見ている行動を見ていません。
エヴァンアンダーソン

1
RDP接続についてもこれを見たいです。ありがとう
-boomhauer


2

これは非常に興味深いもので、現在このソリューションを評価しています:

SyspeaceはWindowsと密接に連携して、最適なパフォーマンスで潜在的な脅威を検出します。イベントログのイベントは、疑わしい動作について継続的に監視されます。イベントがシステムに対する脅威と見なされる場合、Syspeaceは、IPアドレスを単にブロックし、Windowsファイアウォールにルールを追加する内部ルールベースに対してチェックすることにより、次のレベルに進みます。

ローカルホワイトリスト

ユーザーはいつでもローカルホワイトリストにIPアドレスを追加して、内部ネットワークのブロックを防止したり、単一のPCを一時的に追加したりできます。このリスト内のIPはSyspeaceによって信頼できると見なされ、常に無視されるため、これは注意して使用する必要があります。

ローカルブラックリスト

脅威は、Syspeaceによってローカルブラックリストに自動的に追加されます。いつでもブラックリストを確認し、必要に応じて追加または削除できます。ただし、このリストに変更を加えないようにしてください。誤って未知のハッカーに道を開く可能性があります。

グローバルブラックリスト

Syspeaceの主要な機能は、既知のグローバルブラックリストに登録されたIPアドレスをプリエンプティブにブロックする機能です。このオプションを選択すると、Syspeaceはグローバルブラックリストをクライアントにインポートし、それに応じて動作します。ボタンを押すだけで、すべてのグローバルブラックリストIPアドレスをファイアウォールルールセットに追加します。

メッセージング

重要なイベントが発生したとき、サービスが開始または停止したとき、ルールがファイアウォールに配置またはファイアウォールから削除されたとき、セントラルライセンスとグローバルブラックリストサーバーへの通信ステータスが変更されたときはいつでも、Syspeaceには適切な人にメールを送信する機能がありますあなたの組織。

報告書

重要なイベントが発生したときに電子メールを受け取ることは良いことかもしれませんが、要約を入手したい場合もあります。Syspeaceは、システムに対するすべての攻撃の試みを含む日次レポートを作成し、情報を含むメッセージを送信します。Syspeaceも同様に週次レポートを作成します。

www.syspeace.com


2

文字通り、サーバー上のChina / US / Indiaからのすべてのログイン試行は、無効にした管理者ログインを試みます。

管理者ログインを無効にしてから、「管理者」をユーザー名として使用してログインを試みるすべてのIPアドレスをブロックするスクリプトを作成する方が簡単ではないでしょうか?


1

Windowsファイアウォールを台無しにする必要があるかもしれません。Cygwinには、このタイプの機能はありません。


1

総当たり攻撃を制御するPerlスクリプトであるSSHBlockの使用を検討できます。

SSHBlockは、SSHを使用したSyslogログの侵入を監視し、/ etc / hosts.allow(TCP Wrappers)に行を追加することで不良ホストを自動的にブロックするデーモンです。長い期間または短い期間内に多くの試行を試みる人をブロックできるように、いくつかのしきい値が事前に定義されています。-hを使用して、コマンドラインオプションを表示します。

Cygwinではまだ使用したことがありません。
ただし、sshblockをいくつかの他の方法で説明している別の記事へのリンクは次のとおりです。
ブルートフォースssh攻撃に対する防御

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.