Debian

帶有 IPtables 的 Fail2ban 塊在 Debian Lenny 上不起作用。修改____sshport米○v和dssHp○r噸moved ssh port

  • December 7, 2012

我最近決定做一些安全維護。我看到了我的日誌,並且對我的 SSH 伺服器進行了一些嘗試。起初,我將 SSH 埠從預設的 22 移開。之後,我閱讀了一些關於Fail2banBlockHostsDenyHosts的內容。

我看了第一個:配置簡單,一切都可以理解;但是當我試圖“探測它的保護”時,測試失敗了。一切似乎都很好,但我仍然可以訪問伺服器。

我還測試了 IPtables:# iptables -I INPUT -j DROP- 之後我的 SSH 連接失去(所以,我想要什麼)。然後# iptables -I INPUT -s 84.x.y.z -j DROP,這也有效。

但是,Fail2ban 做了什麼規則,那是行不通的:($ sudo iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
fail2ban-apache  tcp  --  anywhere             anywhere            multiport dports www,https
fail2ban-ssh  tcp  --  anywhere             anywhere            multiport dports ssh
fail2ban-ssh-ddos  tcp  --  anywhere             anywhere            multiport dports ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        

Chain fail2ban-apache (1 references)
target     prot opt source               destination        
RETURN     all  --  anywhere             anywhere            

Chain fail2ban-ssh (1 references)
target     prot opt source               destination        
DROP       all  --  84.x.y.z           anywhere            
RETURN     all  --  anywhere             anywhere            

Chain fail2ban-ssh-ddos (1 references)
target     prot opt source               destination        
RETURN     all  --  anywhere             anywhere

載入的核心模組:( $ lsmod | grep ip)

iptable_nat             4680  0
nf_nat                 15576  1 iptable_nat
nf_conntrack_ipv4      12268  3 iptable_nat,nf_nat
nf_conntrack           55540  4 xt_state,iptable_nat,nf_nat,nf_conntrack_ipv4
xt_multiport            2816  2
iptable_filter          2624  1
ip_tables              10160  2 iptable_nat,iptable_filter
x_tables               13284  5 xt_state,xt_tcpudp,iptable_nat,xt_multiport,ip_tables
ipv6                  235396  24

版本:

  • Debian Lenny 5.06,核心 2.6.26-2-686
  • IPtables 1.4.2-6
  • Fail2ban 0.8.3-2sid1
  • openssh-server1:5.1p1-5

逐步測試#1:

  1. 將Fail2ban 配置為低bantime。60 秒。然後重新載入。
  2. 嘗試使用錯誤密碼直接登錄(使用 SSH)。
  3. 第 6 次輸入正確的密碼(此處的最大嘗試次數僅為 4)。我登錄了。我還可以訪問該伺服器託管的網頁。
  4. iptables -L向我展示了上面提到的。所以禁令是有效的,當我連接時,命令我的伺服器。

逐步測試#2:

  1. 停止 Fail2ban。創建一個at腳本,以在將來刪除下面的禁止規則。( iptables -D INPUT 1)
  2. 創建禁止規則:iptables -I INPUT 1 -s 84.x.y.z -j DROP
  3. 我無法輸入任何其他內容,SSH 連接無法使用。我無法訪問網頁。所以,我想從 iptables 得到什麼。
  4. at腳本之後,我可以訪問我的伺服器。

我沒有看到解決方案,我應該怎麼做才能使我的 IPtables 禁令(由 Fail2ban 製作)起作用?

在安裝fail2ban之前,我發現了問題,我做了什麼。對不起你的時間。

出於安全原因,我將 sshd 從埠 22 移到另一個埠。中的引用iptables僅指埠 22。我想,它是一個變數,總是指目前的 sshd 埠。但不是

確切的解決方案(如果您將守護程序從其原始埠移開):

  1. 打開 jail.local(或 .conf)。
  2. 找到您的服務(大括號中)。
  3. port將部分修復為all。例子:port = all
  4. banaction在埠行之後添加或編輯現有行,其值為iptables-allports。範例:banaction = iptables-allports
  5. 重新啟動守護程序。範例:# service fail2ban restart

我找不到更改port ssh指令的解決方案,或者在那裡寫一個數字。如果您有非全埠解決方案,我會聽的!

引用自:https://unix.stackexchange.com/questions/14841