cyberdean / botdetect-bundle
Symfony CybBotDetectBundle
Requires
- php: >=5.5.9
- doctrine/doctrine-bundle: ^1.6
- doctrine/orm: ^2.5
- symfony/framework-bundle: ~2.8|^3.0
- symfony/monolog-bundle: ^2.8
- symfony/twig-bundle: ~2.8|^3.0
Requires (Dev)
- sensio/generator-bundle: ^3.0
- symfony/phpunit-bridge: ^3.0
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等。
进行中 - 即将推出 :)
安装
只需运行: 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)