面向公网开放ip的虚机可能遭遇暴力破解,定时封禁ip能够在一定程度上降低风险。
方法1 定时封禁ip
定时任务如下,每日凌晨指定定时封禁任务。
0 2 * * * /root/temp/beginClearAll.sh
#!/bin/bash
#backup
dates=`date +%F`
# 存放脚本文件夹
cd /root/temp
lastb > loginFailedLog_$dates
# 排除自己常用的登录用户名、指定ip地址,避免错误封禁ip
lastb|grep -Ev 'root|127.0.0.1'|awk '{print $3}'|sort -u|grep -Ev 'F|S|T|M|W'|sed -e '/^$/d' >forbidenIP
./forbidenip.sh
#清空lastb
echo > /var/log/btmp
#!/bin/bash
# 读取forbidenIP中的ip,逐条封禁
# 文件名forbidenip.sh
while read fip
do
iptables -A INPUT -s $fip -p TCP -j DROP
done < forbidenIP
方法2 防火墙
防火墙避免多次登录失败的ip继续尝试
#防火墙也是一个
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT_direct 0 -p tcp --dport 22 -m state --state NEW -m recent --set
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT_direct 1 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 30 --hitcount 4 -j REJECT --reject-with tcp-reset
firewall-cmd --reload
方法3 云控制台安全中心
直接只允许指定ip访问22端口,是最根本的安全防控手段。