标签: ddos

配置nginx来过滤http flood

A在我的服务器上有一个http洪水,而不是那么多查询,但无论如何.日志中的查询

95.55.237.3 - - [06/Sep/2012:14:38:23 +0400]"GET/HTTP/1.0"200 35551" - ""Mozilla/5.0(Windows; U; Windows NT 6.1; en-US)" " - "| " - "93.78.44.25 - - [06/Sep/2012:14:38:23 +0400]"GET/HTTP/1.0"200 36051" - ""Mozilla/5.0(Windows; U; Windows NT 6.1; en-美国)"" - "| " - "46.118.112.3 - - [06/Sep/2012:14:38:23 +0400]"GET/HTTP/1.0"200 35551" - ""Mozilla/5.0(Windows; U; Windows NT 6.1; en-美国)"" - "| " - "

我在nginx配置中尝试了这个过滤器

server {
    .....
    set $add 1;
    set $ban '';

###### Rule 1 ########
if ($http_referer = '-' ) {
    set $ban $ban$add;
}
if ($request_uri …
Run Code Online (Sandbox Code Playgroud)

ddos nginx

8
推荐指数
1
解决办法
3万
查看次数

如何正确防止SSDP反射/放大攻击?

我正在实现一个应该响应SSDP M-SEARCH查询的设备.

我是设备供应商,我无法控制这些设备的部署位置.

有一种已知的DDoS攻击使用SSDP搜索放大,即攻击者从伪造地址发送搜索请求,编码不良的SSDP服务器响应该假地址.假地址最终受到重创.

我应该怎么做以防止我的设备被用于此类攻击?

  1. 仅设置TTL = 2并依赖路由器丢弃数据包
  2. 仅响应来自自己子网的请求
  3. 为有效的查询源子网添加配置选项
  4. 猜猜什么IP地址是"本地的"和"全球的"
  5. 添加响应油门,希望最好
  6. 你的建议?

Wrt 1. TTL应根据SSDP规范进行配置; 即使它的响应很低,仍然会泄漏出本地网络.如果网络上有桥接VPN,则响应泄漏很远.

Wrt 2.我可以想象可以访问多个子网的公司网络(例如,一个子网用于无线客户端,另一个用于桌面,另一个用于服务器),因此我的设备必须可以跨子网搜索(尽管每个规格需要TTL).

Wrt 3.配置和维护麻烦.

Wrt 4.有可靠的方法吗?IPv6怎么样?那些拥有例如/ 28片全局地址的网络怎么样?

Wrt 5.来自无数设备的涓涓细流仍然是一股洪流......

参考:https://blog.sucuri.net/2014/09/quick-analysis-of-a-ddos-attack-using-ssdp.html

security network-programming ddos ssdp

8
推荐指数
1
解决办法
1064
查看次数

解释nginx中的limit_conn_zone $server_name

我正在配置 nginx 进行基本的 DDoS 防护。我想使用http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html中所述的 limit_conn 模块。我特别不明白这个例子:

limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn_zone $server_name zone=perserver:10m;

server {
    ...
    limit_conn perip 10;
    limit_conn perserver 100;
}
Run Code Online (Sandbox Code Playgroud)

描述是:

例如,以下配置将限制每个客户端IP与服务器的连接数,同时限制与虚拟主机的总连接数

第一部分很清楚,我允许来自一个 IP 的同时连接不超过 10 个。

但第二条规则是否意味着我只允许 100 个连接到我的服务器?因为如果是这样,攻击者只需打开约 100 个连接,就会阻止每个人访问服务器,从而有效地使 DDoS 攻击成功。

ddos nginx

8
推荐指数
1
解决办法
9767
查看次数

如何限制.NET中StreamReader.ReadLine()读取的字符数?

我正在用C#编写Web服务器应用程序,并使用StreamReader类从底层NetworkStream中读取:

 NetworkStream ns = new NetworkStream(clientSocket);
 StreamReader sr = new StreamReader(ns);
 String request = sr.ReadLine();
Run Code Online (Sandbox Code Playgroud)

此代码容易受到DoS攻击,因为如果攻击者永远不会断开连接,我们将永远不会读完该行.有没有办法限制.NET中StreamReader.ReadLine()读取的字符数?

c# ddos readline streamreader

7
推荐指数
1
解决办法
2万
查看次数

如何在 traefik 实例之间共享速率限制状态?

我的公司运行具有 6 个节点的 kubernetes 设置,并将 traefik 1.6 作为 DaemonSet 部署到生产中的每个节点。每个 traefik 实例在端口 80 上从 AWS ALB 接收传入(ssl 终止)请求并将它们转发到各个 pod。

在对我们的后端进行了相当严重的 DDoS 攻击之后,我们启用了 traefiks 速率限制功能,以防止请求通过实际的 pod。

由于我们运行了多个彼此不知道的 traefik 实例,因此用户感知的速率限制比 traefik 配置中设置的速率限制高 1 到 6 倍,因为请求随机命中 6 个 traefik 实例中的一个。这使得无法设置精确的限制,我们不能依赖 AWS ALB 粘性会话设置来确保客户端每次都命中同一个框,因为攻击者可以忽略 cookie。

使用带有部署的单个 traefik 实例而不是 daemonset 不是一个很好的解决方案。对于每个请求,从接受请求的节点到 traefik 实例,需要在节点之间进行额外的跳转。在 6 个请求中有 5 个该实例将在不同的节点上运行。

有没有办法在每个节点上的 traefik 守护进程之间共享速率限制状态?

ddos kubernetes traefik

7
推荐指数
0
解决办法
439
查看次数

如何在 DDoS 之后修复 nuxt.js 上的错误 «getaddrinfo ENOTFOUND localhost»?

同事!

面对一个不寻常的问题,我无法自己找到解决方案。底线是:Nuxt.js 上有一个网站与 Laravel 一起作为后端。在服务端渲染中,前端通过localhost向后端发送请求。在 DDoS 攻击期间(有来自流行服务的保护),请求从一开始就通过,在一分钟内保护“唤醒”并且攻击化为泡影。

问题在于,如果攻击具有非常高的峰值负载,则会发生以下情况。

  1. 首先,超过打开文件数时出现错误:
ERROR  EMFILE: too many open files, open '/*/*/*/app/client/static/img/image-1.svg'
ERROR  EMFILE: too many open files, open '/*/*/*/app/client/static/img/image-2.png'
ERROR  EMFILE: too many open files, open '/*/*/*/app/client/static/img/image-3.svg'
ERROR  EMFILE: too many open files, open '/*/*/*/app/client/static/img/image-4.svg'
Run Code Online (Sandbox Code Playgroud)

客户端文件夹只是一个 nuxt 应用程序。

  1. 当防御击退攻击时,到 localhost 的连接错误开始:
ERROR  getaddrinfo ENOTFOUND localhost localhost:80 at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:57:26)
Run Code Online (Sandbox Code Playgroud)

除了在服务器渲染期间没有接收到数据之外,前端继续照常工作。因此,90% 的功能会失效。当您重新启动 nuxt 应用程序时,工作将完全恢复。nginx 和 php-fpm 日志中没有错误表明连接到本地主机有问题。

我必须马上说,增加打开文件数的限制并不能解决问题。以适当的攻击力,错误会再次出现。

我想了解 localhost 脱落的原因。如果不能在萌芽中解决问题,另一种选择是如何在 nuxt.js 中捕获此类错误以启动应用程序的重启?

提前致谢!

localhost ddos node.js vue.js nuxt.js

7
推荐指数
0
解决办法
1323
查看次数

在特定目录上使用mod_evasive

我试图将请求限制为内部网站上的API

我设法实现了mod_evasive,以在特定时间内经过特定数量后成功阻止请求。

但这给webUI用户带来了问题

我尝试将mod_evasive的范围限制为api目录,但是Apache2抱怨配置文件无效

<Location /api >                                                                        
  <IfModule mod_evasive20.c>
    DOSPageCount 2
    DOSSiteCount 50
    ..
  </IfModule>
</Location>
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

apache apache2 ddos mod-evasive

6
推荐指数
1
解决办法
1430
查看次数

如何防范短信验证码的DDoS攻击

我有一个应用程序,用户可以在其中注册并输入他们的手机和其他数据。为了验证用户是否有效,在将其保存到数据库之前,我向用户发送一条带有代码的短信。之后他们应该在表格中输入代码。

问题是,如果我尝试发送短信,即使电话号码无效,我的短信提供商也会向我收费。

如何防止对我的应用程序的 DDoS 攻击,该攻击每次都会尝试发送短信(即使号码无效)?

php security sms ddos

6
推荐指数
1
解决办法
1206
查看次数

Safe regex patterns from ReDos attack

I've recently faced with some redos attack issues.

Explain in simple steps:

Regex denial of services: it means the attacker can put some malicious/crafted inputs to bring your server down by making it impossible to stop to finding the correct pattern, so it takes your whole CPU, and finally causing internal server error.

e.g. if you have a pattern like ^((ab)*)+$, and the attacker put a malicious input like abababababababababababababababababa it will cause a catastrophic error: 在此输入图像描述 在此输入图像描述

The …

javascript regex security ddos pattern-matching

6
推荐指数
1
解决办法
5714
查看次数

阻止 Microsoft 安全链接扫描

今天,我的一位客户向大约 14 万客户发送了一份营销通讯,其中包含指向我们网络应用程序的链接。

接下来发生的事情是,我的 Web 应用程序经历了来自 40.94././ 范围内 Microsoft 拥有的 IP 地址的大量流量(15 分钟内超过 9000 个请求),请求我网站上的特定页面。这导致我所有客户的应用程序都被关闭,直到我设法重新启动它。

看起来无论用户是否点击链接都会进行扫描,因为在此期间,同一 URL 的请求日志中没有其他 IP 地址。

所以我的问题是,微软是否在向时事通讯订阅者发送该链接时先发制人地扫描该链接?或者仅在单击链接时才进行扫描 - 我发现了与此相关的冲突信息,并且如上所述,在此期间我没有看到其他 IP 地址请求。

其次,我怎样才能阻止这种情况在未来发生 - 将此 IP 范围列入黑名单是我唯一的选择,还是还有其他策略?

security ddos office365 safelinks

6
推荐指数
1
解决办法
3535
查看次数