监控IP频繁登录服务器脚本

该脚本的作用是监控IP登录失败次数,如果某个IP的登录失败次数超过设定的最大次数,则阻止该IP的进一步登录尝试。通过iptables防火墙阻止连接,当一个IP尝试登录次数超过5次时,iptables会阻止来自该IP的所有连接

bash 复制代码
#!/bin/bash

function secrity(){
# 设置要监控的登录失败次数,超过该次数则会被阻止
MAX_ATTEMPTS=5

# 获取所有登录失败的IP并计数
IP_COUNT=$(lastb | awk '{print $3}' | sort | uniq -c | awk '$1 >= '$MAX_ATTEMPTS' {print $2}')


# 遍历所有登录失败次数超过阈值的IP并将其阻止
for IP in ${IP_COUNT}
do
    # 检查IP是否已经在iptables策略中
    if ! iptables -C INPUT -s $IP -j DROP &> /dev/null; then
        echo "`date +"%F %H:%M:%S"`  Blocking $IP ..."
        iptables -A INPUT -s $IP -j DROP
    else
        echo "$IP is already blocked." > /dev/null 2>&1
    fi
done
}
相关推荐
Lucky_Turtle11 小时前
【Linux】debain13开启bbr
服务器·azure
日取其半万世不竭11 小时前
WordPress建站 + 免费SSL证书配置完整教程
网络·网络协议·ssl
@insist12311 小时前
信息安全工程师-防火墙核心技术深度解析:包过滤与状态检测
网络·安全·软考·信息安全工程师·软件水平考试
其实防守也摸鱼11 小时前
CTF密码学综合教学指南--第一章
网络·安全·网络安全·密码学·ctf·法律
行者-全栈开发12 小时前
Linux 核弹级高危漏洞 CVE-2026-31431 完整修复指南
linux·运维·服务器·ci/cd·devops·cve·核弹级高危漏洞
春蕾夏荷_72829772512 小时前
1、c++ acl udp服务器客户端简单实例-服务器端(1)
服务器·c++·udp
楼田莉子12 小时前
Linux网络:数据链路层
linux·服务器·开发语言·网络·c++·后端
环流_12 小时前
IP协议特性
网络·tcp/ip·智能路由器
fish_xk12 小时前
Linux基础指令。
linux·运维·服务器
其实防守也摸鱼12 小时前
CTF密码学综合教学指南--第二章
开发语言·网络·python·安全·网络安全·密码学·ctf