deltasystems/aws-fail2ban

与AWS资源兼容的fail2ban动作

2.0.0 2020-07-07 17:18 UTC

This package is auto-updated.

Last update: 2024-09-08 02:05:35 UTC


README

贡献:最初从https://github.com/anthonymartin/aws-acl-fail2ban分支而来

aws-fail2ban

此包为fail2ban添加了管理AWS(经典waf-regional和新的wafv2)IP集的功能。通过fail2ban管理的IP集可以轻松添加到WAF/ACL规则中,以阻止该IP集中的地址。这允许fail2ban与AWS负载均衡器和其他可以与AWS WAF关联的资源集成,以便在AWS环境边缘进行封禁。

依赖项

  • 具有适用IAM策略的IAM账户和API访问密钥(请参阅示例文件夹)。
  • 必须安装AWS CLI,并且您的访问凭证必须按照AWS CLI文档中所述设置(通过~/.aws/config或通过环境变量)。https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html
  • 对于waf-regional,您需要创建一个区域WAF、IP集并记录IP集ID。
  • 对于wafv2,您需要一个区域WAFv2 ACL、IP集并记录IP集ID和名称。
  • 对于任一WAF选项,您应该有一个ACL规则来阻止您配置的IP集中创建的IP地址。
  • 如果您尚未配置Nginx/Apache使用X-Forwarded-For,您需要首先完成此操作,以便您捕获真实的客户端IP地址而不是负载均衡器的IP地址。

AWS文档 - https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/x-forwarded-headers.html NGINX访问日志 - https://ma.ttias.be/nginx-access-log-log-the-real-users-ip-instead-of-the-proxy/ NGINX代理 - https://www.nginx.com/resources/wiki/start/topics/examples/forwarded/ Apache访问日志 - https://aws.amazon.com/premiumsupport/knowledge-center/log-client-ip-load-balancer-apache/ Cloudflare - https://support.cloudflare.com/hc/en-us/articles/200170706-How-do-I-restore-original-visitor-IP-with-Nginx-

安装

  1. 推荐的安装方法是使用composer安装:composer require deltasystems/aws-fail2ban - 或者,您可以克隆或下载此存储库。
  2. 请确保您的apache配置和fail2ban配置正确。以下提供了一些帮助。

fail2ban配置

  1. fail2ban/action.d/aws-acl.conf复制到/etc/fail2ban/action.d/目录。使用上面记录的IP集信息进行修改。
  2. (可选)创建一个过滤器来匹配您要记录的任何日志文件。
  3. 创建或更新您的jail配置。请参阅代码中的示例。