标签:暴力破解 log ip echo Centos7 SSH shadow config ssh
编写脚本检查/var/log/secure访问日志文件。
思路:通过统计日志文件中的登陆失败的ip,并将达到阈值的ip添加到/etc/hosts.deny来拒绝某个ip的再次访问。
脚本:之前写的,比较low。
#!/bin/bash #SSH配置文件所在位置 SSH_config='/etc/hosts.deny' #ssh 日志文件位置 SSH_log='/var/log/secure' #记录尝试登陆超过15次且未登陆成功的ip,以及添加进黑名单的时间日志 Deny_log='/var/lib/ssh_shell/ssh_deny.log' #储存所有ip及访问次数文件 Visit_ip='/var/lib/ssh_shell/ssh_visit.txt' #超过设置下面次数将被添加进黑名单 Visit_number=60 #检查ssh日志文件是否存在 if [ ! -e $SSH_log ] then echo -e "\033[41;37m ssh 日志文件不存在 请检查原因 \033[0m" exit 1 fi if [ ! -e "$SSH_config.bak" ] then cp $SSH_config $SSH_config.bak if [ $? -eq 0 ] then echo " 备份文件成功" >>$Deny_log else echo -e"\033[41;37m ssh备份文件不成功 \033[0m" exit 2 fi else echo " 已有备份文件 " >>$Deny_log fi cat $SSH_log |awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{ print $2"==="$1}' > $Visit_ip echo "---------$(date +%F_%T)------------" >>$Deny_log for VI in $(cat $Visit_ip) do Number=$(echo $VI |awk -F=== '{print $2}') IP=$(echo $VI |awk -F=== '{print $1}') if [ $Number -gt $Visit_number ] then grep $IP "$SSH_config" >/dev/null if [ $? -ne 0 ] then echo " sshd:$IP:deny" >>$SSH_config echo "$IP " >>$Deny_log fi fi done
标签:暴力破解,log,ip,echo,Centos7,SSH,shadow,config,ssh 来源: https://blog.csdn.net/qq_42869878/article/details/123200726
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。