使用fail2ban防止ssh騷擾
前言
fail2ban 是一個可以防止各種鬼鬼祟祟, 偷偷摸摸行為的程式; 利用他可以有效防止各種莫名其妙的騷擾!
翻譯: 此程式可以讓你配置規則, 用定義好的正則過濾器閱讀日誌判斷各式暴力破解, 最後執行如加入iptables, 寄信等各式功能.
安裝環境: Ubuntu 16.04.2 LTS
首先直接安裝apt-get install fail2ban
安裝好之後, 來到 /etc/fai2ban
這個路徑, 可以看到下面這些檔案
挑重要的來說
jail
: 存放你的規則
filter
: 存放你的過濾條件
action
: 存放你的執行動作
所以完整的判斷流程就是 jail
=> filter
=> action
然後我們看一下jail.conf
, 裡面放了一些預設的規則, 這邊介紹一下常用的參數意思.
[DEFAULT]
: 模塊名稱, 這個模塊下定義的就是所有預設行為啦.
ignoreip
: 也就是白名單ip.
ignorecommand
: 額外的腳本來判別他是不是壞人. (其實不常用, 但是截圖入鏡只好介紹).
bantime
: 要關進牢裡多久, 配置-1
就是終身監禁哦.
findtime
: 觀察間期.
maxretry
: 可以犯幾次錯.
enabled
: 預設每個規則都不啟用, 如果要啟用的話記得在那個模塊下配置 enabled = true
.
filter
: 過濾配置的名子, $(__name__)s
就是和規則同名啦.
banaction
: 判定有罪後的處置方式.
因為fail2ban預設唯一開啟的就是sshd規則; 那這篇就不再介紹新增規則啦~ 留給下一篇配置nginx再說 ٩(。・ω・。)
不過還是要帶大家看一下常用指令和效果!
關於監獄的各種登記紀錄, 可以在 /var/log/fail2ban.log
查看, 如下圖所示 (一堆鬼鬼祟祟的人都被登記啦~)
fail2ban-client status
這個指令可以查看目前建立了哪些監獄
然後如果你對sshd
這個監獄有興趣, 那就fail2ban-client status sshd
來查看; 可以看到裡面已經關三個人啦!
最後就是來iptables
查看一下
尾聲
把那些討厭的人通通關起來 (`・ω・´)