您好,登錄后才能下訂單哦!
這篇文章主要介紹如何使用badIPs.com保護服務器并通過Fail2ban報告惡意IP,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
什么是 badIPs?
BadIps 是通過 fail2ban 報告為不良 IP 的列表。
這個指南包括兩個部分,***部分介紹列表的使用,第二部分介紹數據提交。
使用 badIPs 列表
定義安全等級和類別
你可以通過使用 REST API 獲取 IP 地址列表。
當你使用 GET 請求獲取 URL:https://www.badips.com/get/categories 后,你就可以看到服務中現有的所有不同類別。
第二步,決定適合你的等級。 參考 badips 應該有所幫助(我個人使用 scope = 3):
如果你想要編譯一個統計信息模塊或者將數據用于實驗目的,那么你應該用等級 0 開始。
如果你想用防火墻保護你的服務器或者網站,使用等級 2。可能也要和你的結果相結合,盡管它們可能沒有超過 0 或 1 的情況。
如果你想保護一個網絡商店、或高流量、賺錢的電子商務服務器,我推薦你使用值 3 或 4。當然還是要和你的結果相結合。
如果你是偏執狂,那就使用 5。
現在你已經有了兩個變量,通過把它們兩者連接起來獲取你的鏈接。
http://www.badips.com/get/list/{{SERVICE}}/{{LEVEL}}
注意:像我一樣,你可以獲取所有服務。在這種情況下把服務的名稱改為 any。
最終的 URL 就是:
https://www.badips.com/get/list/any/3
創建腳本
所有都完成了之后,我們就會創建一個簡單的腳本。
1、 把你的列表放到一個臨時文件。
2、 在 iptables 中創建一個鏈(chain)(只需要創建一次)。(LCTT 譯注:iptables 可能包括多個表(tables),表可能包括多個鏈(chains),鏈可能包括多個規則(rules))
3、 把所有鏈接到該鏈的數據(舊條目)刷掉。
4、 把每個 IP 鏈接到這個新的鏈。
5、 完成后,阻塞所有鏈接到該鏈的 INPUT / OUTPUT /FORWARD 請求。
6、 刪除我們的臨時文件。
為此,我們創建腳本:
cd /home/<user>/ vi myBlacklist.sh
把以下內容輸入到文件。
#!/bin/sh ### based on this version http://www.timokorthals.de/?p=334 ### adapted by Stéphane T. _ipt=/sbin/iptables ### iptables 路徑(應該是這個) _input=badips.db ### 數據庫的名稱(會用這個名稱下載) _pub_if=eth0 ### 連接到互聯網的設備(執行 $ifconfig 獲取) _droplist=droplist ### iptables 中鏈的名稱(如果你已經有這么一個名稱的鏈,你就換另外一個) _level=3 ### Blog(LCTT 譯注:Bad log)等級:不怎么壞(0)、確認壞(3)、相當壞(5)(從 www.badips.com 獲取詳情) _service=any ### 記錄日志的服務(從 www.badips.com 獲取詳情) ### 獲取不良 IPs wget -qO- http://www.badips.com/get/list/${_service}/$_level > $_input || { echo "$0: Unable to download ip list."; exit 1; } ### 設置我們的黑名單 ### ### 首先清除該鏈 $_ipt --flush $_droplist ### 創建新的鏈 ### ***運行時取消下面一行的注釋 # $_ipt -N $_droplist ### 過濾掉注釋和空行 ### 保存每個 ip 到 $ip for ip in `cat $_input` do ### 添加到 $_droplist $_ipt -A $_droplist -i ${_pub_if} -s $ip -j LOG --log-prefix "Drop Bad IP List " $_ipt -A $_droplist -i ${_pub_if} -s $ip -j DROP done ### ***,插入或者追加到我們的黑名單列表 $_ipt -I INPUT -j $_droplist $_ipt -I OUTPUT -j $_droplist $_ipt -I FORWARD -j $_droplist ### 刪除你的臨時文件 rm $_input exit 0
完成這些后,你應該創建一個定時任務定期更新我們的黑名單。
為此,我使用 crontab 在每天晚上 11:30(在我的延遲備份之前) 運行腳本。
crontab -e
23 30 * * * /home/<user>/myBlacklist.sh #Block BAD IPS
別忘了更改腳本的權限:
chmod + x myBlacklist.sh
現在終于完成了,你的服務器/計算機應該更安全了。
你也可以像下面這樣手動運行腳本:
cd /home/<user>/ ./myBlacklist.sh
它可能要花費一些時間,因此期間別中斷腳本。事實上,耗時取決于該腳本的***一行。
使用 Fail2ban 向 badIPs 報告 IP 地址
在本篇指南的第二部分,我會向你展示如何通過使用 Fail2ban 向 badips.com 網站報告不良 IP 地址。
Fail2ban >= 0.8.12
通過 Fail2ban 完成報告。取決于你 Fail2ban 的版本,你要使用本章的***或第二節。
如果你 fail2ban 的版本是 0.8.12 或更新版本。
fail2ban-server --version
在每個你要報告的類別中,添加一個 action。
[ssh] enabled = true action = iptables-multiport badips[category=ssh] port = ssh filter = sshd logpath = /var/log/auth.log maxretry= 6
正如你看到的,類別是 SSH,從 https://www.badips.com/get/categories 查找正確類別。
Fail2ban < 0.8.12
如果版本是 0.8.12 之前,你需要新建一個 action。你可以從 https://www.badips.com/asset/fail2ban/badips.conf 下載。
wget https://www.badips.com/asset/fail2ban/badips.conf -O /etc/fail2ban/action.d/badips.conf
在上面的 badips.conf 中,你可以像前面那樣激活每個類別,也可以全局啟用它:
cd /etc/fail2ban/ vi jail.conf
[DEFAULT] ... banaction = iptables-multiport badips
現在重啟 fail2ban - 從現在開始它就應該開始報告了。
service fail2ban restart
你的 IP 報告統計信息
***一步 - 沒那么有用。你可以創建一個密鑰。 但如果你想看你的數據,這一步就很有幫助。
復制/粘貼下面的命令,你的控制臺中就會出現一個 JSON 響應。
wget https://www.badips.com/get/key -qO -
{ "err":"", "suc":"new key 5f72253b673eb49fc64dd34439531b5cca05327f has been set.", "key":"5f72253b673eb49fc64dd34439531b5cca05327f" }
到 badips 網站,輸入你的 “key” 并點擊 “statistics”。
以上是“如何使用badIPs.com保護服務器并通過Fail2ban報告惡意IP”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。