fail2ban
)。iptables
)。fail2ban
规则文件。fail2ban
iptables
/var/log/auth.log
Failed password
, authentication failure
fail2ban
iptables
阻止可疑 IP 地址。:
fail2ban
服务状态。/var/log/auth.log
文件中的关键词。iptables
添加规则阻止 IP 地址。#!/bin/bash
# 检查 fail2ban 是否安装并启动
if ! systemctl is-active --quiet fail2ban; then
echo "Starting fail2ban service..."
sudo systemctl start fail2ban
# 如果希望开机自启
sudo systemctl enable fail2ban
fi
# 定义要监控的日志文件和关键字
LOG_FILE="/var/log/auth.log"
KEYWORDS="Failed password" "authentication failure"
# 监控日志文件中的关键字
monitor_logs() {
tail -f $LOG_FILE | while read line; do
for keyword in ${KEYWORDS[@]}; do
if [[ "$line" == *"$keyword"* ]]; then
# 获取 IP 地址
IP=$(echo $line | awk '{print $9}')
# 检查是否已经阻止了这个 IP
if ! iptables -L -n | grep -q $IP; then
# 阻止 IP 地址
iptables -A INPUT -s $IP -j DROP
echo "Blocked IP: $IP"
fi
break
fi
done
done
}
# 启动日志监控
monitor_logs &
PID=$!
# 清理工作
trap "kill $PID; exit" INT TERM EXIT
# 保持运行
while true; do
sleep 1000
done
defend.sh
。chmod +x defend.sh
。./defend.sh
。iptables
命令。fail2ban
,可以通过包管理器安装,例如 apt-get install fail2ban
或 yum install fail2ban
。fail2ban
的规则文件来进一步增强防护能力。原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。