什么是DoS
什么是DoS?什么是DDoS?它們的危害是什么?怎樣有效預(yù)防它們?我想這是每一個網(wǎng)絡(luò)管理人員都關(guān)心的問題。下面,我就以問答的形式,從DoS的概念、行為以及預(yù)防手段幾個方面詳細(xì)地論述DoS攻防。
Q:何為拒絕服務(wù)攻擊?
A:DoS是Denial of Service的簡稱,即拒絕服務(wù),造成DoS的攻擊行為被稱為DoS攻擊,其目的是使計算機或網(wǎng)絡(luò)無法提供正常的服務(wù)。最常見的DoS攻擊有計算機網(wǎng)絡(luò)帶寬攻擊和連通性攻擊。帶寬攻擊指以極大的通信量沖擊網(wǎng)絡(luò),使得所有可用網(wǎng)絡(luò)資源都被消耗殆盡,最后導(dǎo)致合法的用戶請求就無法通過。連通性攻擊指用大量的連接請求沖擊計算機,使得所有可用的操作系統(tǒng)資源都被消耗殆盡,最終計算機無法再處理合法用戶的請求。例如,2000年2月6日那個星期對Yahoo網(wǎng)站發(fā)生的主要是帶寬攻擊。
Q:何為分布式拒絕服務(wù)攻擊?
A:分布式拒絕服務(wù)(DDoS:Distributed Denial of Service)攻擊指借助于客戶/服務(wù)器技術(shù),將多個計算機聯(lián)合起來作為攻擊平臺,對一個或多個目標(biāo)發(fā)動DoS攻擊,從而成倍地提高拒絕服務(wù)攻擊的威力。通常,攻擊者使用一個偷竊帳號將DDoS主控程序安裝在一個計算機上,在一個設(shè)定的時間主控程序?qū)⑴c大量代理程序通訊,代理程序已經(jīng)被安裝在Internet上的許多計算機上。代理程序收到指令時就發(fā)動攻擊。利用客戶/服務(wù)器技術(shù),主控程序能在幾秒鐘內(nèi)激活成百上千次代理程序的運行。
Q:DDoS攻擊怎樣影響Web站點?
當(dāng)對一個Web站點執(zhí)行 DDoS 攻擊時,這個站點的一個或多個Web服務(wù)會接到非常多的請求,最終使它無法再正常使用。在一個DDoS攻擊期間,如果有一個不知情的用戶發(fā)出了正常的頁面請求,這個請求會完全失敗,或者是頁面下載速度變得極其緩慢,看起來就是站點無法使用。典型的DDoS攻擊利用許多計算機同時對目標(biāo)站點發(fā)出成千上萬個請求。為了避免被追蹤,攻擊者會闖進(jìn)網(wǎng)上的一些無保護(hù)的計算機內(nèi),在這些計算機上藏匿DDoS程序,將它們作為同謀和跳板,最后聯(lián)合起來發(fā)動匿名攻擊。
Q:有沒有遠(yuǎn)離DDoS攻擊危險的快速而簡便的方法?
A:沒有。但是有一個簡單的基本原則:防止計算機被黑客劫持后成為攻擊的平臺,這樣就在攻擊發(fā)生前將問題徹底排除了。
攻擊者很喜歡把非商業(yè)計算機作為攻擊平臺,因為這些計算機更容易被攻陷。比如,大學(xué)系統(tǒng)經(jīng)常是攻擊者選擇的目標(biāo),因為它們經(jīng)常是人手不足,或者是為了便于學(xué)生使用而將安全設(shè)置到最低等級。但這并不是一個國家的問題,世界上任何一個Internet服務(wù)器都可用被用來作為攻擊的平臺。
所以,我們必須"團(tuán)結(jié)成一個整體",通過全球合作來保護(hù)Internet。最起碼要從自己做起,檢查自己的上網(wǎng)計算機,確保它們不會成為DDoS的攻擊平臺。這不僅僅是為了做一個Internet好公民,更是為在發(fā)生了DDoS 攻擊時,有證據(jù)能表明:我的計算機是無罪的。
Q:政府能對防范DoS攻擊起很大的作用嗎?
A:毫無疑問,政府通過在Internet 上施加多種限制規(guī)定,就能極大地控制DoS類型的攻擊,至少是那些來自本國的攻擊。例如,可以對上網(wǎng)要求相當(dāng)于駕駛執(zhí)照那樣的許可證,對站點要求相當(dāng)于"工商許可"的許可證,對所有的 ISP進(jìn)行嚴(yán)格規(guī)范,就象對許多公共設(shè)施(如水、氣等)的要求一樣。
但是請注意:限制犯罪活動和限制經(jīng)濟增長、教育、信息資源以及一般人身自由之間只是一線之隔,政府對此很難掌握,因此許多政府正在尋求一些非干預(yù)性的方法。例如,美國前總統(tǒng)Clinton曾提出在大學(xué)畢業(yè)生中發(fā)展一個信息安全計算機聯(lián)合會,培養(yǎng)所謂"計算機警察",以反抗DDoS和其它類型的計算機犯罪。
Q:如何檢測我的服務(wù)器是否存在DDoS攻擊程序?
要檢測DDoS攻擊程序的存在,可以有2種方法:
1、通常,我們可以使用文件系統(tǒng)掃描工具來確定在服務(wù)器文件系統(tǒng)上是否存在已知的DDoS攻擊程序。
同病毒軟件一樣,每當(dāng)有新的DDoS發(fā)明出來,當(dāng)前的DDoS工具就將過時,或者它對現(xiàn)存的DDoS進(jìn)行修改而避開檢查。所以,要選擇最近更新的掃描工具才能檢測到最新的DDoS攻擊程序。
FBI提供了一個工具叫做"find_ddos",用于檢測一些已知的拒絕服務(wù)工具,包括trinoo進(jìn)程、trinoo主人、加強的tfn進(jìn)程、tfn客戶程序、tfn2k客戶程序和tfn-rush客戶程序。Find_ddos可以從以下地址下載:
http://www.jintaigroup.com.cn/index2/refuse/n2.htm。
請注意,F(xiàn)BI的這個工具并不能保證捕獲所有的DDoS工具。如果侵入者安裝了一個根文件包,那么find_ddos程序就有可能無法處理它。
另外,http://www.nessus.org站點也提供一個免費的掃描工具。當(dāng)然還有一些商務(wù)工具也可以使用。
2、還可使用手工方法對起源于本地網(wǎng)絡(luò)中的DDoS活動進(jìn)行雙重檢查。
在Web服務(wù)器與Internet或者上游ISP連接之間的防火墻上建立一個濾波器,以尋找spoofed (哄騙)信息包,也就是那些不是從你自己的網(wǎng)絡(luò)上生成的信息包。這就是所謂的出口過濾。如果在你的網(wǎng)絡(luò)上正在生成spoofed信息包,那么這很可能是一個DDoS程序生成的。然后跟蹤這些spoofed信息的源頭,將計算機離線開始清理工作。
屏蔽經(jīng)常受到遠(yuǎn)程控制而受到威脅的端口,比如37337。
為了對所有的變化都進(jìn)行研究并采取相應(yīng)的措施,建議使用nmap 或saint這樣的工具經(jīng)常對網(wǎng)絡(luò)的開放端口進(jìn)行掃描。Nmap,即Network Mapper,是Linux下的網(wǎng)絡(luò)掃描和嗅探工具包,它不僅可以幫助網(wǎng)管人員深入探測UDP或TCP端口,直至主機所使用的操作系統(tǒng),還可以將所有探測結(jié)果記錄到各種格式的日志中,為系統(tǒng)安全服務(wù)。Info World這樣評價Nmap:如果你的目的是在40000英尺高度上看看你的網(wǎng)絡(luò),那基于Windows的端口掃描工具就足夠了,但是如果你真的關(guān)心你的網(wǎng)絡(luò)安全,并努力想找到那些可能被侵入者發(fā)現(xiàn)的系統(tǒng)漏洞,那你最好花點時間去安裝并使用一個Linux工具--Nmap。SAINT是一個基于SATAN的安全評估工具,它能定期認(rèn)證并掃描所有遠(yuǎn)程可探測漏洞,包括以下特點:防火墻掃描,從CERT&CIAC的公告來更新安全檢查,嚴(yán)厲的4級(紅、黃、褐、綠)警告和一個有很多HTML特點的界面。
Q:如果在服務(wù)器上發(fā)現(xiàn)了一個 DDoS主機程序應(yīng)該怎么辦?
A:如果在系統(tǒng)上出現(xiàn)了特洛伊木馬程序,就表明系統(tǒng)上有一個弱點被人利用了。在系統(tǒng)上可能已經(jīng)發(fā)生了一些細(xì)微或不那么細(xì)微的變化,雖然系統(tǒng)可能還沒有表現(xiàn)出外在的問題,但不能因此而放松警惕。
執(zhí)行你的組織中的應(yīng)急反應(yīng)策略。如果現(xiàn)在還沒有這樣的策略,那么至少要執(zhí)行以下這些應(yīng)急步驟:
從有疑點的第一個事件開始,按照危害的嚴(yán)重程度,把一切都寫下來。從技術(shù)上和法律上,這都是很有幫助的。
不要對外散布關(guān)于你的組織所受到的威脅的消息。這不會有任何幫助,而且還會讓媒體卷進(jìn)來。你只需要通知那些能幫助你解決這些問題的人,以及組織的管理人員和法律人士。
向你的組織中最權(quán)威的安全專家求助。如果沒有這樣的人,可以向咨詢公司尋求幫助,這些公司對你正在運行的操作系統(tǒng)和系統(tǒng)軟件應(yīng)急處理方面的問題是很有經(jīng)驗的。
從網(wǎng)絡(luò)上把受到威脅的計算機移走,最簡單也最徹底的方法就是拔掉網(wǎng)線。如果這個計算機的作用很關(guān)鍵,那么就要配置一個熱備份機器。如果沒有熱備份機器,那么就要停工嘍。
要對受到威脅的計算機的文件系統(tǒng)進(jìn)行備份。在備份之前,要把操作系統(tǒng)管理的所有動態(tài)數(shù)據(jù)表都轉(zhuǎn)換成標(biāo)準(zhǔn)文件,以便以后進(jìn)行分析。例如,當(dāng)前正在執(zhí)行的程序列表、當(dāng)前登錄用戶、當(dāng)前網(wǎng)絡(luò)連接。為了更加保險,建議使用兩種不同的備份程序做兩個系統(tǒng)備份。
關(guān)掉受到威脅的計算機。
重新啟動計算機。
重新格式化系統(tǒng)軟件使用的驅(qū)動器。
重新安裝操作系統(tǒng)。
安裝操作系統(tǒng)的所有補丁程序包。
恢復(fù)文件系統(tǒng)。不要覆蓋任何系統(tǒng)文件,恢復(fù)之前手動檢測所有的口令。
把計算機重新連入網(wǎng)絡(luò)。
檢測網(wǎng)絡(luò)上的其它計算機,看看別處有沒有被利用的弱點。
Q:如何防止服務(wù)器被當(dāng)做DDoS主機?
A:建議采取如下步驟:
1、首先要充分認(rèn)識和理解Internet服務(wù)器上存在的弱點:
除非是已經(jīng)采取了特殊措施,Internet服務(wù)器都有主機名和IP地址,Internet上的任何人都能很容易地查找到這些信息。
許多組織都不把防火墻放在Internet服務(wù)器之前,這樣即使是防火墻能夠輕易阻止的探測和攻擊也無法阻擋。
默認(rèn)狀態(tài)下,服務(wù)器監(jiān)聽來自標(biāo)準(zhǔn)端口的服務(wù)請求,并很自然地試圖處理這些請求。
服務(wù)器本來就是要在無人照料的情況下運行的,所有一般不會有一個用戶現(xiàn)身來尋找不正常的動作。
服務(wù)器還經(jīng)常需要遠(yuǎn)程管理,因此它們要接受來自用戶的遠(yuǎn)程連接,這些用戶通常具有非常強大的權(quán)限。
許多服務(wù)器都會在關(guān)機之后自動重新啟動,而這正是那些攻擊者在利用它的時候所希望的。
2、如果系統(tǒng)已經(jīng)受到了威脅,立即備份文件系統(tǒng),然后重新安裝操作系統(tǒng)并恢復(fù)文件系統(tǒng)。
3、安裝軟件產(chǎn)商提供的操作系統(tǒng)升級程序。如果升級程序是與系統(tǒng)安全相關(guān)的,那在安裝的時候尤其要注意。一定要仔細(xì)閱讀軟件產(chǎn)商的升級文件readme,因為有些升級程序并不是測試得那么好,其中有些缺點可能反而對你的系統(tǒng)造成危害。
4、對服務(wù)器進(jìn)行保護(hù)。
關(guān)閉所有不必要的系統(tǒng)服務(wù)。操作系統(tǒng)所提供的許多服務(wù)并不是Web服務(wù)器所需要的,例如基于RPC的服務(wù)。要采取"先拒絕,再允許"的策略。除非這個服務(wù)是完全必要的,就先將其關(guān)閉。
首先要確定哪些基于程序的服務(wù)可以關(guān)閉,如FTP、 telnet等。在文件系統(tǒng)中,這些服務(wù)很容易找到,都是可執(zhí)行程序。
很多系統(tǒng)都曾受到緩沖區(qū)溢出漏洞的威脅。
檢測操作系統(tǒng)文檔,看看它是否在內(nèi)核級提供了以不可視的單獨程序形式存在的服務(wù)。例如,netmask服務(wù)就可以在內(nèi)核級運行。這種情況下,首先確定可以設(shè)置哪些參數(shù),然后關(guān)閉不必要的內(nèi)核級服務(wù)。
聯(lián)系操作系統(tǒng)供應(yīng)商,看看是否還有其它內(nèi)核級服務(wù)不在系統(tǒng)文檔內(nèi),如果有的話,就應(yīng)該禁止它們。
一旦將所有這些不必要的服務(wù)都禁止之后,要對整個系統(tǒng)作一個加密校驗和操作,以備今后出現(xiàn)疑點時使用。對于基于UNIX的系統(tǒng),Tripwire能夠完成這個功能,詳細(xì)資料請參閱:http://www.tripwiresecurity.com/。
http://www.cert.org/security-improvement/practices/p043.html有關(guān)于加密檢驗和的詳細(xì)信息。
配置Web服務(wù)器軟件。首先要驗證已經(jīng)安裝了最新版本的Web 服務(wù)器軟件。其次,關(guān)閉Web 服務(wù)器軟件所提供的所有不必要服務(wù),比如關(guān)閉不是必須的Java支持、CGI支持和服務(wù)器端腳本支持。
限制對服務(wù)器的物理訪問。要采取適當(dāng)行動,確保服務(wù)器只能被指定的系統(tǒng)管理員訪問。如果侵入者能夠?qū)Ψ?wù)器進(jìn)行物理訪問的話,只需一張軟盤就能打敗全世界的安全保衛(wèi)措施。
Q:如何防止個人計算機成為 DDoS 主機?
A:建議采取如下步驟:
1、首先要充分認(rèn)識并理解Internet客戶機所存在的弱點:
Internet客戶機,即連接到Internet的個人計算機,也可以受到威脅成為DDoS攻擊的代理機。
全部時間都連接到Internet上的個人計算機對DDoS 侵入者特別有用。
威脅一個個人計算機的最簡單也最常用的方法是通過用戶下載的文件,那些作為屏保、游戲和圖像形式出現(xiàn)的惡意程序是罪魁禍?zhǔn)住?/p>
那些允許后臺處理和多任務(wù)處理的新個人計算機操作系統(tǒng),如Windows 98、Windows NT工作站、Linux,使他們成為DDoS攻擊的可能代理。
2、如果系統(tǒng)已經(jīng)受到了威脅,理解備份文件系統(tǒng),重新安裝操作系統(tǒng)并恢復(fù)文件系統(tǒng)。
3、安裝存在系統(tǒng)銷售商提供的操作系統(tǒng)升級程序。
4、對客戶機/個人計算機進(jìn)行保護(hù)。
要通知本地網(wǎng)絡(luò)上所有Internet用戶,尤其是那些全部時間都連接到Internet上的用戶,由于他們的計算機有可能被用作攻擊代理,所以必須裝備最新的檢測軟件。
反病毒軟件中一般都包括可檢測許多DDoS 程序的升級程序,建議下載并安裝其最新版本。例如,Norton的相關(guān)程序可以在http://www.symantec.com/avcenter/venc/data/w32.dos.trinoo.html獲得,NAI的相關(guān)程序可以在http://vil.nai.com/vil/DoS98506.asp獲得。
注意,如果在客戶系統(tǒng)上已經(jīng)有惡意程序在運行,這些檢測程序可能就不起作用了。Norton的情況是,開啟實時保護(hù),然后重新啟動計算機,檢查已經(jīng)在操作中的DDoS代理程序。