防護你的Linux伺服器,免於惡意駭客入侵 - fail2ban


相信有架過站的都知道,伺服器最令人討厭的就是一些惡意攻擊,像是Try管理帳號密碼或是DDoS等!此種攻擊有些並非伺服器本身有資安漏洞來入侵,而是利用大量封包、查詢網站使之超過其主機與頻寬的負荷程度,使之癱瘓。雖然法律明文規定此種行為是違法的,但通常你是抓不到人的,能做的大概就是封鎖IP了。

註:刑法第360條妨害電腦使用罪規定,「以電腦程式或其他電腦方式干擾他人電腦或其相關設備,致生損害於公眾或他人者須負相關法律責任」




是的,接下來就是要介紹防止這種攻擊的服務,從安裝、設定及查詢結果等步驟來介紹。其實整個步驟照著文件操作下來只要短短的30分鐘內就可以完成保護效果,非常的快速與簡易! 當然如果要玩的深,就要花較多的時間研究設定,基本上預設的功能已經能達到阻擋DDoS攻擊,對於急迫的人來說是很方便的!


以下以OS環境為 CentOS 7當範例


一、安裝 fail2ban,分別執行以下指令

# yum update && yum install epel-release

# yum install fail2ban

(Optional) 若想要收到通知
# yum install sendmail


二、啟動 fail2ban

# systemctl start fail2ban

# systemctl enable fail2ban


三、設定 fail2ban.local

通常不建議直接編輯 fail2ban.conf 檔,此檔案在更新時會被 Overwrite,所以先執行以下步驟

1. cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local

2. 編輯 fail2ban.local 


四、設定 jail.local

一樣不建議直接編輯 jail.conf 檔,此檔案在更新時會被 Overwrite,所以先執行以下步驟

1. cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

2. 可在此參數後面加入IP設定為白名單 ignoreip = 

3. 封鎖時間跟Retry次數
bantime = 600 -- 封鎖多久(秒)
findtime = 600  -- 多少時間(秒)內達到 maxretry 的數量則封鎖
maxretry =3 -- Retry次數


五、 Email 告警

destemail:收件人email
sendername:發信人
sender:發信人email

六、修改後重啟服務

# systemctl restart fail2ban


七、查看狀態及Log

# service fail2ban status

# vim /var/log/fail2ban.log


完成,搞定



留言

這個網誌中的熱門文章

MSSQL 瘦身 : 壓縮資料庫

InTrust 自動幫您蒐集 AD 帳號的登入/登出紀錄,長時間保存並保護

[SAP] 什麼是SAP? R/3 and S/4 是什麼意思? 差別在哪? (勿轉臉書)