问题标签 [rackattack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
446 浏览

ruby-on-rails - Rack::Attack 不会将 IP 地址列入黑名单

我已经安装并配置了 Rack::Attack,但列入黑名单的 ip 地址仍在不断地访问我的网站。

在 config/application.rb 中:

并在初始化程序/rack_attack.rb

安装配置后,相同的 ip_addresses 仍在访问我的站点。我很兴奋,因为我的流量比平时增加了 5 倍,结果却发现这些垃圾邮件机器人过得很好。

0 投票
1 回答
316 浏览

ruby-on-rails - 如何在 Rails 中阻止文件上传?

我有一个 Rails 应用程序(v4.2)。我有两个操作允许使用回形针上传图像。我对 mime 类型进行了回形针验证。

服务器上的反恶意软件在 /tmp 中发现了一堆 PHP 文件,如下所示:

/tmp/RackMultipart20190610-9668-u9nebk.php

我假设它们是在文件上传过程中创建的。

两个问题:

  1. 我如何追踪他们来自哪里?在我的 production.log 中,我看到一堆 404 用于发布到虚假 joomla 和 wordpress .php 路径的帖子,但没有任何内容可能导致这些上传。

  2. 以后如何防止它们?

我正在使用机架攻击,并且可以阻止 .php 文件扩展名,但是如何阻止表单中的文件上传?

我们有两个地方可供登录会员上传图片或 PDF。如何阻止所有其他上传文件的尝试?

0 投票
1 回答
311 浏览

ruby-on-rails - 机架攻击填满硬盘空间

我也在GitHub 上问过这个问题,但似乎没有人回答。

问题是我使用 Rack Attack 作为阻止抓取的宝石。

我的配置位于此处

我遇到的问题是将缓存写入文件系统并填满导致以下错误

我如何防止这种情况发生?

0 投票
1 回答
661 浏览

ruby-on-rails - PUT/POST 请求限制 机架攻击重定向不起作用

所以我有一个表单,它使 XHR 到外部 api 以获取令牌,然后提交到 url,该 url 在我们后端的“/update”处调用我们的数据库。我们正在尝试通过使用机架攻击节流阀来限制一个人可以使用该表单提出的请求数量。因此,例如在两次尝试后达到限制时,第三次应该给出 429 错误,然后重定向到我们的页面/429。到目前为止我有这个:

然后对于我们的油门响应,我们正在做:

该代码确实有效并返回 429,但即使我们Location在标头中也不会发生重定向。此外,我们有一个端点,我们在其中执行一个GET相同的响应将用户重定向到/429成功。

那么如何在使用 Rack Attack ruby​​ on rails 库发出put或请求时重定向用户?post还有另一种重定向用户的方法吗?任何帮助,将不胜感激。

0 投票
1 回答
310 浏览

ruby-on-rails - Cloudflare 源 IP 和机架攻击轨道

我有一个问题,我似乎无法访问 Cloudflare 在代理请求时传递客户端源 IP 的标头。

标题应HTTP_CF_CONNECTING_IP根据 Cloudflare 的文档,我的网站托管在 Heroku 上。

我有以下机架攻击设置,但即使在生产环境HTTP_CF_CONNECTING_IP中也根本没有记录。

我正在使用 Cloudflare 的免费版本,并想知道这是否有任何区别,但目前它无法使用 Rack Attack,因为我似乎只是阻止了所有人。

任何帮助将非常感激。

0 投票
2 回答
1648 浏览

ruby-on-rails - 如何在 ruby​​ on rails 中添加速率限制器?

在我的 ruby​​ on rails 应用程序中,我面临着某些性能问题。在某些形式中,一次有超过 2500 个请求来自同一个 IP 地址。所以我使用https://github.com/kickstarter/rack-attack添加速率限制器并跟踪来自 ip 地址的所有请求并通过将其存储在动态表中来跟踪它们。但是对于一定的时间间隔,如何在 5 秒内跟踪它们(即)有多少请求来自同一个 IP 地址。

0 投票
0 回答
648 浏览

ruby-on-rails - 在 GKE nginx 代理配置中配置 X-Forwarded-For 标头

我已经在集群上的 GKE (GCP) 中安装了一个 nginx 控制器,并在一个 Rails 应用程序中设置了 Rack Attack 配置以限制访问。我们无法获取传入请求的远程 IP 地址。它不断返回入口 IP 而不是远程用户的 IP。我发现以各种形式多次提到这个问题。它提到向 nginx 代理配置添加设置。使用 github 上的标准公共文件安装了 nginx 控制器后,我不知道如何在此控制器上重新配置代理。我如何将新的代理配置应用于此设置?

请参阅下面的入口控制器 yaml:

0 投票
0 回答
860 浏览

ruby-on-rails - rails rack 攻击将请求限制为每个经过身份验证的用户每小时 N 个请求

我正在使用 rails 5.2.4和 ruby​​ 2.5.8

使用设计模型对 jwt 令牌进行gem 敲击的api 身份验证

用于gem rack-attack此功能

我想实现两个案例,

如果用户通过身份验证,我想限制请求如果用户
通过标头中的给定访问令牌进行身份验证以获取 api 中的资源对象,那么他每小时可以允许 60 个经过身份验证的请求。

如果用户未经身份验证,我想允许 2Ban(锁定)请求如果用户未经身份验证,在标头中使用给定的访问令牌获取 api 中的资源对象,然后锁定任何在 5 分钟内生成超过 10 个未经身份验证请求的源 IP 2 小时。

第一种情况: 在节流代码中,即使用户传递了错误的凭据并且没有获得 JWT 访问令牌,请求也是节流的。如果经过身份验证的用户每小时点击超过 60 个请求,我想限制请求。api详细信息:

第二种情况: 在 allow2block 代码中,请求用户在标头中将访问令牌传递给 call http://localhost:3000/api/v1/users。我不知道如何检查用户是否有错误的访问令牌或者他是未经身份验证的。


我第一次使用这个中间件,任何帮助都提前感谢。
0 投票
0 回答
44 浏览

rackattack - Rack::Attack 测试用例:无法使用阻止列表更改 ENV 变量值

任何人都可以分享一些带有 ENV 变量的阻止列表测试用例吗,我发现在规范文件中,我们无法更改 rails 中间件中的 env 变量。

如果我们在规范文件中设置环境变量。

stub_const('ENV', 'RACK_ATTACK_BLOCK_IP_LIST' => '1.1.1.1')

在 application.yml 文件中,有一个设置:

RACK_ATTACK_BLOCK_IP_LIST: '2.2.2.2'

如果我们运行测试用例并监控 rake_attack.rb 文件中的 env 值,我们只能在侧安全列表块中获取新的 env 变量值“1.1.1.1”,例如:

如果我们将 safe_ip_list 移出安全列表块,它仍然是“2.2.2.2”

0 投票
2 回答
934 浏览

ruby-on-rails - 机架攻击节流

我正在尝试限制一些试图在我们的生产服务器上进行暴力验证的机器人。

这是一个带有机架攻击 6.3 的 Rails 4 应用程序,我将其配置如下:

config/initializers/rack_attack.rb

但是我不断收到来自同一个 IP 的数百万个请求,我错过了什么吗?

文档说 Rails 应用程序默认使用它,因此这应该是启用节流所需的唯一配置。