2020/01/08

[程式設計]Golang分析ssh紀錄,並使用ufw自動封鎖嘗試登入的入侵者

這支程式自動分析SSH Auth紀錄檔,把分析出來嘗試登入失敗的IP寫成一個LIST,然後封鎖起來。現在SSH通常都用key登入,不會真的使用帳號密碼登入,這些IP通常來者不善,封鎖有好無壞。

分析程式語言 Golang

預設分析目錄 /var/log/auth.log

程式存放目錄 /script/ufw

紀錄存放目錄 /script/ufw/history

如果需要修改這兩個目錄,需要自行修改程式及腳本,本篇文就不細講了。另外,我的程式分析完log檔會自動清空內容,如果有需要保留請自行斟酌修改。

使用教學↓

#關閉防火牆
$ sudo ufw disable

#預設封鎖
$ sudo ufw default deny

#開啟想開的Port
$ sudo ufw allow 22
$ sudo ufw allow 80
$ sudo ufw allow 443

#開啟防火牆紀錄
$ sudo ufw logging on

#開啟防火牆
$ sudo ufw enable

#安裝Golang
$ apt install golang

#建立目錄
$ mkdir /script
$ mkdir /script/ufw
$ mkdir /script/ufw/history

#到目錄
$ cd /script/ufw

#下載程式碼+腳本
$ wget https://cumi.co/downloads/ufw.go
$ wget https://cumi.co/downloads/ufw_run.sh

#編譯程式
$ go build

#修改權限
$ chmod -c 777 ufw_run.sh
$ chmod -c 777 ufw

#加入排程(每分鐘執行一次)
$ crontab -e
* * * * * sudo /script/ufw/ufw_run.sh

#目前UFW的規則
$ sudo ufw status numbered

沒有留言:

破解孫子兵法(十,最終篇):資訊時代的策略新生機

提起《孫子兵法》,很多人還是會覺得這是策略界的「無敵寶典」,彷彿隨手甩一句「凡戰之道,未戰而先謀」就能讓對手聞風喪膽。但現在是2025年,資訊像閃電一樣傳播,戰場和市場的遊戲規則早就變得面目全非,孫子的老套路還能橫行無阻?我看很難!今天我們再來把《孫子兵法》的幾個核心觀念拿出來剖...