问题标签 [fail2ban]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4656 浏览

logging - 如何让fail2ban读取json docker日志

是否可以将我的 fail2ban jail.conf 配置为检查 docker 日志而不是将日志安装在主机中。例如将 logpath 设置为容器的日志路径。

监狱.conf:

但这并没有多大作用,因为 docker logs 命令和日志文件之间有一点区别:

2016/03/23 12:39:52 [错误] 6#6: *350​​ 上游过早关闭连接,同时从上游读取响应标头,客户端: @ATTACKER_IP,服务器:@MY_DNS,请求:“GET /Blog/wp-login .php HTTP/1.1”,上游:“ http://172.17.0.3:8001/Blog/wp-login.php ”,主机:“ @MY_IP:80” @ATTACKER_IP - - [23/Mar/2016:12: 39:52 +0000]“GET /Blog/wp-login.php HTTP/1.1”502 173“-”“Python-urllib/2.7”

{"log":"2016/03/23 12:39:52 [错误] 6#6: *350​​ 上游从上游读取响应标头时过早关闭连接,客户端:@ATTACKER_IP,服务器:@MY_DNS,请求:\" GET /Blog/wp-login.php HTTP/1.1\",上游:\" http://172.17.0.3:8001/Blog/wp-login.php \",主机:\" @MY_IP :80\"\ n","stream":"stdout","time":"2016-03-23T12:39:52.219982304Z"} {"log":" @ATTACKER_IP - - [23/Mar/2016:12:39:52 +0000] \"GET /Blog/wp-login.php HTTP/1.1\" 502 173 \"-\" \"Python-urllib/2.7\"\n","stream":"stdout","time" :"2016-03-23T12:39:52.421767592Z"}

我正在将日志文件安装到主机中,我知道这很愚蠢,所以我的问题是:

  • 有什么办法可以让 rsyslog 读取 docker nginx 容器的 json 日志文件
  • 如果没有,如何配置 docker 以制作 syslog 日志格式
  • 如果没有,如何在容器上配置 syslog 以便将日志传递到我的主机?

谢谢 !

0 投票
1 回答
836 浏览

security - ubuntu igonres maxretry 设置上的 Fail2ban

我最近在我的 Ubuntu 服务器上安装了 fail2ban 以保护 ssh 黑客尝试。一切都按预期工作,除了 maxtetry,因为我将它设置为 3 次,即使它在第一次尝试失败后禁止了 ip。以下是 /etc/fail2ban/jail.local 中的监狱设置,当我检查 auth.log 时,我看到了一次尝试

0 投票
1 回答
1009 浏览

googlebot - 由于 /forward 在我的日志中,fail2ban 迫使我禁止谷歌

在我的 apache 日志中,我有很多这样的东西:

<NUM1>:302 或 404

<NUM2>:5XX、6XX 或 11XX

<字符串>:

