0

我有一个使用 SSL EV 证书保护的 Web 服务。可以说它位于: https://webservice.justawebservice.com/webservice/。用户可以向该网络服务发送消息。

当恶意人员获得此 URL 时,该人可以显示 WSDL 并通过网络访问服务位置。但最重要的是,他将能够发送消息。Web 服务上有某种身份验证,但仅在发送消息时发生(消息包含用户名和密码)。恶意的人将能够用大量消息淹没所述网络服务,这可能导致其离线。

我想保护这个区域,所以当所说的人访问链接时,他会被要求进行某种身份验证。

做这个的最好方式是什么?(如果它是可能的)

任何帮助是极大的赞赏,

谢谢!

4

2 回答 2

2

如果您的目标是防止 DOS 类型的攻击“请求泛滥”,那么身份验证不是一种正确的方法,因为即使经过适当身份验证的客户端也可能由于不了解如何使用 API 或他的代码中的错误等而导致泛滥。

恕我直言,正确的方法是在您的代码中开发某种“断路器”模式(可能是 WS 拦截器),该模式将查看来自特定用户或来自 IP 地址或以上全部或全部的请求数量通过将错误返回给调用者来执行快捷调用,因此不会消耗系统上的大量资源。

这将是一个很好的第一步,但不能完全保证免受 DOS 攻击(因为您的服务仍会消耗资源来接受请求并解释它)。下一步将尝试在可能的最低级别阻止此类客户端 - 例如在仅丢弃 TCP 数据包的防火墙上 - 很少有防火墙包可以简化此任务 - 例如带有 ddos​​ deflate 的 AFP 等等。

于 2013-01-22T14:34:46.870 回答
1

一个单独的人/用户不会是问题,但可以创建一个机器人,淹没您的服务。

选项:

  • 在防火墙级别,请远离泛滥的包。
  • 将客户端身份验证与客户端证书一起使用。大多数机器人在需要客户认证时放弃。
于 2013-01-22T14:26:03.343 回答