shell 自动检查SSH暴力破解IP并阻断攻击

#!/bin/bash

local_ip="192.168.0.4"   #定义本地IP不会被拒绝

tmp_log=`mktemp`

cat /var/log/secure |grep "Failed password for root from" |awk ‘{print $11}‘ |uniq -c > $tmp_log

cat $tmp_log |while read line

do

attack_num=`echo $line |awk ‘{print $1}‘`

attact_ip=`echo $line |awk ‘{print $2}‘`

if [ "$attack_num" -gt "10" ] && [ "$local_ip" != "$attack_ip" ]

then

echo sshd:"$attact_ip":deny >> /etc/hosts.deny

fi

done

sort -u /etc/hosts.deny > $tmp_log     #过滤相同IP

cp -f $tmp_log /etc/hosts.deny

rm -f $tmp_log

每5分钟检测一次,在5分钟内尝试密码登录错误超过10次的拒绝这个IP

crontab -e

*/5 * * * * /sh/sshtool.sh

查看被拒绝的IP

cat /etc/hosts.deny

时间: 2024-12-23 14:59:06

shell 自动检查SSH暴力破解IP并阻断攻击的相关文章

利用iptables防止ssh暴力破解和控制网速

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --setiptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP第一句是说,对于外来数据,如果是 TCP 协议,目标端口号是 22,网络接口是 eth0,状态是新连接,那

Linux 项目 shell 自动获取报告本机IP (1) | 通过shell 自动获取报告本机IP

由于电脑设置静态IP经常出现链接不上网络,动态IP又非常不方便,故有了这个想法并实现 原理: Linux,包含PC机器,树莓派等,通过shell 自动获取报告本机IP  | 通过 Mutt+Msmtp邮箱发送 此次使用树莓派3B实现步骤: 1.安装mutt 和 Msmtp $ sudo apt -get install mutt //安装mutt,其他系统使用相应包管理 $ sudo apt-get install msmtp //安装msmtp,其他系统使用相应包管理 2.在/etc/Mutt

htpwdScan — 一个简单的HTTP暴力破解、撞库攻击脚本

李姐姐之前跟我们分享了子域名枚举工具subDomainBrute<subDomainsBrute — 改进渗透测试时暴力枚举子域名的python脚本>,这回带给我们htpwdScan htpwdScan 是一个简单的HTTP暴力破解.撞库攻击脚本: 1. 支持批量校验并导入HTTP代理,低频撞库可以成功攻击大部分网站,绕过大部分防御策略和waf2. 支持直接导入互联网上泄露的社工库,发起撞库攻击3. 支持导入超大字典4. 其他细微功能:随机X-Forwarded-For.随机SessionID

Denyhosts 防止SSH暴力破解服务器密码-1

Denyhosts是python语言程序,借用tcp_wrapper程序来进行主机防护.防止暴力破解服务器用户密码. DenyHosts可以阻止试图猜测SSH登录口令,它会分析sshd的日志文件(/var/log/secure),当发现同一IP在进行多次SSH密码尝试时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽该IP的目的. 1.安装 # cd /usr/local DenyHosts-2.6.tar.gz # tar -zxvf DenyHosts-2.6.tar.gz

linux安全---利用DenyHosts防止ssh暴力破解

1.了解denyhosts 在运维过程中,经常会暴力破解ssh密码:denyhosts是使用python2.3编写的利用/etc/hosts.deny对非法破解进行过滤的工具.它先检查/var/log/secure日志监控同一个ip,当错误登录次数达到预定值时将ip禁止登录. 2.使用脚本安装denyhosts [[email protected] ~]# cat install_denyhosts.sh ##全自动安装脚本 #!/bin/bash ###1.download and unpac

防止ssh暴力破解linux密码

网上看到一篇安全方面的文章,常用的网站收藏无法收藏,于是放这里先.具体功能还未测试,请慎用. 下面是博客原文转载,感谢作者辛苦劳动: 服务器在互联网中,每天都有些没事儿干的人在你的机器端口扫来扫去,让管理员非常烦恼.本文描述一个方法,利用本文介绍的脚本结合iptables服务一并使用,用来防止公网计算机通过ssh进行用户口令暴力破解.目前稳重脚本已经在其他项目的实际运营环境中得到验证. 脚本内容: #!/bin/bash # 防SSH密码暴力破解脚本 # 通过分析secure日志文件使用ipta

树莓派保卫战--防止SSH暴力破解

自己用树莓派搭建了个小server,用了很长时间了,最近查看log发现有很多SSH登陆失败,瞬间心就碎了,一直没关心小派的安全问题,怪我咯! 马上行动,首先研究下log:/var/log/auth.log记录了SSH登陆等权限安全信息,如何知道自己被攻击了呢? # grep sshd.\*Failed /var/log/auth.log | less Nov 16 11:26:44 raspberrypi2 sshd[4876]: Failed password for root from 61

fail2ban 防止ssh暴力破解

1.环境 CentOS 7 2.在线安装 yum install -y epel-release yum install -y fail2ban fail2ban 结构 /etc/fail2ban                  ## fail2ban 服务配置目录/etc/fail2ban/action.d     ## iptables .mail 等动作文件目录/etc/fail2ban/filter.d       ## 条件匹配文件目录,过滤日志关键内容/etc/fail2ban/j

阻止ssh暴力破解

说明: 今天无意间看了下/var/log/secure日志,吓了一跳,如下: Sep 15 14:25:12 localhost sshd[5914]: Failed password for root from 221.203.142.70 port 49476 ssh2 Sep 15 14:25:12 localhost sshd[5934]: Failed password for root from 115.182.88.152 port 28712 ssh2 Sep 15 14:25: