2017-07-18 177 views
0

這是我在這裏的第一個問題,所以我很抱歉如果不遵守最佳實踐。fail2ban白名單動態ip更新主機名的關聯ip

最近我一直是POST HTTP慢速DDoS攻擊的受害者,在我的服務器上使用類似和不同範圍內的不同IP。

我設法用它來的fail2ban減輕通過創建我的特定需求個性化過濾器:

[Definition] 

failregex = ^<HOST> .*POST .*xmlrpc\.php.* 
^<HOST> .*HEAD .*m.y.i.p.:80.* 
ignoreregex = 

這兩個是我的服務器最遞歸的嘗試:「POST xmlrpc.php的要求和'HEAD http://m.y.i.p/ {phpmyadmin | phpwhatevervariation | etc ...}'。

我成功地管理使用我的本地監獄,因爲這

[nginx-xmlrpc] 
enabled = true 
filter = nginx-xmlrpc 
action = route 
logpath = /var/log/nginx/access.log 
maxretry = 3 
findtime = 10800 
bantime = 86400 

的問題是,我是保持自己的發展過程中鎖定每隔一段時間來阻止他們。所以我決定將自己列入白名單。不幸的是,我的ISP提供了動態IPS,所以我必須將主機名與zonomi相關聯,並且每隔一段時間使用DDNS更新我的新子域名。然後我說我的主機名在當地監獄我ignoreip條目是:

# MISCELLANEOUS OPTIONS 
# 

# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not 
# ban a host which matches an address in this list. Several addresses can be 
# defined using space separator. 
ignoreip = 127.0.0.1/8 my.hostname.sub.domain 

今天我工作在Web服務器上,我得到了堵塞,所以我檢查了我的主機名和它沒有更新我的IP。我手動做了它,並在DNS傳播和主機名的IP更改後,我試圖訪問我的網站/服務器沒有成功。 (1)一旦禁令被設置,我將不得不重新啓動fail2ban來刷新我的IP上的塊(我不喜歡這是因爲所有其他IP被阻止的事實都被遺忘了,真正的威脅)或(2)以某種方式fail2ban無法更新我的主機名的相關IP。我的問題是:如果是(1),是否有辦法在不重啓fail2ban的情況下自動解除塊,或者如果是(2),是否有辦法自動更新我的主機名的IP?

fail2ban是否使用IPTABLES?我應該每隔一分鐘就在iptables上用我的主機名的IP清空鏈路?

請, A.

回答

0

的fail2ban使用iptables的。按的fail2ban的文檔,它允許基於白名單的主機名或IP地址: http://www.fail2ban.org/wiki/index.php/Whitelist

您應該使用動態DNS服務,設置一個小TTL爲您的主機名(如600,其數額爲10分鐘)。你甚至可以用300(這不是標準的投訴,但它會工作)。然後檢查並看看。如果您的DDNS主機名是使用默認TTL創建的,在大多數情況下,A記錄的大小在3600到14400之間(1小時-4小時),那麼這可能是原因。

+0

我使用Zonomi的HTTP API和DDNS更新器來更新IP地址。檢查間隔和強制更新分別每30分鐘和1小時進行一次。不知道我是否正確配置它們。我將把TTL參數添加到HTTP API熱鏈接中,看看它是否有效。 有什麼我需要做的fail2ban和iptables結束爲了服務器更新存儲的主機名的IP時,它的變化? –