如何保护网站服务的位置?

时间:2013-01-22 14:07:20

标签: java web-services security authentication jax-ws

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

当恶意的人获得此URL的拥有权时,该人可以显示WSDL并将Web显示为服务位置。但最重要的是,他将能够发送消息。在Web服务上存在某种身份验证,但仅在发送消息时发生(消息包含用户名和密码)。恶意的人将能够使用大量消息充斥所述Web服务,这可能导致其脱机。

我想保护这个区域,所以当所述人进入该链接时,他被要求进行某种身份验证。

最好的方法是什么? (如果可能的话)

非常感谢任何帮助,

谢谢!

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

一个soley人/用户不会成为问题,但可能会创建一个泛滥服务的机器人。

选项:

  • 在防火墙级别,请继续使用软件包away
  • client certificate使用客户端身份验证。当需要客户认证时,大多数机器人都会放弃。