iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 27
1

Hello大家,
很快的我們來到了連假的最後一天,
哀傷到不行欸!!
但是在哀傷我們都要打起精神來,
來幹嘛呢?
打起精神哀傷

迅速地切入主題,
今天要來介紹一下一個工具叫Fail2ban,
功能面就如同他的名字,
把失敗的ban掉,
什麼東西失敗呢?
我的人生((誤,
登入失敗的部分!
講到這裡呢我們先了解一下登入這件事情,
前面有說過Linux是支援很多人同時連線的,
所以一台機器裡面有兩三個帳號也是合情合理,
那我們要怎麼知道誰在什麼時間點從哪裡登入過這台機器呢?
這個時候我們就要使用last指令!
我們就直接輸入看一下結果

last

嘿嘿~
馬上就可以看到有誰登入過,

第一個欄位是登入的帳號,
第二個欄位是tty(介紹可以參考這裡
第三個欄位是連線IP
第四個欄位是連線時間
最後的括號是持續時間

關於連線更詳細的說明可以參考Linux 登入安全性紀錄
當我們的機器位址暴露在公開網路上的時候,
有些不懷好意的人就會想要嘗試連線,
看看裡面有沒有他感興趣的資訊,
或是能不能當作一個破口進到一個組織內部進行攻擊,
Fail2ban就是用來稍微阻止這件事情的,
當有人嘗試登入超過你所設定的次數,
就進行登入阻擋讓對方無法進行嘗試登入的動作!
那我們就開始安裝吧~
首先

apt-get update
apt-get install fail2ban 

等他跑完之後我們來設定我們想要的政策,
參數檔的位置是/etc/fail2ban/
我們進去看一下,
然後我們新建一個檔並進行編輯,

vim /etc/fail2ban/jail.local

然後輸入下面這些設定,
也可以依個人喜好進行調整,
這邊我的設定的參數有

bantime:就是封鎖的時間,這裡都是以秒為單位,如果設成-1就是永遠不解除封鎖
findtime:這是時間區間,也就是說在多久內錯幾次就會被封鎖
maxretry:這就是可以錯的次數
destmial:發Alert到你設定的Mail

[sshd]
enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log

maxretry = 3
findtime = 600
bantime  = 1200
destmail = xxxx@gmail.com

https://ithelp.ithome.com.tw/upload/images/20191013/20111375Dty2czZUCq.png
儲存之後我們來重啟一下服務,

service fail2ban restart

然後我們來試試看,
我這邊故意打錯密碼三次,
之後我就連不到了!!
https://ithelp.ithome.com.tw/upload/images/20191013/20111375cidyuU15Ge.png
接著我們來看一下Fail2ban的log,

cat /var/log/fail2ban.log

我這邊可以看到有一個ip192.168.1.119嘗試進行登入,
然後失敗三次被ban了!
https://ithelp.ithome.com.tw/upload/images/20191013/20111375OzEgIzRgxK.png
詳細的設定在jail.conf都有標示的很清楚有興趣的可以去看一下!

好啦以上是今天的分享~~
看完到這邊讓我們擦乾眼淚,
開始新一輪的哭泣!


上一篇
Day26 Ubuntu網路相關指令Part3
下一篇
Day28 Ubuntu小樂趣~
系列文
5邦圖小科普(Ubuntu)30

尚未有邦友留言

立即登入留言