linux脚本实现用户登录十次失败拒绝其访问(防止暴力破解)

要求:检查/var/log/secure日志文件,如果有主机用root用户连接服务器的ssh服务失败次数超过10次(10次必须使用变量),就将这个IP地址加入/etc/hosts.deny文件拒绝其访问,如果这个IP已经存在就无需重复添加到/etc/hosts.deny文件

结合计划任务每分钟执行一次,保障系统的安全,防止别人暴力破解ssh的密码

#!/bin/bash

#得到ssh登录失败的ip地址,失败次数超过10次
deny_ip=$(cat /var/log/secure |awk '/Failed password/ && $11 ~ /[0-9]/ {print $11}'|sort |uniq -c|sort -rn|awk '$1 >10 {print $2}')

#定义一个函数得到自己的ip地址
get_ip(){
	local_ip=$(ip add|awk   '/scope global/{print $2}'|cut -d / -f 1)
}

#添加到/etc/hosts.deny文件里,如果有就不添加了,没有就添加进去
for i in $deny_ip
do
	get_ip
	if [[ $local_ip == $i ]]
	then
		echo "自己的失败次数超过10次了 "
	elif ! grep $i /etc/hosts.deny  &>/dev/null
	then
		echo "sshd:$i" >>/etc/hosts.deny
	fi
done
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值