Articles of fail2ban

fail2ban为apache访问日志

我已经尝试了所有从Apache访问日志中获取主机的方法,但都没有成功 我的基本testing方法如下: fail2ban-regex '87.97.244.57 – – [05/Nov/2015:12:46:24 -0500] "GET /index.php/?a=30%60%22( HTTP/1.1" 200 22639 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)' '^<HOST> – – [[^]+] ".*60.20.*' 我试过^<HOST> – – [[^]+] ".*60.20.* <HOST> – – [[^]+] ".*60.20.* [[]client []].*60.20.* ^<HOST>.*60.20.*$ .*60.20.* …等 他们要么错过了目标行或者我得到一个错误fail2ban.server.failregex.RegexException: No 'host' group in […]

如何缓解AWS上的DDOS攻击?

我有Web应用程序(NodeJS),我打算将其部署到AWS。 为了最小化成本,它将在单个EC2实例上运行。 我担心,如果有人决定保佑我DDOS攻击,会有什么事情发生,因此几乎没有问题。 现在,我做了一些相关的研究,但是由于我的理解显然很缺乏,所以如果有些问题很愚蠢,我很抱歉: 我想避免人们用第4层攻击淹没我的网站。 把我的安全组设置为只接受stream量(除了SSH端口22以外)是否足够: inputHTTP 协议TCP 端口范围80 以上将停止UDP洪水和其他人击中我的EC2实例? 通过安全组,我只允许SSH连接到端口22从我的静态IP地址。 这会让攻击者远离攻击端口22吗? 我的EC2实例将运行Ubuntu。 我希望避免应用层攻击(第7层),并计划直接从我的应用程序中执行此操作,以便以某种方式检测某个IP是否淹没特定的URL,并在必要时阻止它们。 然而,这似乎有点晚了,因为stream量已经到达了我的Web服务器,我的服务器无论如何都要做这个工作。 所以,不是直接从我的应用程序这样做,我想如果有可能使用IP表来阻止任何stream氓交通之前,我的networking服务器。 是否有一些能够识别stream氓行为和阻止犯罪者的常见设置? 我正计划研究fail2ban ,希望能够简化这个过程。 现在,我明白,如果它达到这么远,它会打我的EC2实例,但我想保护我的应用程序也从例如暴力攻击。 AWS CloudFront会处理大多数DDOS第4层攻击吗? 如果没有,那么使用免费的CloudFlare会有什么不同? 说有人淹没我的网站,这导致更多的stream量,然后我预料。 有什么办法可以停止收费吗? 有计费警报,但我看不到任何方式来设置AWS的硬限制,并说如果带宽超过实例脱机。 我也意识到,现在有办法完全防止DDOS攻击,但是我至less要防止基本的尝试。 预先感谢您的任何帮助。

Fail2Ban的正则expression式是错误的?

我目前正在设置一个filter来过滤名为xmlrpc.php的文件的POST攻击。 应该在日志访问中监视的请求如下所示: 1.99.437.201 – – [01/Feb/2016:01:57:14 +0000] "POST /xmlrpc.php HTTP/1.1" 200 631 "-" "curl/7.30.0" 监狱看起来像: [xmlrpc] enabled = true filter = xmlrpc action = iptables[name=xmlrpc, port=http, protocol=tcp] logpath = /srv/www/logs/access.log bantime = 43600 maxretry = 5 而我的filter是: [Definition] failregex = ^<HOST> .*POST .*xmlrpc\.php.* ignoreregex = 我试图找出正则expression式不捕获日志尝试。 任何洞察什么<HOST>实际上代表?

Fail2ban发送成功5封邮件后禁止我

亲爱的,我在CentOS 6系统上使用Fail2Ban v0.8.13来保护我的Postfix服务器。 基本上它工作,所以经过5 SMTP错误的login尝试,我被禁止。 Fail2Ban监狱conf [sasl-iptables] enabled = true filter = sasl backend = polling action = iptables[name=sasl, port=smtp, protocol=tcp] sendmail-whois[name=sasl, [email protected], [email protected]] logpath = /var/log/maillog maxretry = 5 我在main.cf中的sasl设置 smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes 我的smtp.conf(Postfix) pwcheck_method: saslauthd mech_list: login CRAM-MD5 DIGEST-MD5 我的EHLO状态(后缀) EHLO mail.xxx.ch 250-mail.xxx.ch 250-PIPELINING 250-SIZE 50480000 250-VRFY […]

Fail2ban兼容性debian debian jessie systemd

Fail2ban debian jessie包不工作: 在新鲜的debian杰西与openssh-server ( 在docker集装箱testing ): root@2b29327677c8:/# cat /etc/debian_version 8.3 root@2b29327677c8:/# apt-get install fail2ban root@2b29327677c8:/# apt-cache policy fail2ban fail2ban: Installed: 0.8.13-1 Candidate: 0.8.13-1 Version table: *** 0.8.13-1 0 500 http://httpredir.debian.org/debian/ jessie/main amd64 Packages 100 /var/lib/dpkg/status root@2b29327677c8:/# service fail2ban start Starting authentication failure monitor: fail2banERROR No file(s) found for glob /var/log/auth.log ERROR Failed during configuration: […]

