Articles of fail2ban

如何使用ipset和iptables + fail2ban黑名单或白名单很多或几个IP范围

编辑: 如何寻求解决scheme的冲动有时足以缓慢而稳定地引导人们寻求解决scheme,这是令人惊讶的。 而且,为了澄清这个问题,我越来越多地重读我的问题,我意识到这个“问题”超出了“简单”问题的范围,或者是让这个社区回答问题的想法。 随着我越来越了解iptables的操作概念,我将在接下来的几个小时内重新解释这个问题的结构。 理解的过程也产生了一些更具体的问题,我将很快提供给这个社区,并链接到这个问题。 简而言之,我的问题是要find一组正确的规则: 我自己的规则 的fail2ban 其他DNS黑名单一起工作,而“我的规则”也意味着要么我的国家列入白名单,因此阻止所有其他国家的SSH, 但允许所有国家/范围/ IP的DNS查询,除了一套列入黑名单。 数字: 为ssh:白名单50范围或黑名单约。 620.000个范围(通过ipdeny.com等组成) dns的黑名单条目:约。 140(一组u32规则 , 脚本 ) 25 +/-额外服务的规则(见下文) 歌词版本:我正在努力为我的需求实施解决scheme:scheme如下。 我有一个(现在假设DNS)服务器。 除了绑定ssh,sendmail,https和munin需要考虑到: 这一般很容易实现。 另外我fail2ban被安装,因为我面临来自世界各地的一些(四)DOS攻击。 我的主要目标是尽可能locking服务器。 我的想法是只将我国的一些IP地址列入白名单,这些地址匹配我可以访问的ISP的可能的dynamicDNS分配 – 即DSL和移动。 那样我就不会把自己锁在外面 我查了我的ISP的所有networking范围,导致我的下面的脚本/规则集: #ports: # 22: SSH (#4,#5) (ssh) # 25: SMTP (#20) (outgoing, sendmail for f2b report) # 53: DNS (!!#16!! see end of #16 […]

Fail2Ban不添加iptables规则

Fail2Ban不添加iptables规则来阻止攻击者。 我正在运行CentOS 6.5(32位) 以下是我所做的: 通过yum使用EPEL回购安装fail2ban。 我将jail.conf复制到jail.local 。 我把jail.local的禁令时间改为3600 bantime = 3600 对于iptables我有这些关于SSH定义的规则 Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT all — 0.0.0.0/0 0.0.0.0/0 2 ACCEPT all — 0.0.0.0/0 0.0.0.0/0 state ESTABLISHED 3 fail2ban-SSH tcp — 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 4 ACCEPT tcp — 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 我的jail.localconfiguration为SSH: [ssh-iptables] enabled […]

Fail2Ban – 如何防止我的ISP IPdynamic被禁止?

我刚安装了Fail2Ban。 我想添加我的ISP IP到我的忽略列表,但我的IP是dynamic的。 在jail.conf文件中,我有这样的: [DEFAULT] # "ignoreip" can be an IP address, a CIDR mask or a DNS host ignoreip = 127.0.0.1 bantime = 600 maxretry = 3 我的DNS看起来像这样: 12-123-112-223.zone6.myISPName.co.uk 是否有可能将野生DNS添加到忽略列表? 例如*.myISPName.co.uk

如何格式化这个正则expression式,所以它将工作在fail2ban?

我刚刚在CentOS服务器上安装了fail2ban,以回应SSH蛮力企图。 fail2ban的sshd.conf文件中的默认正则expression式不匹配audit.log中的任何条目,这是SSH似乎logging所有连接尝试的地方,所以我试图添加一个匹配的expression式。 我想匹配的string如下所示: type=USER_LOGIN msg=audit(1333630430.185:503332): user pid=30230 uid=0 auid=500 subj=user_u:system_r:unconfined_t:s0-s0:c0.c1023 msg='acct="root": exe="/usr /sbin/sshd" (hostname=?, addr=<HOST IP>, terminal=sshd res=failed)' 正在尝试使用的正则expression式是: ^.*addr=<HOST>, terminal=sshd res=failed.*$ 我已经使用regextester.com和regexr来尝试构build正则expression式。 testing人员给了我这个正则expression式的匹配: ^.*addr=\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}, terminal=sshd res=failed.*$但是fail2ban-regex抱怨如果我不在正则expression式中使用<HOST>标签。 但是,使用^.*addr=<HOST>, terminal=sshd res=failed.*$给我0个匹配。 在这一点上,我完全卡住,我将不胜感激任何援助。 我在做什么错在正则expression式我想要使用?

