树莓派3显示服务器SSH拒绝了密码,脚本封杀尝试树莓派SSH密码的来源IP
樹莓派整天開著,如果用缺省SSH端口對外開放,就會經常遇到掃描SSH密碼的肉雞。雖然密碼不是很簡單,但還是感覺很不安全的。
系統的ssh登錄日志文件在:/var/log/auth.log,登錄失敗時會記錄以下格式的日志:
Mar 7 10:31:51 raspberrypi sshd[24510]: Failed password for root from 221.8.19.129 port 4066 ssh2
Mar 7 10:31:55 raspberrypi sshd[24514]: Failed password for root from 221.8.19.129 port 4079 ssh2
Mar 7 10:31:56 raspberrypi sshd[24518]: Failed password for sshd from 221.8.19.129 port 4080 ssh2
Mar 7 10:32:26 raspberrypi sshd[24522]: Failed password for sshd from 221.8.19.129 port 4149 ssh2
用最簡單的Shell腳本來解決這個問題:
guard.sh
#!/bin/bash
last_ip=""
tail -f /var/log/auth | while read LINE; do
{
if [[ "${LINE}" =~ "Failed" ]]; then
ip="$(echo ${LINE} | awk '{print $(NF-3)}')"
if [[ "$last_ip" == "$ip" ]]; then
echo "block $ip"
#curl -s --data-ascii "uuid=" --data "body=${LINE}" http://raspberrypi/pushme
iptables -A INPUT -s "$ip" -j DROP
fi
last_ip=$ip
echo $LINE
fi
}
done
用root用戶執行以下命令,也可以放到啟動腳本里:/etc/rc.local
nohup /root/bin/guard.sh > /var/logs/guard.log 2>&1 &
如果連續兩次輸錯密碼,那ip就會被封,我另外加了一個報警,會通知到我的手機,這下感覺安全了些。
登錄Pi用 iptables -L 可以看到被封殺的IP列表,如果需要解封這些IP,可以用命令 iptables -F ,也可以用crontjob每天定時運行一次 iptables -F 來清除。
腳本還很簡單,還可以有不少改進,可以在評論里討論。
總結
以上是生活随笔為你收集整理的树莓派3显示服务器SSH拒绝了密码,脚本封杀尝试树莓派SSH密码的来源IP的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 楚乔传第16集小动物是什么 楚乔传左宝仓
- 下一篇: 我的T34买了还可以找回来吗?时间蛮长了