cyberdean/botdetect-bundle

此包已被弃用且不再维护。未建议替换包。

Symfony CybBotDetectBundle

安装: 19

依赖: 0

建议者: 0

安全: 0

星标: 2

关注者: 2

分支: 0

类型:symfony-bundle

v1.0.0-BETA4 2016-11-27 08:30 UTC

This package is not auto-updated.

Last update: 2023-07-22 20:00:51 UTC


README

此扩展包提供更多安全性,通过过滤恶意用户/机器人发出的请求来保护您的应用程序。

如果攻击者试图破解您的应用程序(暴力破解、URL 扫描等),则会检测到并禁止攻击者的IP地址访问您的应用程序或整个系统(使用Fail2Ban)。

特性

  • 可配置,您可以选择启用/禁用检查、设置限制等。
  • 可扩展:提供事件以便轻松连接您的函数(发送警报邮件等)
  • Fail2Ban集成

工作原理

存在一个记分系统,当用户超过限制时,将应用IP地址封禁。记分分为不同的类别(每个类别都可以启用/禁用)。

  • UserAgent
  • 调用不存在的可疑URL(如/wp-admin/login)
  • 调用返回404错误的请求
  • 调用返回4xx错误的请求(404除外)
  • 您自定义的记分(如登录表单暴力破解)

封禁时间是递增的:每次封禁相同IP时,它会加倍(最小/最大可配置)。

Fail2Ban集成

它提供了什么?

如果您不使用Fail2Ban,HTTP请求会被您的Apache/Nginx接收并处理(即使IP被禁止->返回403),但如果您使用Fail2Ban,HTTP请求将在防火墙上直接被阻止(iptables),您的Web服务器永远不会接收到恶意请求->去除无用的负载。

此外,通过使用它,您可以防止攻击者尝试其他系统端口,如SSH、FTP等。

进行中 - 即将推出 :)

安装

Packagist

只需运行: composer require cyberdean/botdetect-bundle 测试版: composer require cyberdean/botdetect-bundle:@beta

添加到AppKernel.php: new Cyberdean\Security\BotDetectBundle\CybBotDetectBundle()

别忘了更新您的数据库: php bin/console doctrine:schema:update --force

可选,导入数据库中的预配置的Bad User-Agent / Url: php bin/console bot-detect:import-basedata

如果您不运行此命令,别忘了自己填充数据库,否则UA & URL检查将无用。

配置

config.yml - 默认值

cyb_bot_detect:
    # Minimum PHP DateInterval ban time
    min_ban_interval: 'P3D'
    # Maximum PHP DateInterval ban time
    max_ban_interval: 'P6M'
    # HTTP code when user ip is banned
    ip_banned_response_code: 403
    err404:
        #If true strike 404 errors
        check: false
    err4xx:
        #If true strike 4xx errors (not 404)
        check: true
    ua:
        #If true strike ua bad bot
        check: true

许可证

GNU通用公共许可证v3(GPL-3),见LICENSE文件。

简单说明: https://tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3)