婷姐 发表于 2024-6-19 18:54:59

针对近期阿里云IP疯狂爬取,我写的IP加入ufw自动执行文件分享一下,懂的自己搞

我前面帖子发的IP放到/data/safe/black_ip.txt文件里面。只能帮到这,懂的自己搞,不懂别问我。做站真累。
代码模块还不给贴了,只能贴代码模块后面了。
#!/bin/bash#这部分是做拦截IP处理的============开始==========================================================
blacklist_file="/data/safe/black_ip.txt"
before_rules_file="/etc/ufw/before.rules"
flagmod=false# 初始化标识为 false
# 检查黑名单文件是否存在
if [ -e "$blacklist_file" ]; then
    # 获取文件的修改时间
    last_modified=$(stat -c %Y "$blacklist_file")
    # 获取当前时间
    current_time=$(date +%s)
    # 计算文件修改距离当前时间的秒数
    time_difference=$((current_time - last_modified))
    # 检查文件是否在当前六分钟内修改过
    if [ "$time_difference" -le 360 ]; then
      # 读取黑名单文件中的IP
      while IFS= read -r black_ip
      do
                        #检查是否符合IP或者IP段规则
                        if [[ "$black_ip" =~ ^+\.+\.+\.+$ || "$black_ip" =~ ^+\.+\.+\.+/+$ ]]; then
            # 检查是否在before.rules中
            if ! grep -q "$black_ip" "$before_rules_file"; then
                # 如果不在,找到 "# End required lines" 所在行
                end_line=$(grep -n "# End required lines" "$before_rules_file" | cut -d: -f1)
                # 在 "# End required lines" 后添加新规则
                sed -i "${end_line}a-A ufw-before-input -s $black_ip -j DROP" "$before_rules_file"
                echo`date +"%Y-%m-%d %H:%M:%S"`"增加 $black_ip 到 $before_rules_file" >> /data/safe/cron.log
                  flagmod=true# 将标识设置为 true,表示有新增阻止IP
            fi
                fi
      done < "$blacklist_file"

      # 重新加载ufw规则
       if [ "$flagmod" = true ]; then
               sudo ufw reload
      fi
    fi
fi
#这部分是做拦截IP处理的============结束=========================================================

TyCoding 发表于 2024-6-19 18:55:18

收藏了,感谢楼主!

拾光 发表于 2024-6-19 18:55:54

有没有自动化的直接宝塔执行的   小白傻瓜式操作
页: [1]
查看完整版本: 针对近期阿里云IP疯狂爬取,我写的IP加入ufw自动执行文件分享一下,懂的自己搞

创宇盾启航版免费网站防御网站加速服务