目前網絡中有一種攻擊讓網絡管理員最為頭疼,,那就是拒絕服務攻擊,簡稱DOS和DDOS.它是一種濫用資源性的攻擊,目的就是利用自身的資源通過一種放大或不對等的方式來達到消耗對方資源的目的。同一時刻很多不同的IP對服務器進行訪問造成服務器的服務失效甚至死機。
今天就筆者公司管理服務器的經驗為各位讀者介紹幾個簡單有效的防范拒絕服務攻擊的方法,雖然不能徹底防護,但在與DDOS的戰斗中可以最大限度降低損失。
1、如何發現攻擊
在服務器上可以通過CPU使用率和內存利用率簡單有效的查看服務器當前負載情況,如果發現服務器突然超負載運作,性能突然降低,這就有可能是受攻擊的征兆。不過也可能是正常訪問網站人數增加的原因。如何區分這兩種情況呢?按照下面兩個原則即可確定受到了攻擊。
(1)網站的數據流量突然超出平常的十幾倍甚至上百倍,而且同時到達網站的數據包分別來自大量不同的IP.
(2)大量到達的數據包(包括TCP包和UDP包)並不是網站服務連接的一部分,往往指向你機器任意的端口。比如你的網站是Web服務器,而數據包卻發向你的FTP端口或其它任意的端口。
2、BAN IP地址法
確定自己受到攻擊後就可以使用簡單的屏蔽IP的方法將DOS攻擊化解。對於DOS攻擊來說這種方法非常有效,因為DOS往往來自少量IP地址,而且這些IP地址都是虛構的偽裝的。在服務器或路由器上屏蔽攻擊者IP後就可以有效的防范DOS的攻擊。不過對於DDOS來說則比較麻煩,需要我們對IP地址分析,將真正攻擊的IP地址屏蔽。
不論是對付DOS還是DDOS都需要我們在服務器上安裝相應的防火牆,然後根據防火牆的日志分析來訪者的IP,發現訪問量大的異常IP段就可以添加相應的規則到防火牆中實施過濾了。
當然直接在服務器上過濾會耗費服務器的一定系統資源,所以目前比較有效的方法是在服務器上通過防火牆日志定位非法IP段,然後將過濾條目添加到路由器上。例如我們發現進行DDOS攻擊的非法IP段為211.153.0.0 255.255.0.0,而服務器的地址為61.153.5.1.那麼可以登錄公司核心路由器添加如下語句的訪問控制列表進行過濾。
cess-list 108 deny tcp 211.153.0.0 0.0.255.255 61.135.5.1 0.0.0.0,這樣就實現了將211.153.0.0 255.255.0.0的非法IP過濾的目的。
小提示:在訪問控制列表中表示子網掩碼需要使用反向掩碼,也就是說0.0.255.255表示子網掩碼為255.255.0.0 .
3、增加SYN緩存法
上面提到的BAN IP法雖然可以有效的防止DOS與DDOS的攻擊但由於使用了屏蔽IP功能,自然會誤將某些正常訪問的IP也過濾掉。所以在遇到小型攻擊時不建議大家使用上面介紹的BAN IP法。我們可以通過修改SYN緩存的方法防御小型DOS與DDOS的攻擊。該方法在筆者所在公司收效顯著。
修改SY緩存大小是通過注冊表的相關鍵值完成的。我們將為各位讀者介紹在WINDOWS2003和2000中的修改方法。
(1)WIN2003下拒絕訪問攻擊的防范:
第一步:“開始->運行->輸入regedit”進入注冊表編輯器。
第二步:找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services,在其下的有個SynAttackProtect鍵值。默認為0將其修改為1可更有效地防御SYN攻擊。
小提示:該參數可使TCP調整SYN-ACKS的重新傳輸。將SynAttackProtect設置為1時,如果系統檢測到存在SYN攻擊,連接響應的超時時間將更短。
第三步:將HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services下EnableDeadGWDetect鍵值,將其修改為0.該設置將禁止SYN攻擊服務器後強迫服務器修改網關從而使服務暫停。
第四步:將HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services下EnablePMTUDiscovery鍵值,將其修改為0.這樣可以限定攻擊者的MTU大小,降低服務器總體負荷。
第五步:將HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services下KeepAliveTime設置為300,000.將NoNameReleaseOnDemand設置為1.
(2)WIN2000下拒絕訪問攻擊的防范:
在WIN2000下拒絕訪問攻擊的防范方法和2003基本相似,只是在設置數值上有些區別。我們做下簡單介紹。
第一步:將SynAttackProtect設置為2.
第二步:將EnableDeadGWDetect設置為0.
第三步:將EnablePMTUDiscovery設置為0.
第四步:將KeepAliveTime設置為300000.
第五步:將NoNameReleaseOnDemand設置為1.
總結:經過上面介紹的察覺攻擊法,BAN IP法和最後的修改注冊表法可以有效的防范DOS與DDOS的攻擊。不過由於DDOS攻擊的特點,實際上沒有一台服務器能夠徹底防范它,即使安裝了專業的防范DDOS的硬件防火牆也不能百分之百的避免損失。今天介紹的幾個方法只是免費的防范手段,實際中能起到一定的效果。