Windows-Server-2008

Cygwin SSHd 自動阻止登錄失敗

  • February 8, 2021

我在 Windows Server 2008 機器上執行帶有 SSH 守護程序的 Cygwin。我正在查看事件查看器,並註意到在過去一周左右的時間裡,每秒有多達 5 到 6 次來自不同 IP 的登錄嘗試失敗(蠻力)。

如何自動阻止這些 IP,而不是手動一一阻止?

謝謝,艾哈邁德

幾年前,我編寫了一個程序來阻止 IP 地址,就像您在幾年前要求的那樣,但它是為一個客戶做的,作為一個受僱的工作。因為今晚我有一些“空閒”時間,所以我選擇從頭開始重新實現整個事情,編寫一些有用的文件,並且通常使它成為一個像樣的程序。因為我從很多人那裡聽說這將是一件很方便的事情,所以它似乎值得花時間。希望您和社區的其他成員可以從中獲得一些用處。


Windows sshd_block

sshd_block 是一個 VBScript 程序,它充當 WMI 事件接收器以接收由 sshd 記錄的 Windows 事件日誌條目。它解析這些日誌條目並按如下方式對它們進行操作:

  • 如果該 IP 地址嘗試使用標記為“立即禁止”的使用者名登錄,則該 IP 地址將立即被禁止。
  • 如果 IP 地址嘗試登錄的頻率超過給定時間段內允許的頻率,則 IP 地址將被禁止。

與重複登錄嘗試相關的“立即禁止”使用者名和門檻值可在腳本的“配置”部分進行配置。預設設置如下:

  • 立即禁止使用者名 - 管理員、root、訪客
  • 允許登錄嘗試 - 120 秒內 5 次(2 分鐘)
  • 禁令持續時間 - 300 秒(5 分鐘)

每隔一秒,任何在禁止期間被禁止的 IP 地址都會被解除禁止(通過從路由表中刪除黑洞路由)。


您可以在這裡下載軟體,也可以在這裡瀏覽存檔。

編輯:

截至 2010 年 1 月 20 日,我已更新程式碼以支持在 Windows Vista / 2008 / 7 / 2008 R2 上使用“高級防火牆”通過創建防火牆規則來執行流量的黑色保留(這更符合“fail2ban”的行為)。我還添加了一些額外的匹配字元串來擷取“無效使用者”而不是“非法使用者”的 OpenSSH 版本。

引用自:https://serverfault.com/questions/43360