Fail2Ban禁止重启

我正面临一个令人困惑的问题与Fail2Ban。 我运行一个较旧的版本,在重新启动Fail2Ban后台程序时会取消所有的IP地址。 我现在在Centos 7上安装了Fail2Ban 0.9.3版本。当我重新启动Fail2Ban时,它重新禁止以前禁止的IP地址。 我不希望发生这种情况,而是希望在重新启动时清除所有禁令,这是以前的工作方式。 我已经设置dbfile = None以防止持续的禁止,并设置dbpurgeage = 0只是为了安全。 但重启后,任何被禁止的IP都会被禁止。 以下是/var/log/fail2ban.log摘录,当用户被禁止通过vsftpd时: 2016-09-19 20:45:58,671 fail2ban.filter [23752]: INFO [vsftpd] Found xx.xx.xx.xx 2016-09-19 21:01:55,665 fail2ban.filter [23752]: INFO [vsftpd] Found xx.xx.xx.xx 2016-09-19 21:02:06,679 fail2ban.filter [23752]: INFO [vsftpd] Found xx.xx.xx.xx 2016-09-19 21:02:06,936 fail2ban.actions [23752]: NOTICE [vsftpd] Ban xx.xx.xx.xx 然后重新启动Fail2Ban这里是日志文件的最后几行: 2016-09-19 21:02:42,719 fail2ban.jail [24213]: INFO Jail 'vsftpd' started 2016-09-19 […]

Fail2ban正则expression式不匹配我的日志

我试图在Fail2ban中创build一个failregex来查找这些行(和IP地址),但我不能写它。 我的日志行如下所示: [Thu Sep 22 10:28:32.215159 2016] [:error] [pid 1616] [client 83.143.240.13:54895] FastCGI:server“/var/www/cgi-bin/php5-fcgi-104.236.209.45-80- bloggerger.com“stderr:PHP消息:WPlogin失败,用户名:admin,referer: http : //blogginger.com/wp-login.php [Thu Sep 22 04:38:01.588441 2016] [:error] [pid 24937] [client 49.151.91.8:58121] FastCGI:server“/var/www/cgi-bin/php5-fcgi-104.236.209.45-80- bloggerger.com“stderr:PHP消息:WPlogin失败,用户名:admin,referer: http : //blogginger.com/wp-login.php 这是我在attack.conf中的failregex行: failregex = [[]client <HOST>[]] WP login failed.* 但它不起作用。 没有任何匹配。 什么是正确的failregex线find这些日志行? 谢谢!

fail2ban和snort有什么区别?

我有一个暴露在互联网上的服务器,我想提供一些针对DDOS攻击的保护。 目前,我正在考虑使用fail2ban和/或snort。 我知道他们有不同的工作方式。 据我所知,Fail2Ban监视日志文件,以确定入侵和snort监视传入的包。 我应该同时使用吗? 仅仅使用其中一个就足够了? 什么function是唯一的,但不是其他的? 我所关心的是性能。 snort可能会减慢我们的networking吗?

做fail2ban和apf + bfd是否相辅相成?

研究高级防火墙策略(APF)与暴力检测系统(BFD)和Fail2Ban的区别我找不到。 他们使用不同的方法,同时这两个解决scheme基本上做同样的事情 – 他们分析日志文件,并基于预定模式通过iptables阻止侵害IP。 不过,有很多教程解释了如何在同一个系统上设置APF和Fail2Ban,所以它们不会在iptables中覆盖彼此的条目。 在那里,我感到困惑:为什么要安装两个防火墙,它们做同样的事情? 或者我错过了什么? 他们互补吗? 他们有没有做其他解决scheme不能做的事情?

Fail2Ban添加iptable规则,但他们不工作?

Fail2Ban刚刚阻止我的IP进行3次SSH尝试。 它添加了iptables规则,我可以使用“sudo iptables -L -n”命令来查看它。 但我仍然可以访问该网站并通过SSHlogin! 可能是什么问题? 是因为使用CloudFlare吗? 我已经设置Nginx将真实IP写入访问日志,而不是Cloud Flare IP。 这不够吗? Chain fail2ban-ssh (1 references) target prot opt source destination DROP all — 119.235.14.8 0.0.0.0/0 RETURN all — 0.0.0.0/0 0.0.0.0/0 input链: Chain INPUT (policy DROP) target prot opt source destination fail2ban-NoAuthFailures tcp — 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 fail2ban-nginx-dos tcp — 0.0.0.0/0 0.0.0.0/0 multiport dports […]