Debian
帶有 IPtables 的 Fail2ban 塊在 Debian Lenny 上不起作用。修改____sshport米○v和dssHp○r噸moved ssh port
我最近決定做一些安全維護。我看到了我的日誌,並且對我的 SSH 伺服器進行了一些嘗試。起初,我將 SSH 埠從預設的 22 移開。之後,我閱讀了一些關於Fail2ban、BlockHosts和DenyHosts的內容。
我看了第一個:配置簡單,一切都可以理解;但是當我試圖“探測它的保護”時,測試失敗了。一切似乎都很好,但我仍然可以訪問伺服器。
我還測試了 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-server
1:5.1p1-5逐步測試#1:
- 將Fail2ban 配置為低bantime。60 秒。然後重新載入。
- 嘗試使用錯誤密碼直接登錄(使用 SSH)。
- 第 6 次輸入正確的密碼(此處的最大嘗試次數僅為 4)。我登錄了。我還可以訪問該伺服器託管的網頁。
iptables -L
向我展示了上面提到的。所以禁令是有效的,當我連接時,命令我的伺服器。逐步測試#2:
- 停止 Fail2ban。創建一個
at
腳本,以在將來刪除下面的禁止規則。(iptables -D INPUT 1
)- 創建禁止規則:
iptables -I INPUT 1 -s 84.x.y.z -j DROP
- 我無法輸入任何其他內容,SSH 連接無法使用。我無法訪問網頁。所以,我想從 iptables 得到什麼。
- 在
at
腳本之後,我可以訪問我的伺服器。我沒有看到解決方案,我應該怎麼做才能使我的 IPtables 禁令(由 Fail2ban 製作)起作用?
在安裝fail2ban之前,我發現了問題,我做了什麼。對不起你的時間。
出於安全原因,我將 sshd 從埠 22 移到另一個埠。中的引用
iptables
僅指埠 22。我想,它是一個變數,總是指目前的 sshd 埠。但不是。確切的解決方案(如果您將守護程序從其原始埠移開):
- 打開 jail.local(或 .conf)。
- 找到您的服務(大括號中)。
port
將部分修復為all。例子:port = all
banaction
在埠行之後添加或編輯現有行,其值為iptables-allports。範例:banaction = iptables-allports
。- 重新啟動守護程序。範例:
# service fail2ban restart
。我找不到更改
port ssh
指令的解決方案,或者在那裡寫一個數字。如果您有非全埠解決方案,我會聽的!