“Mozilla/5.0(兼容;AhrefsBot/5.1;+ http://ahrefs.com/robot/)”

“Mozilla/5.0(兼容;MJ12bot/v1.4.5;http://www.majestic12.co.uk/bot.php? + )”

“Mozilla/5.0(兼容;Googlebot/2.​​1;+...链接)”

“Mozilla/5.0(兼容;Exabot/3.0;+...链接)”

ETC...

我用这个正则表达式为fail2ban做了一个监狱:

除了被禁止的 IP 地址(见日志中的 <IP ADDRESS>)是 google 和其他非常知名的公司的 IP 之外,一切都运行良好。

我真的不明白为什么会这样;我的意思是我为什么要禁止谷歌和其他公司,如果不是,我为什么要接受对我的服务器的所有这些不适当的请求。

我想澄清我的问题,因为它解释得不好:

1-为什么谷歌 IP(和其他知名公司)正在做那些“色情”请求

2-“/forward?path=...”有什么意义吗?它是 apache 功能吗?

3-如何在不停止“好”机器人引用我的网站的情况下处理这个问题。

提前感谢您的帮助!

0 投票
1 回答
532 浏览

regex - 如何为自定义的 nginx 日志做正则表达式

我想为我们的 webapp 实现 fail2ban。问题是我不知道如何处理正则表达式。我们的 nginx 日志看起来像这样

现在fail2ban docs说例如nginx-noscript.conf

基本上我想问如何为我的自定义 nginx 日志格式化正则表达式。我尝试了一些正则表达式,但它不起作用并且也不会引发任何错误。

0 投票
1 回答
2247 浏览

linux - linux fail2ban如何删除所有被禁止的ip

我正在使用 fail2ban v0.9.3 运行 CentOS 7(防火墙而不是 iptables)。

我如何清除所有禁令而不一一进行?

0 投票
0 回答
711 浏览

nginx - 如何在fail2ban中将好的机器人列入白名单

我们有一个服务器正在运行nginx,并且wordpress. 已禁用访问日志以减少磁盘 I/O 并提高性能。我已经为多个特定 uri 启用了自定义日志,这些 uri 记录host date/time methoduri特定文件中。对于某些 uri/phpmyadmin/xmlrpc.php我在服务器收到请求时直接禁止 IP。现在我想将已知的搜索引擎列入白名单,例如AOL.com Baidu Bingbot/MSN DuckDuckGo Googlebot Teoma Yahoo!and Yandex。我知道如何将 IP 列入白名单,但不知道如何同时列出一大堆蜘蛛。

0 投票
0 回答
146 浏览

regex - fail2ban 正则表达式规则

只是为了测试,我想阻止我网站的所有流量,这些流量不是来自使用 fail2ban 的 Android 浏览器。

这是日志文件中的字符串:

有什么帮助吗?先感谢您!

0 投票
1 回答
10115 浏览

logging - 使用 Fail2ban 和 Docker 保护服务器

我在 docker 容器中使用 nginx,我可以轻松地与主机共享我的 nginx docker 容器上的日志文件。日志在上面并在/var/log/nginx文件夹上工作。

我已经在主机上安装了 fail2ban 来检查日志文件,特别是access.log.

我测试一个简单的过滤器

我很容易激活它/etc/fail2ban/jail.local

我重新启动/停止/启动/重新加载 fail2ban 服务。然后我测试这个正则表达式

它匹配数千行,尤其是任何管理员请求。

主要问题是fail2ban 不能自动工作,所以不像以前那样发送邮件。事实上,当我直接在主机上使用 nginx 安装时,它可以完美运行。

日志采用基本格式,称为“组合”格式,如下所示:

没有权限问题,因为我的 nginx 容器及其子容器是完全权限(777),当然,我当然会更改它!

为什么 fail2ban 进程不禁止 ip 并且与 docker 不匹配?

0 投票
1 回答
262 浏览

regex - fail2ban 正则表达式嵌套还是错误?

所以今天我试图为fail2ban过滤器组合一些正则表达式。这就是我注意到fail2ban 在正则表达式模式中嵌套OR'ing 存在一些问题的地方。

输入字符串:127.0.0.1 - - [13/Aug/2016:07:01:45 -0400] "a

图案:^<HOST> -.*\"(c|b)|a

这是一个例子:

我注意到如果您运行正则表达式模式a|(c|b),这实际上会成功并报告匹配,但是我需要能够检查第一个 OR 的两侧以查看第一个条件是否匹配(例如,如果 HTTP 请求type 不是 POST 或 GET),忽略正则表达式模式的其余部分,否则在第一个 OR 之后运行剩余的正则表达式模式。另一件事是分组似乎并不重要,因为它似乎总是只在最外层 OR 的第一部分匹配。

在这里我们得到一个匹配:

我说这可能是一个错误,因为我对 regex101.com 和 debuggex.com 等网站的测试报告与这两种正则表达式模式匹配。

0 投票
0 回答
134 浏览

ruby-on-rails - Fail2ban + 'UTF-8 中的无效字节序列' - 在 nginx 上阻止滥用请求的 IP

我的服务器上运行了带有过滤器的 fail2ban:

sshd、nginx-auth 和 nginx-login ( https://snippets.aktagon.com/snippets/554-how-to-secure-an-nginx-server-with-fail2ban )

问题是有时我的设计/会话/控制器上每小时有数千个请求出现该错误

UTF-8 中的无效字节序列

显然fail2ban并没有阻止它,它甚至没有阻止甚至禁止那些ips。

我的问题是:是否有任何已知的过滤器可以运行以防止此类垃圾邮件攻击 - 此活动肯定会出现在我的 access.log 中,但这些过滤器都没有将其检测为欺诈性请求?

顺便说一句:fail2ban 工作正常,因为我有数百个 ips 被 ssh 过滤器禁止。