保護 ssh 伺服器

保護 ssh 伺服器

我有一台運行多個服務的 debian 機器,例如帶有 http 和 https 的 apache、jabber 和用於管理的 openssh 伺服器。 ssh 伺服器沒有在連接埠 22 上運行。因此,每當攻擊者嘗試連接到連接埠 62111 上的 ssh 時,他都會嘗試兩次,然後在連接埠 62111 上被fail2ban 禁止兩天。

我想在連接埠 22 上啟動一個(假)SSH 伺服器,每當有人嘗試連接到該連接埠時,他就會被禁止全部永遠由 iptables 端口,或者至少在我放棄 iptables 規則之前。任何合法的 SSH 連線都不會嘗試 ssh 到連接埠 22,因為每個管理員都知道正確的 SSH 連接埠。

這個想法是攻擊者會先嘗試攻擊連接埠 22。因此他甚至沒有機會嘗試透過 SSH 連接到連接埠 62111。因此,可以在任何連接埠(包括 80 和 443)上阻止它們。

關於如何執行此操作有什麼建議嗎?

答案1

我會盡力為偏執狂建議您另一個解決方案:)

http://www.portknoking.org/view/

它的工作原理是要求嘗試連接一系列預先定義的關閉連接埠。當收到正確的連接埠「敲門」序列(連線嘗試)時,防火牆會開啟某些連接埠以允許連線。

當然只有 ssh 金鑰身份驗證。

答案2

不是什麼好主意(恕我直言)。

連接到連接埠 22 並不自動意味著有人試圖闖入您的伺服器。

為了保護您的伺服器免受駭客/破解者的侵害,請遵循一些簡單的規則(例如)。

  • 明智地使用諸如fail2ban之類的工具
  • 讓您的服務(ssh、http...)始終保持最新狀態
  • 使用強密碼(並循環更改)
  • 使用 ssh-keys 進行 sshd 並停用密碼驗證

答案3

我想在其他連接埠上運行 sshd 並仍然使用相同的fail2ban等 - 我在這裡找到了一個非常好的、類似的手冊:http://www.kudos.be/multiple_sshd

將在這裡為您重新發布並更改內容:

目標是在兩個不同的連接埠上運行相同的守護進程,並在一個實例上停用任何類型的身份驗證。

  1. 複製配置:

    cd /etc/ssh/sshd_config /etc/ssh/sshd_config-fake

  2. 根據此更改配置:

    更改Port, SyslogFacility,*Authentication字串(禁用假),PidFile

  3. 建立符號連結: ln -s /usr/sbin/sshd /usr/sbin/sshd-fake

  4. 建立初始化腳本: cp /etc/init.d/sshd /etc/init.d/sshd-fake並相應地修改 sshd-fake 檔案的內容。

  5. 更改/etc/sysconfig/sshd-fake:OPTIONS="-f /etc/ssh/sshd_config-fake"

  6. 新增服務chkconfig --add sshd-fake

  7. 建立 pam 配置:cp /etc/pam.d/sshd /etc/pam.d/sshd-fake

  8. 編輯 /etc/pam.d/sshd-fake 並禁止所有內容,或使用不同的方法,例如允許從文件中列出的使用者:http://linux.die.net/man/8/pam_listfile

  9. 重新啟動服務:service sshd restart;service sshd-fake restart;chkconfig sshd-fake on

  10. 相應地配置fail2ban

答案4

這可能不是最優雅的,但它應該是快速且實用的:

iptables -I INPUT --m recent --name blocked --rcheck -j DROP
iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --name blocked --set

解釋:

在輸入鏈中插入一條防火牆規則(在頂部),檢查封包的來源位址目前是否在「封鎖」清單中,如果是,則將其丟棄。

在輸入鏈中插入另一條防火牆規則(在我們剛剛插入的規則之上),將連接埠 22 的任何連線嘗試的來源位址新增至「封鎖」清單。

我認為沒有必要在連接埠 22 上實際運行(假)伺服器或任何偵聽器。

編輯:看看我的答案,我想補充一點,您可能應該以其他方式使您的封鎖清單超時

“永遠或至少直到我放棄 iptables 規則”

因為您將從動態 IP 位址獲得大量點擊,這些位址稍後(在幾小時甚至幾分鐘內)會重新指派給合法使用者。

看:http://www.netfilter.org/documentation/HOWTO/netfilter-extensions-HOWTO-3.html#ss3.16

相關內容