天天看點

網絡伺服器預防dos攻擊的層次

web伺服器在處理請求的時候會涉及三個層次,第一個層析是tcp連接配接的層次,第二個層次是http請求的層次,第三個層次是業務處理的層次,每個層次都可能存在dos攻擊,所要作的預防措施就是每個更低的層次未決之前不為其配置設定上層資源,具體來說就是,tcp三次握手沒有完成就不為之配置設定連接配接所需的記憶體資源,這個通過syn cookie可以完成,syn cookie的linux實作中順便攜帶了一個時間參數可以很好的處理逾時,三次握手雖然完成了,但是http請求沒有發到之前不為之指派處理程序,從完成三次握手到收到http請求,也需要一個時間限制,時間到連接配接斷開,這個可以通過TCP_DEFER_ACCEPT來實作,同樣的道理,雖然收到了http請求,不能确定業務之前也不要為之指派業務處理器...這樣就可以避免很多的dos攻擊。 不光是web處理器需要這樣配置,任何的網絡服務都可以類似的分成若幹層次,下層幫忙在有限的時間内得到上層的邏輯頭之後再将請求往上層遞交,限制時間到了的話本次請求直接丢棄。這個思想雖然違背一些分層原則,在層級之間插入了一把鈎子,然而卻可以避免很多的基于連接配接的攻擊--上層的半連接配接攻擊對于下層就是全連接配接攻擊。要知道,攻擊者是不會遵循什麼原則的,是以也别指望他們完全遵循分層原則。

 本文轉自 dog250 51CTO部落格,原文連結:http://blog.51cto.com/dog250/1271182

繼續閱讀