筆者有一臺雲服務器,通過長期的使用發現ssh服務容易受到暴力破解,所以在此也建議大家凡是放在公網上的東西密碼不能太簡單。
1. 更改原有ssh服務端口號
sudo vi /etc/ssh/sshd_config
編輯配置文件將ssh的端口號改爲一個不常用的端口號,讓默認的22留給蜜罐使用。
#Port 22
Port XXX
重啓ssh服務sudo systemctl restart sshd
2. 安裝ssh蜜罐
這裏有兩個開源軟件值得推薦安裝
2.1 cowrie安裝過程
安裝依賴包
sudo apt-get install git python-virtualenv libssl-dev libffi-dev build-essential libpython-dev python2.7-minimal authbind
新建用戶
對外提供服務的程序以普通用戶身份運行,能更好的保證服務器安全性。
sudo adduser --disabled-password cowrie
配置環境
$ cd /home/cowrie/
$ git clone https://github.com/cowrie/cowrie.git
$ cd /home/cowrie/cowrie
$ virtualenv --python=python2 cowrie-env
$ source cowrie-env/bin/activate
$ pip install --upgrade pip
$ pip install --upgrade -r requirements.txt
創建修改cowrie.cfg配置文件
$ cd etc
$ vi cowrie.cfg
[honeypot]
hostname = VM_ubuntu
[output_textlog]
enabled = true
logfile = ${honeypot:log_path}/audit.log
format = text
開始運行
$ bin/cowrie start
$ sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222
查看日誌
grep login /home/cowrie/cowrie/var/log/cowrie/audit.log | awk '{print $5}' | sort | uniq -c
通過查看日誌可以知道服務器暴力登錄破解常用的用戶名密碼組合,在嘗試登錄成功後還能進一步瞭解破解後使用的攻擊命令,最常用的密碼是
123456,admin,p@ssw0rd
。
2.2 ssh-honeypot安裝過程
ssh-honeypot是更加輕量級的ssh蜜罐,它提供的功能只有破解記錄登錄的用戶名密碼組合,僅適合分析攻擊來源、常用密碼。運行前ssh-honeypot需要停掉前面的cowrie。
安裝運行過程
$ git clone https://github.com/droberson/ssh-honeypot.git
$ cd ssh-honeypot
$ sudo apt install libssh-dev
$ make
$ ssh-keygen -t rsa -f ./ssh-honeypot.rsa
$ bin/ssh-honeypot -r ./ssh-honeypot.rsa -p 22 -l mylog.log -f my.pid -u cowrie -d
-l mylog.log
選擇日誌文件,-u cowrie
以剛纔創建的cowrie身份運行,-d
作爲守護進程運行。
查看日誌
awk '{print $7,$8}' mylog.log | sort | uniq -c
通過分析攻擊來源可以有針對的屏蔽對特定IP的響應,安裝ssh蜜罐使得服務器真正的ssh服務難以被發現。