什么是 Fail2Ban?
我们需要在我们网站中防止密码的暴利破解。Fail2Ban 是一个 Python 的应用来查看日志文件,使用的是正则表达式,同时还可以与Shorewall (或者 iptables)直接工作来来启用临时黑名单。当一定的密码破解规则被使用后,就可以使用上面的方法了。我们可以用这个来限制给定的 URL 来访问 Confluence 的登录界面的次数。
安装要求
- 需要 Python 2.4 或者更新的版本。
- 需要指定下面的特定文档,这意味着你的 Apache 实例需要登录你的 Confluence 才能访问一个已知的日志文件(logfile)。你需要按照下面的要求正确调整配置。
如何设置
本列表是安装的核心部分:
- 针对 RHEL 我们有 RPM 是可以按照的,请进入下载页面,同时你还可以下载源代码收手动进行安装。
- 配置文件在
/etc/fail2ban
- 在原始状态下,默认的配置文件在
.conf
文件(fail2ban.conf
和jail.conf)。请不要对这个进行修改,如果你进行修改的话,将会导致升级的时候困难。
- 在 .local 文件中对配置进行修改,这个将会与
.conf
文件中的配置进行合并。这个文件只会对你需要的修改部分进行修改,能够让你的维护更加容易和简单。 - 过滤器(Filters)在
filter.d
中进行定义 — 在这里这里,你可以定义正则表达式,每个正则表达式进入自己的文件。 - Actions 在
action.d
文件中定义 — 你可能不需要添加一个,但是你知道在那里进行定义的能够帮你更好的找到问题。 - "jails" 是配置单元,这个配置单元用来指定一个进行检查的正则表达式,当线程达到数量后,更多的 actions 将会被启动,这个是在线程中配置的(例如,在 60 秒钟,超过 3 次的满足正则表达式条件的地址,将会被禁止访问 600 秒)
- Jails 是在
jail.conf
andjail.local
中定义的。不要忘记了为每一个都启动设置 — 这个有可能导致错误的启用,正确的却没有启用。
运行 Fail2Ban
- 使用
/etc/init.d/fail2ban {start|stop|status
} 来进行进程相关的操作 - 使用
fail2ban-client -d
来导出当前的配置到 STDOUT。在你对问题进行查看的时候,这个就非常有帮助。 - 请注意 CPU 的使用。尽管可能你使用了非常简单的正则表达式,也有可能会导致 CPU 的使用飙升,如果你的站点的访问量比较大的话。
- 日志可以日志到 syslog 或者一个文件,你可以选择哪种方式更加适合你。
通用配置
jail.local
# The DEFAULT allows a global definition of the options. They can be override
# in each jail afterwards. [DEFAULT] # "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not
# ban a host which matches an address in this list. Several addresses can be
# defined using space separator.
# ignoreip = <space-separated list of IPs> # "bantime" is the number of seconds that a host is banned.
bantime = 600 # A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime = 60 # "maxretry" is the number of failures before a host get banned.
maxretry = 3 [ssh-iptables] enabled = false [apache-shorewall] enabled = true
filter = cac-login
action = shorewall
logpath = /var/log/httpd/confluence-access.log
bantime = 600
maxretry = 3
findtime = 60
backend = polling
Confluence 的配置
下面仅仅被用来作为示例,你需要根据你的站点调整。
filter.d/confluence-login.conf
[Definition] failregex = <HOST>.*"GET /login.action ignoreregex =
https://www.cwiki.us/display/CONF6ZH/Using+Fail2Ban+to+limit+login+attempts
Confluence 6 使用 Fail2Ban 来限制登录尝试的更多相关文章
-
Spring Security笔记:登录尝试次数限制
今天在前面一节的基础之上,再增加一点新内容,默认情况下Spring Security不会对登录错误的尝试次数做限制,也就是说允许暴力尝试,这显然不够安全,下面的内容将带着大家一起学习如何限制登录尝试次 ...
-
login控件“您的登录尝试不成功。请重试”的解决方法
原文:login控件"您的登录尝试不成功.请重试"的解决方法 遇到login控件“您的登录尝试不成功.请重试”报错之后,在网上找了很久,也按照如下帖子设置了 application ...
-
asp.net用户身份验证时读不到用户信息的问题 您的登录尝试不成功。请重试。 Login控件
原文:asp.net用户身份验证时读不到用户信息的问题 您的登录尝试不成功.请重试. Login控件 现象1.asp.net使用自定义sql server身份验证数据库,在A机器新增用户A,可以登录成 ...
-
给Django Admin添加验证码和多次登录尝试限制
Django自带的Admin很好用,但是放到生产环境总还差了点什么= = 看看admin的介绍: Django奉行Python的内置电池哲学.它自带了一系列在Web开发中用于解决常见问题或需求的额外的 ...
-
Confluence 6 基于 Confluence 数据中心的 SAML 单点登录
安全申明标记语言(Security Assertion Markup Language (SAML))是一个基于 XML 的数据格式,允许各个软件平台通过identity provider (IdP) ...
-
DenyHosts限制SSH登录尝试次数
DenyHosts官方网站为:http://denyhosts.sourceforge.net 1. 安装 # tar -zxvf DenyHosts-2.6.tar.gz # cd DenyHost ...
-
Shiro限制登录尝试次数
/** * 认证信息.(身份验证) : Authentication 是用来验证用户身份 * * @param token * @return * @throws AuthenticationExce ...
-
使用Membership,您的登录尝试不成功。请重试"的解决方法
提示信息是标准Login控件产生的,打开数据库,检查aspnet_Membership表,检查IsLockedOut字段的值是否为False, 如果为True,表示这个用户锁定了,把它改成False即 ...
- 14 Spring Boot Shiro限制登录尝试次数
随机推荐
-
Jsp 错题分析
ArrayList删除元素通过RemoveAt(int index)来删除指定索引值的元素 运行时异常都是RuntimeException类及其子类异常,如NullPointerException.I ...
-
Oracle10G无图形安装及升级
Oracle10.2.0.1静默安装及升级到10.2.0.4 下载及解压好database和Disk1 环境配置: su - oracle vim ~/.bash_profile 保存. vim /d ...
-
IE6 — 你若安好,便是晴天霹雳 [ 乱弹 ]
为什么还有人在用IE6?估计和中国的盗版业有很大关系吧.小白的电脑启不来了,请人重装系统,一张古老的Ghost搞定,IE6便落地生根.今天碰到一例报告说某网站在IE6下丑陋吓人,无心无力去解决,于是来 ...
-
用eclipse javaEE编程时,不管什么程序都会出现这个错误[SetContextPropertiesRule]{Context} Setting property &#39;source&#39; to &#39;org.eclipse.jst.jee.server:bookstore&#39; did not find
用eclipse javaEE编程时,不管什么程序都会出现这个错误[SetContextPropertiesRule]{Context} Setting property 'source' to 'o ...
-
转:Internal Sales Order (ISO) Process Flow
本文介绍下内部销售订单Internal Sales Order(ISO)在Oracle EBS中的流程,内部销售订单和组织间转移(Inter-Organization Transfer,IOT)的作用 ...
-
纯CSS实现三列布局(两边固定,中间自适应)
看了一些网上的案例,感觉较繁杂,于是,自己整理了一篇来说明这个东西. 也是给我自己复习吧,以前有人问道,我还没答上来呢.== 看代码: html: <div class="top&qu ...
-
Ext.String 方法
1.Ext.String.htmlEncode(value); 编码字符串,对其中特殊字符进行转义 xt.String.htmlEncode("hello'world"); //& ...
-
DirectShow VS2013 控制台下捕捉摄像头而且显示
须要lib库文件 strmiids.lib,下载地址:http://download.csdn.net/detail/dopamy_busymonkey/8872687 放在解决方式中项目的根文件夹中 ...
-
MD中bitmap源代码分析--入题概述
在MD模块中,各级raid都使用的一份bitmap的源码,也就是说共用一种bitmap的流程,下面以raid1的使用为例来分析bitmap的工作原理. 在使用raid1磁盘阵列的时候,对于数据的可靠性 ...
-
vb实验7-找出小于18000的最大素数
vb实验7-找出小于18000的最大素数 vb实验7-找出小于18000的最大素数 ---–写给女朋友的题解 在窗体上画一个文本框,名称为TEXT1,两个命令按钮,C1和 C2,标题分别为" ...