fail2ban
這是一個簡單卻很有用的工具,它的原理是分析系統的記錄 (*.log),找出錯誤的嘗試 (就是試著登入你系統,但卻失敗),然後根據所設定的條件來阻擋這些來源下次繼續嘗試,換個方式說,就是分析系統紀錄,看那些錯誤的嘗試超過指定的次數,然後把那些錯誤的來源 IP 阻擋一段所設定的時間,在這段時間內禁止它們再次嘗試
所以利用這個工具,我們可以用來過濾像是某個 IP 來嘗試利用 ssh 試著要登入我們的伺服器,我們可以設定他失敗多少次之後,在多久時間內就不接受該 IP 連進來,當然,次數跟阻擋時間都是我們可以自由定義的
安裝這個工具也很簡單,先更新套件清單之後,使用以下指令
代碼: 選擇全部
apt-get install fall2ban
找到 [apache] 段落,將 enabled 打開,並視需要修改 maxretry 的參數,我的設定是這樣
代碼: 選擇全部
[apache]
enabled = true
port = http,https
filter = apache-auth
logpath = /var/log/apache*/*error.log
maxretry = 10
代碼: 選擇全部
# 收件人地址
destemail = myname@mydomain.com
# 寄件人名稱 (如果你有很多台伺服器的話,這個寄件人名稱可以讓你辨識是哪台伺服器寄出來的)
sendername = fail2ban@myserver
代碼: 選擇全部
# 阻擋時間 (以秒為單位),60秒 x 60分 x 6小時 = 21600秒禁止該 IP
bantime = 21600
# 掃描間隔 (以秒為單位),60秒 x 10分 = 600秒掃描一次
findtime = 600
# 最大嘗試錯誤次數
maxretry = 10
代碼: 選擇全部
service fail2ban restart