2010-12-14 63 views
0

我已经搜索了很多,但仍不明白是否使用灰熊意味着我受到保护以防止这些攻击或我应该做更多的努力?Grizzly项目是否负责缓冲区溢出或拒绝服务攻击?

目前,我在我的程序做的唯一的事情是,我部署我的资源类(由@Path注释 - 我使用泽西)到灰熊,通过下面的代码:

final Map<String, String> initParams = new HashMap<String, String>(); 
initParams.put("com.sun.jersey.config.property.packages","MyServer.resources"); 
SelectorThread threadSelector; 
try{ 
    threadSelector = GrizzlyWebContainerFactory.create(
uri, initParams); 
    System.out.println("Press enter to stop server..."); 
    System.in.read(); 
    threadSelector.stopEndpoint(); 
}catch(...){...} 

在我的资源方法,我可以访问JAXB bean的列表,我没有为它指定任何大小(我不知道是否有可能在此处检查大小以避免发生大的请求 - 如果可能的话,如果有人告诉我这将是一个很大的帮助!),所以,恐怕攻击者可能会发送连续的大请求(我的正常请求大小应该小于6个豆!)并导致拒绝服务 - 我是刚开始学习安全风险和处理它们,我的第一次尝试!

我将检查请求处理方法的身体,这是后请求完全是由服务器接收的大小。够了吗?

灰熊文件说,它具有良好的缓冲管理(我可混合缓冲区溢出与拒绝服务),但我不知道我是否应该设置任何设置,或者是它在默认情况下保护?

编辑:

我已经收到了很好的回答我的问题的一部分,但是,我仍然在寻找一些特别的提示对灰熊或新泽西州和是否有一个入口点中,我可以对所有传入的请求进行一些检查?

谢谢!

回答

2

如果您使用的是Java,你是非常免疫从经典缓冲区溢出攻击,除非你正在使用本机代码库来处理的东西,你从网上获得。

在另一方面,保护自己免受拒绝服务攻击往往需要一个整体的系统方法。

编辑

通过“系统的整体”的办法,我的意思是一个发生在你的网络带宽,基建账户的影响和后端服务器以及刚刚您的Web服务器。例如,针对您的网络带宽或DNS的攻击可以让您无视您如何实施您的网络服务器。另一方面,有人可能会针对Web应用程序的各个方面;例如知道某个特定的查询非常昂贵......或者它泄漏了资源并最终导致应用程序崩溃。

(我不是这方面的专家,我只是想指出的是,刚刚在看你的web服务器平台是不够的......如果你真的关心抵御DDoS攻击。)

+0

感谢,你能否对“整体系统”方法更具体一些,举一个例子?在编程和安全性方面我没有找到具体的方法,所以它应该是一个普遍的表达方式。对不起,我在这个领域不熟悉,而且我也不是英语母语。 – samaneh 2010-12-14 18:11:30

+0

是的,对于相同的原因,我正在寻找如何可以控制事物误用如昂贵的查询(例如,在控制的时间限制进入的请求的数目)中的球衣,而每个请求由应答的方法直接处理而且我也看不到这些请求最初是从哪里接收的,然后转到那些响应方法。 – samaneh 2010-12-20 19:22:41