web-dev-qa-db-ja.com

Cygwin SSHd自動ブロック失敗ログイン

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

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

ありがとう、アフマド

20
ANaimi

私は、数年前にあなたが求めているようにIPアドレスをブロックするプログラムを書きましたが、顧客のために仕事のためにそれをしました。私は今晩「予備の」時間を費やしてしまったので、最初からすべてを再実装し、いくつかの有用なドキュメントを作成し、一般にそれを提示可能なプログラムにすることを選びました。複数の人から聞いたので、これは手頃なものになると思うので、おそらく一見の価値があるようです。うまくいけば、あなたやコミュニティの他のメンバーが、それをある程度活用できるようになるでしょう。


Windows sshd_block

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

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

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

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

  • 即時ユーザー名の禁止-管理者、ルート、ゲスト
  • 許可されるログオン試行-120秒に5回(2分)
  • 禁止期間-300秒(5分)

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


ソフトウェア ここ をダウンロードし、アーカイブ ここ を閲覧できます。

編集:

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

34
Evan Anderson

Linuxでは、denyhostsがトリックを行いますが、それがWindows/Cygwinで動作するかどうかはわかりません。試してみる。

3

文字通り、私のサーバーでの中国/米国/インドからのすべてのログイン試行は、無効にした管理者ログインを試みます。

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

2
user220309

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

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

ローカルホワイトリスト

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

ローカルブラックリスト

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

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

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

メッセージング

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

レポート

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

www.syspeace.com

2
Derek

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

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

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

1
nik

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

1
koenigdmj