2010-12-14 65 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