加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

ruby-on-rails – 带有nginx ddos??保护的Ruby on rails

发布时间:2020-12-13 21:35:35 所属栏目:Nginx 来源:网络整理
导读:我有rails3 nginx堆栈. 几天前它是ddos攻击,有很多GET请求,类似于: GET /?aaa2=bbbbbbbccc=1234212GET /?aaa1=bbbbbbbccc=4324233 首先,我添加到应用程序控制器规则: before_filter :ddos_checkdef ddos_check params.each do |param| if (!param[1].nil?

我有rails3 nginx堆栈.

几天前它是ddos攻击,有很多GET请求,类似于:

GET /?aaa2=bbbbbbb&ccc=1234212
GET /?aaa1=bbbbbbb&ccc=4324233

首先,我添加到应用程序控制器规则:

before_filter :ddos_check
def ddos_check
  params.each do |param|
    if (!param[1].nil? && (param[1].is_a?String) && !param[1].scan(/bbb/sim).blank?)
      redirect_to 'http://google.com/'
      return
    end
  end
end

它保护控制器免受繁重的DB调用.

是否可以使用特定规则过滤ddos消息的任何gems或nginx模块?

最佳答案
您应该考虑使用像Rack::Attack这样的中间件.由于它在应用程序堆栈中较低,它将比Rails更早,更快地过滤掉恶意请求.

Rack middleware for blocking & throttling abusive requests

Rack::Attack is a rack middleware to protect your web app from bad
clients. It allows whitelisting,blacklisting,throttling,and
tracking based on arbitrary properties of the request.

如果您看一下gem自述文件,可以使用很好的例子来处理像你这样的案例.
但请记住,如果攻击者至少有点聪明,他们会注意到你的努力,并试图超越他们. DDOS保护通常是猫捉老鼠游戏.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读