Nginx访问日志分析与IP黑名单自动化管理

  1. 变量定义

    • COUNT: 记录添加到黑名单的 IP 数量。
    • LIMIT_ALL: 对于 IP 范围的访问次数限制。
    • LIMIT_ONE: 对于单个 IP 的访问次数限制。
    • LINES_COPY: 记录从日志中提取的行数。
    • DENY_CONF: Nginx 黑名单配置文件的路径。
    • LOG_FILE: Nginx 访问日志文件的路径。
    • TMP_DENY_ALL: 临时文件,用于存储按前三个 IP 字段分组后的 IP 列表。
    • TMP_DENY_ONE: 临时文件,用于存储单个 IP 的计数列表。
  2. 获取开始时间:设置为当前时间的 3 分钟前。

  3. 读取日志

    • 从日志文件末尾开始,读取直到找到时间小于 START_TIME 的日志,统计符合时间范围的日志行数。
  4. 处理日志,按 IP 范围

    • 从日志中提取 IP,按前三个字段(即网段)进行计数。
    • 如果计数超过 LIMIT_ALL,将该网段添加到黑名单配置中。
  5. 处理日志,按单个 IP

    • 从日志中提取单个 IP 的计数。
    • 如果计数超过 LIMIT_ONE
  • 15
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值