自动ban掉对web服务进行暴力扫描的ip
自动ban掉对web服务进行暴力扫描的ip # cat auto_block_ip.sh #!/bin/bash # 定义日志目录路径 LOG_DIR=”/var/log/apache2″ # 获取当前时间减去10分钟的时间戳 TEN_MINUTES_AGO=(date -d “10 minutes ago” “+%d/%b/%Y:%H:%M:%S”) # 临时文件用于存储需要阻止的IP地址及其计数 TEMP_FILE=(mktemp) # 遍历日志目录中的所有日志文件 for LOG_FILE in “LOG_DIR”/*.log; do # 检查文件是否存在且是普通文件 if [[ -f “LOG_FILE” ]]; then # 使用awk处理日志文件,找出所有在最近10分钟内的404响应 # 并按IP地址统计次数 awk -v date=”TEN_MINUTES_AGO” ‘ BEGIN { FS=” “; OFS=”\t”; }4 >= date && 9 == “404” { ip =1; count[ip]++; } END { for (ip in
阅读全文