Web services 保护web服务,防止恶意请求对所有数据进行爬网?

Web services 保护web服务,防止恶意请求对所有数据进行爬网?,web-services,security,Web Services,Security,我们有一个web服务,我们希望防止恶意攻击,以发出大量请求,有效地从中获取所有数据 我们对签名和交换的令牌有一定程度的保护,但坚定的攻击者可以获得这些令牌,并在向我们的web服务发出请求时重播它们 所以我认为唯一的保护是在服务器级别。一种想法是在一个特定的时间间隔内实现一个请求阈值,并在一段时间内阻止它们,如果在断电期间发出后续请求,该阈值会增加。经过反复尝试,完全被列入黑名单 然而,我讨厌自定义滚动我们自己的解决方案,甚至使用IPs,因为代理背后的一个坏用户会阻止代理背后的所有其他人 保护we

我们有一个web服务,我们希望防止恶意攻击,以发出大量请求,有效地从中获取所有数据

我们对签名和交换的令牌有一定程度的保护,但坚定的攻击者可以获得这些令牌,并在向我们的web服务发出请求时重播它们

所以我认为唯一的保护是在服务器级别。一种想法是在一个特定的时间间隔内实现一个请求阈值,并在一段时间内阻止它们,如果在断电期间发出后续请求,该阈值会增加。经过反复尝试,完全被列入黑名单

然而,我讨厌自定义滚动我们自己的解决方案,甚至使用IPs,因为代理背后的一个坏用户会阻止代理背后的所有其他人

保护web服务的最佳实践是什么


更新:为了澄清这一点,这是一个关于保护web服务不被大规模收集数据的一般性问题。

目前有几种解决方案,但我认为这是一种很好且安全的解决方案。请在SOAP头中使用X.509证书在消息级别进行身份验证。以下是有关该主题的几个链接:


关于数据/服务,您没有告诉我们太多,但我曾经设计过一个系统,通过查看查询模式来检测攻击

我对证书如何提供保护感到困惑。难道一个恶意客户端不能构成一个合法客户端,然后重放密钥来进行攻击吗?客户端必须用证书对每条消息进行身份验证。“伪造”证书真是太难了。:)仍然没有跟上。x509证书如何确保这一点?如果您信任客户端并为其提供证书以在后续交互中使用,则攻击者可以拆开该应用程序以获取证书,并在另一个未经批准的场景中使用它。瞧,x509证书方法不是只有在你能在客户端的TPM中保护证书/密钥的情况下才有效吗?显然,如果攻击者掌握了应用程序及其底层代码,那么你就是S.O.L。消息级别的证书认证是为了保护消息不被截获和解码。根据我最初的问题,拥有证书和受信任的客户不是合理的假设。