监控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
}
相关推荐
风味蘑菇干13 分钟前
WTomcat服务器
java·服务器
ElevenS_it18817 分钟前
Nginx日志监控告警实战:access_log解析+5xx突增+慢请求+异常IP自动告警完整方案(Filebeat+Zabbix)
运维·网络·tcp/ip·nginx·zabbix
liulilittle1 小时前
Linux Swap 文件配置与持久化(虚拟内存)
linux·运维·服务器
荒--1 小时前
MSF 使用
linux·运维·服务器
狮子再回头2 小时前
relhat9.1 sshd配置
linux·服务器·网络
不爱编程的小陈2 小时前
深入解析 Go 网络 I/O 的底层引擎:从 epoll 到 netpoll
服务器·网络·golang
烁3472 小时前
liunx命令不完整版
linux·运维·服务器
vsropy2 小时前
cmake版本不对不能直接删/无法source
linux·运维·服务器
大草原的小灰灰3 小时前
TCP/IP协议栈传输层介绍
网络协议·tcp/ip
IT WorryFree3 小时前
FORTINET-CORE-MIB、FORTINET-FORTIGATE-MIB
网络