fail2ban监视器是否旋转了日志文件?

fail2ban是否继续监视轮换的日志文件? 例如,我有一个规则监控/var/log/fail2ban.log,系统每周(7天)自动轮换。 我想有一个规则,监视该日志中的被禁止的IP地址,以找出在过去10天内被禁止5次的重犯。 那可能吗?

是否有任何理由使用fail2ban SSH密码login被禁用?

我正在build立由Linode托pipe的Ubuntu服务器。 我逐步介绍了他们的安全指南,他们build议在禁用基于密码的SSHlogin后安装fail2ban。 如果字典攻击无法通过SSH密钥进行,我在安装fail2ban时看不到这一点。 我在这里错过了什么?

如何检查是否firewalld阻止传入的IP地址?

我有CentOS 7与firewalld。 我安装了fail2ban并使用firewallcmd-new操作。 我看到在fail2ban日志中禁止,并且我想在firewallcmd中检查是否被阻止。 我该怎么做?

修改fail2ban failregex以通过ssh匹配失败的公钥authentication

fail2ban不能识别失败的公钥sshlogin,我认为这可以通过修改/etc/fail2ban/filter.d/sshd.config的failregex来解决,以匹配下面一行: <date> <time> <server-hostname> sshd[25917]: Connection closed by <client-ip> [preauth] 但是我无法find一个正确的介绍如何正确修改failregex。 由于我不知道诸如^%(__prefix_line)s这样的variables^%(__prefix_line)s包含很难得到一个正常工作的正则expression式。 据我所知,最新版本0.9.1包含正确的“正在连接closures[preauth]”行,但我使用从Debian存储库fai2ban和0.9.1的configuration是不兼容的一个我有。

采取措施对抗dns放大攻击

我最近发现我的服务器正被用作DNS DDOS的一部分。 基本上,我的BIND设置允许recursion,它被用来利用IP欺骗攻击某个IP地址。 我采取了必要的措施来阻止这一点,并禁用recursion。 我不再是一个放大器,我猜想解决了这个大问题,但是我仍然在接受这个问题,BIND正在回答“拒绝”所有这些问题。 我只是好奇,知道我还能做些什么。 我认为我可能会configurationfail2ban来阻止他们,做类似于Debian的build议 ,但根据其他网站和合理的逻辑,这是不理想的,因为攻击者可以很容易地阻止任何IP访问我的服务器。 那么还有什么可以做的? 或者我应该等待攻击者放弃? 或者希望他们可以重新扫描,并把我作为一个放大器?

fail2ban和denyhosts不断禁止我在Ubuntu上

我刚刚在Linode上获得了一个Ubuntu实例。 为了保护SSH,我安装了fail2ban (使用apt-get ),但是后来出现了一个问题:即使我input了正确的密码, fail2ban一直禁止我的IP(在有限的时间内,谢天谢地)。 所以我删除了fail2ban ,而是安装了denyhosts 。 同样的问题,但更严重的:这似乎每次我SSH进来,我的IP被禁止。 我从/etc/hosts.deny删除它,重新启动denyhosts ,再次login,我的IP被禁止了。 我能想到的唯一解释就是我已经以root身份进行了SSH连接(是的,是的,我知道); 也许某些地方设置了阻止以root身份进行SSHlogin的任何人,即使他们login成功了。 这对我来说似乎很怪异。 有任何想法吗? (将我的IP列入白名单是暂时的,我不想只能从一个IPlogin)。