编写安全检测脚本
案例4:编写安全检测脚本
4.1问题
本案例要求编写脚本,防止远程ssh暴力破解密码,具体监控项目要求如下:
检测ssh登录日志,如果远程登陆账号名错误3次,则屏蔽远程主机的IP
检测ssh登录日志,如果远程登陆密码错误3次,则屏蔽远程主机的IP
4.2步骤
步骤一:准备工作
1)过滤帐户名失败的命令(登陆日志文件为/var/log/secure)
[root@svr5~]#awk '/Invalid user/{print$10}' /var/log/secure
2)过滤密码失败的命令
[root@svr5~]#awk '/Failed password/{print$11}' /var/log/secure
步骤二:编写参考脚本
1)脚本内容如下:
[root@svr5~]#vim test.sh
#!/bin/bash
awk '/Failed password/{print$11}' /var/log/secure |
awk '{ip[$1]++}END{for(i in ip){print ip[i],i}}' |
awk '$1 > 3{print$2}'
awk '/Invaliduser/{print$10}' /var/log/secure |
awk '{ip[$1]++}END{for(i in ip){print ip[i],i}}' |
awk '$1 > 3{print$2}'