本diao的服务器老是被一些ip扫描,试图暴力破解ssh服务,不胜其扰,为了安全起见,用尽所学,决定
写上一个ssh自动拉黑相关ip的shell脚本。
参考一些文章后 脚本如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| #!/bin/bash
hosts_deny=/etc/hosts.deny
hosts_secure=/etc/hosts.secure
secure(){ lastb | awk -F " " '{print $3}' | uniq -c |sort -nr | while read line do attack_count=`echo $line | awk '{print $1}'` attack_ip=`echo $line | awk '{print $2}'` if [ "$attack_count" -gt "5" ] then echo sshd:"$attack_ip":deny >> $hosts_secure fi done } secure sort $hosts_deny $hosts_secure | uniq > $hosts_deny logpath=/var/log/ssh_login_err.log log(){ if [ -e $logpath ] then touch "$logpath" fi
lastb | awk -F " " '{print $3}' | uniq -c |sort -nr >> $logpath date >> $logpath echo "_______________" >> $logpath }
|
日志文件存放在/var/log/ssh_login_err.log中
后面将脚本加入到crontab中 即可根据设定的时间自动扫描拉黑登录失败5次以上的ip
Last updated:
博客转载采用 保留署名-非商业性使用-禁止演绎 4.0-国际许可协议 转载请保留以上声明信息!:
http://wuooyun.cn/2019/01/10/ssh-sec/