问题标签 [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.
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 以便将日志传递到我的主机?
谢谢 !
security - ubuntu igonres maxretry 设置上的 Fail2ban
我最近在我的 Ubuntu 服务器上安装了 fail2ban 以保护 ssh 黑客尝试。一切都按预期工作,除了 maxtetry,因为我将它设置为 3 次,即使它在第一次尝试失败后禁止了 ip。以下是 /etc/fail2ban/jail.local 中的监狱设置,当我检查 auth.log 时,我看到了一次尝试
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-如何在不停止“好”机器人引用我的网站的情况下处理这个问题。
提前感谢您的帮助!
regex - 如何为自定义的 nginx 日志做正则表达式
我想为我们的 webapp 实现 fail2ban。问题是我不知道如何处理正则表达式。我们的 nginx 日志看起来像这样
现在fail2ban docs说例如nginx-noscript.conf
基本上我想问如何为我的自定义 nginx 日志格式化正则表达式。我尝试了一些正则表达式,但它不起作用并且也不会引发任何错误。
linux - linux fail2ban如何删除所有被禁止的ip
我正在使用 fail2ban v0.9.3 运行 CentOS 7(防火墙而不是 iptables)。
我如何清除所有禁令而不一一进行?
nginx - 如何在fail2ban中将好的机器人列入白名单
我们有一个服务器正在运行nginx
,并且wordpress
. 已禁用访问日志以减少磁盘 I/O 并提高性能。我已经为多个特定 uri 启用了自定义日志,这些 uri 记录host
date/time
method
到uri
特定文件中。对于某些 uri/phpmyadmin
或/xmlrpc.php
我在服务器收到请求时直接禁止 IP。现在我想将已知的搜索引擎列入白名单,例如AOL.com
Baidu
Bingbot/MSN
DuckDuckGo
Googlebot
Teoma
Yahoo!
and Yandex
。我知道如何将 IP 列入白名单,但不知道如何同时列出一大堆蜘蛛。
regex - fail2ban 正则表达式规则
只是为了测试,我想阻止我网站的所有流量,这些流量不是来自使用 fail2ban 的 Android 浏览器。
这是日志文件中的字符串:
有什么帮助吗?先感谢您!
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 不匹配?
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 等网站的测试报告与这两种正则表达式模式匹配。
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 过滤器禁止。