当前位置: 首页 > Linux

Crowdsec:适用于Linux的现代协作式大规模多人防火墙

时间:2023-04-06 12:10:07 Linux

简介CrowdSec是一种大规模多人防火墙,旨在通过服务器端代理保护Internet上的开放式Linux服务器、服务、容器或虚拟机。受Fail2Ban的启发,它旨在成为此入侵防御工具的现代协作版本。CrowdSec是免费开源的(使用MIT许可证),源代码发布在GitHub上。它使用行为分析系统来使用日志来确定是否有人试图攻击你。如果您的代理检测到此类攻击,违规IP将被处理并发送以供审查。如果信号通过审查过程,IP将重新分配给所有共享相似技术配置文件的用户,使他们免受IP的影响。目标是利用人群的力量创建一个实时的IP信誉数据库。至于攻击您计算机的IP,您可以选择以您认为合适的任何方式来处理威胁。最终,CrowdSec利用社区的力量创建了一个极其准确的IP信誉系统,使其所有用户受益。从创始人的角度来看,很明显开源将成为CrowdSec的主要支柱之一。本项目创始人从事开源项目数十年,不仅追随开源,而且坚信开源。他们认为社区是对抗我们面临的大规模黑客攻击的关键,而开源是创建社区、让人们为项目贡献知识并最终使该项目更好、更安全的强大方式。该解决方案最近迎来了1.x版本,它带来了一个重大的架构变化:引入了原生RESTAPI。CrowdSec的工作原理CrowdSec是用Golang编写的,旨在运行在复杂的现代架构上,例如云、lambda和容器。为此,它是“分离的”,这意味着您可以检测“这里”(如在数据库日志中)和“缓解那里”(如在防火墙或rproxy中)。该工具在内部使用漏桶来严格控制事件。场景是用YAML编写的,在不牺牲技巧的情况下尽可能简单易读。推理引擎让您可以从链桶或元桶中获得洞察力,这意味着如果多个桶(例如Web扫描、端口扫描和失败的登录尝试)溢出到单个“元桶”中,您可以触发针对性攻击缓解.使用Internet保镖处理攻击性IP。CrowdSecHub提供开箱即用的数据连接器、互联网保镖(例如ginx、PHP、Cloudflare或Netfilter)和场景来阻止不同类别的攻击。这些保镖以多种方式减轻威胁。Crowdsec可以在类似验证码的保镖上工作,限制适用的权限,多因素身份验证,包含查询,或者在需要时激活Cloudflare攻击模式。借助轻量级的可视化界面和强大的Prometheus可观察性,您可以看到本地发生的事情(以及发生在何处)。众包安全尽管Crowdsec软件目前看起来像是经过修改的Fail2Ban,但该项目旨在利用人群的力量创建高度准确的IP信誉数据库。当CrowdSec阻止特定IP时,触发场景和时间戳将发送到我们的API,进行检查并添加到全球不良IP数据库中。虽然我们已经在向社区重新分发黑名单,但其他先决条件代码行计划在处理好后真正改进这方面。该网络已发现超过130,000个IP(每天更新),并能够将其中约10%(13,000)重新分配给我们的社区成员。我们的愿景是,一旦CrowdSec社区足够大,我们将实时生成最准确的IP信誉数据库。这种全球声誉引擎与本地行为评估和缓解措施相结合,有望以极低的成本为许多企业提供更严格的安全保护。案例研究以下两个示例展示了CrowdSec的强大功能:案例1一家保护客户免受DDoS攻击的公司创建了一个依赖于Fail2Ban的DDoS缓解策略。当其一位客户遭到涉及7,000台机器的僵尸网络攻击时,CrowdSec能够提取所有日志并成功阻止僵尸网络中超过95%的机器,在不到五分钟的时间内有效缓解了攻击。相比之下,Fail2Ban应对这种攻击每分钟需要处理数千条日志,难度相当大,需要将近50分钟。案例2某电子商务公司遭受大规模信用卡填塞攻击。攻击者正在向支付网关发送垃圾邮件,并使用唯一的IP地址来测试数千种不同的信用卡详细信息。该公司安装CrowdSec后,能够在短短几分钟内扫描所有日志并阻止入侵,而无需修改所有应用程序来尝试检测攻击。