AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1057265
Accepted
DevOpsSauce
DevOpsSauce
Asked: 2021-03-17 08:26:56 +0800 CST2021-03-17 08:26:56 +0800 CST 2021-03-17 08:26:56 +0800 CST

Fail2ban 禁止不在日志中的奇数 IP 地址(0.0.0.4、0.0.0.5 等)

  • 772

服务器:Nginx

Fail2ban 版本:v0.9.3

似乎无论我尝试什么,我都无法让 fail2ban 始终从日志条目中找到正确的主机。

/etc/fail2ban/filter/expanse-bot.conf:

[Definition]
failregex = ^(\d{2}|\d{3}) \| <HOST> \| .*\"Expanse indexes the network.*

^(\d{2}|\d{3})捕获端口 80 或 443。我最初在行的开头尝试了一个通配符,^.*<HOST>但没有奏效。

日志条目:

443 | 34.77.162.32 | - | [14/Mar/2021:11:08:23 -0500] | redacted-domain.com | "GET / HTTP/1.1" | 200 | 144126 | "-" | "Expanse indexes the network perimeters of our customers. If you have any questions
 or concerns, please reach out to: [email protected]" | - | 123.45.67.89:1234

在/var/log/fail2ban.log中,它显示了日志中不存在的这些奇数 IP 地址:

2021-03-14 11:07:02,716 fail2ban.actions        [10818]: NOTICE  [expanse-bot] Ban 0.0.0.3
2021-03-14 11:07:03,656 fail2ban.actions        [10818]: NOTICE  [expanse-bot] Ban 0.0.0.4
2021-03-14 11:07:03,865 fail2ban.actions        [10818]: NOTICE  [expanse-bot] Ban 0.0.0.5
2021-03-14 11:07:04,075 fail2ban.actions        [10818]: NOTICE  [expanse-bot] Ban 0.0.0.6

但是,那么它是否正确禁止?:

2021-03-14 11:13:48,075 fail2ban.actions        [10818]: NOTICE  [expanse-bot] Ban 34.77.162.13
2021-03-14 11:13:51,288 fail2ban.actions        [10818]: NOTICE  [expanse-bot] Ban 34.77.162.27
2021-03-14 11:15:19,595 fail2ban.actions        [10818]: NOTICE  [expanse-bot] Ban 34.77.162.16
2021-03-14 11:16:30,884 fail2ban.actions        [10818]: NOTICE  [expanse-bot] Ban 34.77.162.12
2021-03-14 11:18:14,208 fail2ban.actions        [10818]: NOTICE  [expanse-bot] Ban 34.77.162.18
2021-03-14 11:19:39,513 fail2ban.actions        [10818]: NOTICE  [expanse-bot] Ban 34.77.162.11

我的配置/etc/fail2ban/jail.local:

[expanse-bot]
enabled = true
filter = expanse-bot
logpath = /var/log/nginx/access.log
port = http,https
maxretry = 1
findtime = 3
bantime = 86400
action = iptables-allports[name=expanse-bot]

一旦它通过那些奇怪的 IP 地址,它就会按预期进行。我只是不明白 0.0.0.* 在日志中不存在时的含义是什么?我在主要配置中缺少什么吗?

ubuntu nginx regex fail2ban
  • 1 1 个回答
  • 499 Views

1 个回答

  • Voted
  1. Best Answer
    sebres
    2021-03-17T12:31:15+08:002021-03-17T12:31:15+08:00

    虽然我不明白如何使用failregex像你这样的锚定,但我将尝试解释 fail2ban 在这里的工作原理。

    标记<HOST>也可以通过其主机名找到主机。为避免这种情况,您可以使用 tag<ADDR>代替(仅限 >= v.0.10)或设置usedns = no在 jail 中。

    你真的没有一些以 2-3 位数字和管道开头的行和一些文本吗?我的意思是一些多行日志行...

    Fail2ban 通常将匹配项存储到数据库中,因此您也可以从那里获取匹配的行:

    sqlite3 'file:/var/lib/fail2ban/fail2ban.sqlite3?mode=ro' "select * from bans where jail = 'expanse-bot' and ip like '0.0.0.%'"
    

    顺便说一句(\d{2}|\d{3}),可以替换为结尾\d{2,3}的全部.*内容根本不重要,并且可以安全地删除(RE 未锚定在消息末尾)。但是.*在中间(在“扩展网络索引”之前)可以用更精确的东西代替。

    如果您的 RE 最初未锚定(并且这个奇怪的地址出现在重新启动时) - 这可能是旧的、以前匹配的和被禁止的票证(fail2ban 在重新启动后恢复活动 IP)。只需手动取消禁止即可删除它们,请参阅fail2ban-client --help | grep unban。

    • 1

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • ubuntu apt-get upgrade - 如何在 shell 中单击确定?

  • VirtualBox 上 Ubuntu 的访客优化技巧 [关闭]

  • 外部硬盘上的 virtualbox 虚拟硬盘驱动器(Vista 主机上的 ubuntu 客户机)

  • 如何在 Ubuntu 上挂载 LVM 分区?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve