编辑
2024-01-17
sh
00

目录

封禁登录失败次数大于10的IP
背景:
1、脚本内容
2、结果会导致iptables中条目数量大幅度增加,我执行完一次后就增加到492条了。
3、iptables命令并不会永久保留,想要永久保存需要写入到文件中并开机加载

封禁登录失败次数大于10的IP

背景:

有些放置在公网中的服务器需要打开sshd服务,但是不管你改不改端口都会收到很多登录失败的信息。黑客在用程序扫描你的服务器端口来暴力破解密码。分享一个拒绝访问的脚本,临时用可以。条件允许的话还是使用防火墙等安全设备。

1、脚本内容

sh
#!/bin/bash # #********************************************* #Author: zhang #QQ: 200957079 #URL: vanblog.ztunan.top #Date: 2024-01-17 #Filename: failed_login.sh #Description: The test script #********************************************* # 设置阈值 THRESHOLD=10 # 获取失败登录的IP地址 FAILED_IPS=$(journalctl _SYSTEMD_UNIT=sshd.service | grep 'Failed password' | awk '{print $(NF-3)}' | sort | uniq -c | awk ' $1 >= '"$THRESHOLD"' {print $2}') # 遍历每个失败次数超过阈值的IP地址 for IP in $FAILED_IPS; do # 检查IP是否已经在iptables规则中 if ! iptables -C INPUT -s $IP -j DROP &>/dev/null; then # 如果IP不在规则中,则添加规则 iptables -A INPUT -s $IP -j DROP echo "Blocked IP: $IP" else echo "IP $IP is already blocked." fi done

2、结果会导致iptables中条目数量大幅度增加,我执行完一次后就增加到492条了。

image.png

3、iptables命令并不会永久保留,想要永久保存需要写入到文件中并开机加载

sh
#保存 centos7/8 iptables-save > /data/iptables.rules #保存已经设置的规则到/data/iptables.rules中 centos6 service iptables save #将已设置的规则保存到/etc/sysconfig/iptables文件中 #加载 centos7/8 iptables-restore < /data/iptables.rules #载入保存的规则文件 centos6 service iptables restart #将会从/etc/sysconfig/iptables文件中重新载入规则 #开机自动加载规则,记得给rc.local执行权限。 vim /etc/rc.local iptables-restore < /data/iptables.rules
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:笑一个吧~

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 本文为博主「笑一个吧~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 许可协议。转载请注明出处!