此外,它可能會受到攻擊。
拒絕服務攻擊是世界範圍內的系統漏洞。黑客們癡迷於它的研究,無數網絡用戶將成為這次攻擊的受害者。部落洪水網絡,TFN2K,藍精靈,塔爾加…和其他許多計劃正在不斷發展。這些程序像瘟疫壹樣在網絡中傳播,讓我們的村莊變得更弱,我們不得不尋找壹種簡單易用的安全解決方案來應對黑暗中的攻擊。
由於我們防範措施的加強,拒絕服務攻擊也在不斷發展。部落洪水網絡(tfn)和tfn2k引入了壹個新概念:分布式。這些程序可以讓分散在互聯網各處的機器同時攻擊壹臺主機,從而讓這臺主機看起來像是被不同地點的多臺主機攻擊。這些分散的機器由幾臺主控計算機操作,實施各種類型的攻擊,如UDP flood、SYN flood等。
操作系統和網絡設備的缺陷不斷被黑客發現和利用,進行惡意攻擊。如果我們清楚地認識到這壹點,我們應該使用以下兩個步驟來嘗試防止網絡攻擊和保護我們的網絡:盡可能地糾正已經發現的問題和系統漏洞。
識別、跟蹤或禁止這些煩人的機器或網絡訪問我們。
先把重點放在第二點上。我們面臨的主要問題是如何識別那些惡意主機,尤其是那些使用拒絕服務攻擊的主機。因為這些機器隱藏自己的地址,使用被攻擊人的地址。攻擊者使用了數千個惡意偽造的包來攻擊我們的主機。“tfn2k”的原理就像上面說的那麽簡單,它只是提供了壹個圖像接口。如果被分布式拒絕服務攻擊,真的很難處理。
有壹些簡單的技術可以防止拒絕服務攻擊。當然,最常用的是時刻關註安全信息,期待最好的方法出現。管理員應訂閱安全信息報告,並實時關註所有安全問題的發展。:)第二步,應用包過濾的技術,主要是過濾對外開放的端口。這些措施主要是為了防止假地址的攻擊,讓外部機器無法偽造內部機器的地址來對內部機器發動攻擊。
關於是使用入站包過濾還是出站包過濾,壹直存在爭議。RFC 2267建議在全球互聯網上使用向內過濾機制,但是會帶來很多麻煩。在中層路由器上使用訪問控制列表不會帶來太大的麻煩,但是已經滿負荷的骨幹路由器會受到明顯的威脅。另壹方面,如果ISP使用外向包過濾措施,它會將過載的流量轉移到壹些不太忙的設備。ISP也不關心消費者是否在他們的邊界路由器上使用這項技術。當然,這種過濾技術並不是萬無壹失的,這取決於管理者采用的過濾機制。
1.ICMP保護措施
ICMP最初是為“幫助”網絡而開發的,通常被WAN管理員用作診斷工具。然而今天,各種不充分的ICMP被濫用,不符合RFC 792最初制定的標準。有必要實施某些策略使其更加安全。
傳入的ICMP時間戳和信息請求包會得到響應,帶有非法或不良參數的偽造包也會產生ICMP參數問題包,從而允許另壹種形式的主機搜索。這仍然使網站不受保護。
從主機向客戶端秘密發出命令的壹種常見方式是使用ICMP回應回復數據包作為載體。Echo response本身是無法應答的,壹般也不會被防火墻屏蔽。
首先,我們必須根據出站和入站來處理整個“ICMP限制”問題。ICMP回顯可以輕松地驗證遠程機器,但是出站ICMP回顯應該僅限於支持個人或單個服務器/ICMP代理(首選)。
如果我們將ICMP回應限制到外部IP地址(通過代理),我們的ICMP回應回復只能進入我們網絡中預先定義的主機。
重定向通常出現在路由器之間,而不是主機之間。應該調整防火墻規則,以便這些類型的ICMP只允許在需要信息的互聯網連接所涉及的路由器之間使用。
建議所有外部傳輸都應通過代理,內部ICMP傳輸在返回代理地址時應通過防火墻。這至少會限制ICMP超時數據包進入內部地址,但可能會阻止超時數據包。
當使用不正確的參數發送互聯網控制消息協議時,數據包將被丟棄,然後發送ICMP參數錯誤數據包。主機或路由器丟棄發送的數據包,並向發送方發回參數ICMP錯誤數據包,指出錯誤的參數。
壹般來說,只有具有公共地址的服務器(如Web、e-mail和FTP服務器)、防火墻和連接到互聯網的路由器才有真正的理由使用ICMP與外界對話。如果調整得當,幾乎所有使用入站和出站ICMP的秘密通信信道都將被暫停。
2.同步防洪
SYN Flood是DoS(拒絕服務攻擊)和DdoS(分布式拒絕服務攻擊)最流行的方法之壹,是壹種利用TCP協議的缺陷,發送大量偽造的TCP連接請求,從而使被攻擊方耗盡資源(CPU滿載或內存不足)的攻擊方法。SYN Flood攻擊目前還沒有很好的監控和防禦方法,但是如果系統管理員熟悉攻擊方法和系統架構,通過壹系列的設置,可以在壹定程度上降低被攻擊系統的負載,減輕負面影響。
壹般來說,如果壹個系統(或主機)的負載突然上升甚至失去響應,妳可以看到大量的SYN_RCVD半連接(number >;500或超過65438+總連接數的00%),可以斷定這個系統(或主機)受到了SYN Flood攻擊。被SYN Flood攻擊後,首先要做的就是取證,pass Netstat -n -p tcp > Resault.txt是記錄當前所有tcp連接狀態所必需的。如果有嗅探器或者TcpDump之類的工具,記錄下TCP SYN消息的所有細節,對以後的追蹤和防禦也會有幫助。需要記錄的字段包括:源地址、IP頭中的標識、TCP頭中的序列號、TTL值等。雖然這些信息很可能是攻擊者偽造的,但是對於分析攻擊者的心理狀態和攻擊程序也是有幫助的。尤其是TTL值,如果大量攻擊包看似來自不同的IP但TTL值相同,我們往往可以推斷出攻擊者與我們之間的路由器距離,或者至少可以通過過濾特定TTL值的消息來減輕被攻擊系統的負荷(這種情況下,與攻擊包TTL值不同的用戶可以恢復正常訪問)。從防禦的角度來看,有幾種簡單的解決方案:
2.1縮短SYN超時時間:因為SYN Flood攻擊的效果取決於服務器上維護的SYN半連接數,所以這個值= SYN攻擊的頻率x SYN超時,所以通過縮短從收到SYN報文到確定報文無效並丟棄連接的時間,比如設置為20秒以內(過低的SYN超時設置可能會影響客戶的正常訪問),可以使服務器上的負載翻倍。
2.2設置SYN Cookie:就是給每個請求連接的IP地址分配壹個Cookie。如果在短時間內收到來自壹個IP的重復SYN報文,就被認為是攻擊,將來會丟棄來自這個IP地址的數據包。但以上兩種方法只能應對原語SYN Flood攻擊,縮短SYN超時時間只有在對方攻擊頻率不高的情況下才生效。SYN Cookie更多的是依賴於對方使用真實的IP地址。如果攻擊者以每秒上萬條的速度發送SYN報文,並通過SOCK_RAW隨機重寫IP報文中的源地址,那麽上述方法都將失效。
2.3負反饋策略:參考壹些流行的操作系統,比如Windows2000的SYN攻擊保護機制。壹般情況下,OS對TCP連接的壹些重要參數都有壹個常規的設置:SYN超時時間,SYN-ACK的重試次數,SYN報文從路由器到系統到Winsock的延遲等等。這種通用設置旨在系統優化,可以為用戶提供方便快捷的服務;壹旦服務器受到攻擊,SYN半鏈路數量超過系統中TCP活動半連接連接數上限的設置,系統就會認為受到了SYN Flood攻擊,會根據對攻擊的判斷做出響應,比如縮短SYN超時時間,減少SYN-ACK的重試次數,自動延遲緩沖區中的消息等。,以盡量減少攻擊的傷害。如果攻擊持續並超過系統允許的最大半連接值,系統就不能再提供正常服務。為了保證系統不崩潰,可以隨機丟棄任何超過最大半連接值的SYN消息,以保證系統的穩定性。
因此,我們可以提前測試或預測主機在高峰期的活動數上限,並以此為參考設置最大TCP活動半連接連接數的值,然後取該值的倍數(不超過2)作為最大TCP半連接值,這樣就可以通過負反饋在壹定程度上防止SYN攻擊。
2.4讓步策略:讓步策略是基於SYN Flood攻擊代碼的漏洞。我們再來分析壹下SYN Flood攻擊者的過程:SYN Flood程序有兩種攻擊方式,基於IP的和基於域的。前者是攻擊者自己解析域名,把IP地址傳給攻擊者,後者是攻擊者自動解析域名,但二者是壹樣的。也就是壹旦攻擊開始,就不會再進行域名解析,而這就是我們的突破點:假設壹臺服務器被SYN Flood攻擊後,迅速改變了IP地址,那麽攻擊者仍然在攻擊壹個沒有任何主機的空IP地址,防禦者通過將DNS解析改為新的IP地址,可以在短時間內(取決於DNS刷新時間)恢復用戶通過域名的正常訪問。為了迷惑攻擊者,我們甚至可以放壹個“犧牲”服務器,讓攻擊者對攻擊的“效果”感到滿意(因為DNS緩沖,只要攻擊者的瀏覽器不重啟,他還是訪問原來的IP地址)。
2.5分布式DNS負載均衡:在眾多的負載均衡架構中,基於DNS解析的負載均衡本身具有對SYN Flood的免疫力。基於DNS解析的負載均衡可以將用戶的請求分發到不同IP的服務器主機上,攻擊者將始終只攻擊其中壹臺服務器,這將增加攻擊者的成本。其次,過多的DNS請求可以幫助我們追蹤到攻擊者的真實蹤跡(DNS請求不同於SYN攻擊,很難偽裝IP)。
2.6防火墻Qos:對於防火墻來說,防禦SYN Flood攻擊的方法取決於防火墻的基本原理。壹般來說,防火墻可以工作在TCP層之上,也可以工作在IP層之下,工作在TCP層之上的防火墻稱為網關防火墻。在網關防火墻布局中,客戶端和服務器之間沒有真正的TCP連接。客戶端和服務器之間的所有數據交換都是通過防火墻代理進行的,外部DNS解析也指向防火墻。所以,網站被攻擊,防火墻真的被攻擊了。這種防火墻的優點是穩定性好,抗攻擊能力強,但是由於所有的TCP報文都需要通過防火墻轉發,效率比較低。由於客戶端不直接與服務器建立連接,當TCP連接沒有完成時,防火墻不會與後臺服務器建立新的TCP連接,所以攻擊者無法通過防火墻直接攻擊後臺服務器。只要防火墻本身足夠強大,這種架構就可以抵禦相當強的SYN Flood攻擊。但由於防火墻實際建立的TCP連接數是用戶連接數的兩倍(防火墻兩端都需要建立TCP連接),同時代理客戶端的所有TCP請求和數據傳輸。當系統訪問很多的時候,防火墻本身的負載會更高,所以這種架構不適合大型網站。(我感覺對於這樣的防火墻架構,使用TCP_STATE攻擊估計會相當有效:)
工作在IP層或IP層之下,稱為路由防火墻,工作原理不同:客戶端通過TCP直接與服務器連接,防火墻充當路由器。它攔截所有經過的數據包並過濾,過濾後的數據包轉發給服務器,外部DNS解析也直接指向服務器。這種防火墻的優點是效率高。可以適應100Mbps-1Gbps的流量。但如果這個防火墻配置不當,不僅可以讓攻擊者通過防火墻直接攻擊內部服務器,甚至可能放大攻擊強度,導致整個系統崩潰。
除了這兩種基本模型之外,還有壹種新的防火墻模型,它集成了兩種防火墻的優點。該防火墻的工作原理如下:
在第壹階段,客戶端請求與防火墻建立連接:
第二階段,防火墻偽裝成客戶端,在後臺與服務器建立連接。
在第三階段,在這之後,所有來自客戶端的TCP包在後臺被直接轉發到服務器。
這種結構吸收了上述兩種防火墻的優點,可以完全控制所有的SYN報文,不需要代理所有的TCP數據報文。這是壹個壹舉兩得的方法。最近,壹些國外和國內的防火墻廠商開始研究帶寬控制技術。如果可以嚴格控制和分配帶寬,大多數SYN攻擊都可以在很大程度上得到防禦。
3.防止3的幾種方法。(網絡用語)小號;開小號
阻斷Smurf攻擊的源頭:Smurf攻擊依靠攻擊者的力量發送帶有欺騙性源地址的echo請求。用戶可以使用路由訪問來確保在內部網絡中發送的所有傳輸信息都有合法的源地址,以防止這種攻擊。這可以防止詐騙集團找到反彈網站。
阻止Smurf的反彈網站:用戶有兩種選擇來阻止Smurf攻擊的反彈網站。第壹種方法可以簡單地阻止所有入站回送請求,這可以防止這些數據包到達它們自己的網絡。如果不能阻止所有入站回送請求,用戶需要讓自己的路由器將網絡廣播地址映射到LAN廣播地址。停止這個映射過程,您的系統將不會再收到這些回應請求。
屏蔽smurf平臺:為了防止系統成為Smurf攻擊的平臺,應該禁止所有路由器上IP的廣播功能。壹般來說,不需要IP廣播功能。如果攻擊者想成功地利用您作為攻擊平臺,您的路由器必須允許數據包離開網絡,其源地址不是從您的內部網生成的。可以將路由器配置為過濾掉不是在您的內部網中生成的數據包。這就是所謂的網絡出口過濾功能。
防止Smurf攻擊目標站點:除非用戶的ISP願意幫忙,否則用戶很難防止Smurf影響自己的WAN連接線。雖然用戶可以在自己的網絡設備中屏蔽這種傳輸,但是要阻止Smurf吞噬掉所有的WAN帶寬已經為時過晚。但至少用戶可以限制Smurf對外圍設備的影響。通過使用動態包過濾技術或使用防火墻,用戶可以阻止這些數據包進入自己的網絡。防火墻的狀態表很清楚這些攻擊會話不是從本地網絡發出的(狀態表記錄中沒有初始echo請求記錄),所以它會像其他欺騙性攻擊壹樣丟棄這些信息。
4.UDP洪水預防
以上文提到的trinoo為例,分析如下:
在主程序和代理程序的所有通信中,trinoo使用UDP協議。入侵檢測軟件可以使用UDP協議(類型17)查找數據流。
Trinoo主程序的監聽端口是27655,攻擊者通常通過telnet和TCP的方式連接到主程序所在的電腦。入侵檢測軟件可以使用TCP(類型6)搜索數據流,並連接到端口27655。
從主程序到代理程序的所有通信都包含字符串“l44 ”,並被定向到代理的UDP端口27444。入侵檢測軟件檢查UDP端口27444的連接。如果發送包含字符串l44的數據包,則接收該數據包的計算機可能是DDoS代理。
主代理之間的通信受密碼保護,但密碼不是以加密格式發送的,因此可以被嗅探和檢測到。使用這個密碼和Dave Dittrich提供的trinot腳本,他必須首先發送壹個DNS請求來解析這個域名。通常,那些攻擊工具會自己執行這壹步,調用gethostbyname()函數或者相應的應用程序接口。也就是說,攻擊前的DNS請求會給我們提供壹個相關的列表,我們可以用它來定位攻擊者。
通過使用現成的工具或手動讀取DNS請求日誌來讀取DNS可疑請求列表是可行的。然而,它有三個主要缺點:
攻擊者通常以本地DNS作為解析和查詢地址的起點,所以我們找到的DNS請求發起者可能不是攻擊者本人,而是他請求的本地DNS服務器。然而,如果攻擊者隱藏在壹個擁有本地DNS的組織中,我們可以使用該組織作為查詢的起點。
攻擊者可能已經知道了目標的IP地址,或者通過其他方式(主機、ping)知道了目標的IP地址,或者攻擊者查詢IP地址後需要很長時間才能開始攻擊,所以我們無法從DNS請求的時間段來判斷攻擊者(或者他們的本地服務器)。
DNS為不同的域名保存壹個生存期,因此攻擊者可以使用DNS緩存中存儲的信息來解析域名。為了做壹個詳細的分析記錄,可以縮短DNS節省的TTL時間,但是這樣會導致更多的DNS查詢,從而增加網絡帶寬的使用。
6.宿主預防
所有向互聯網提供公共服務的主機都應該受到限制。以下建議的策略可以保護暴露在互聯網中的主機。
將所有公共服務器與隔離區隔離。
提供的每個服務都應該有自己的服務器。
如果您使用Linux(推薦),您可以使用壹個或多個“緩沖區溢出/堆棧執行”補丁或增強來防止大多數(如果不是全部)本地或遠程緩沖區溢出,以防止這些溢出危及根。強烈建議將Solar Designer的補丁包含在附加安全功能中。
使用SRP(安全遠程密碼)而不是SSH。
將對支持SRP的telnet和FTP守護程序的訪問限制在內部地址,並強調只有支持SRP的客戶端才能與這些程序對話。如果您必須為公共訪問運行常規FTP(如匿名FTP),您可以在另壹個端口上運行SRP FTP。
使用受信任的路徑。root用戶擁有的二進制可執行程序應該放置的目錄的所有權應該是root,所有用戶或組都不能有寫權限。如果有必要,您可以更改內核來強制實現這壹點。
使用內置的防火墻功能。通過打開防火墻規則,您通常可以利用內核狀態表。
使用壹些反端口掃描措施。這可以通過使用Linux的後臺程序功能或者修改內核來實現。
使用Tripwire和等效軟件幫助檢測重要文件的更改。
7.電子郵件炸彈防護
為了保護電子零件的安全,有必要了解電子郵件的發送過程。其流程如下:用戶寫郵件時,首先連接郵件服務器。當郵件服務器響應時,他將啟動郵件工具並調用路由程序Sendmail來路由郵件。根據郵件附帶的接收地址中指定的接收主機,例如a@163.net中的163.net,與位於主機163.net的郵件守護進程建立25端口的TCP連接,建立後雙方按照SMTP協議進行交互,從而完成郵件的傳遞。接收郵件後,接收方的郵件會按照接收用戶的名字放在系統的郵件目錄中,比如/usr/ e-mail目錄中的semxa文件。接收用戶也使用郵件工具來獲取和閱讀這些發送的郵件。如果傳遞失敗,這些郵件將再次返回給發件人。實際上,電子郵件的發送過程比這裏所說的要復雜得多,過程中會涉及到很多配置文件。目前,SMTP協議是基於文本的協議,理解和實現起來相對簡單。可以使用telnet直接登錄郵件服務器的25端口(LANA分配給SMTP協議)進行交互。
保護電子郵件信息安全最有效的方法是使用加密簽名技術,如PGP來驗證郵件,可以保護信息從正確的地方發出,在傳輸過程中不被修改。但這不是個人用戶能做到的,因為PGP更復雜。
就郵件炸彈而言,防護還是可以做好的。因為它的復雜度不是很高,只是垃圾郵件。可以使用/hacking/echom201.zip郵件斬波器保護自己。但目前就國內用戶而言,大部分用戶使用的是免費郵箱,如yeah.net、163.net、063.net等。即使有人把它們炸了,也留在郵件服務器上,基本上是無害的。如果通過pop3連接,可以使用Outlook或Foxmail等pop接收工具接收郵件。大多數用戶使用windows的Outlook Express,妳可以在工具-收件箱助理中設置過濾。您可以使用反電子郵件病毒軟件來防範各種由電子郵件傳播的電子郵件蠕蟲和未知的電子郵件蠕蟲。
此外,郵件系統管理員可以使用“黑名單”來過濾壹些垃圾郵件。對於不同的郵件系統,大部分都能在網上找到最新的黑名單程序或列表。
8.使用ngrep工具應對tfn2k攻擊。
根據利用DNS跟蹤tfn2k常駐程序的原理,出現了壹個名為ngrep的實用程序。修改後的ngrep可以監控大約五種類型的tfn2k拒絕服務攻擊(Targa 3、Synflood、UDP Flood、ICMP Flood和smurf),它還有壹個可回收的緩存來記錄DNS和ICMP請求。如果ngrep發現攻擊,它將打印出其緩存的內容,並繼續記錄ICMP響應請求。如果攻擊者通過ping目標主機來ping目標,在攻擊期間或之後記錄ICMP響應請求是抓住粗心攻擊者的壹種方法。因為攻擊者很可能使用其他服務來驗證他們攻擊的效果(如web),所以他們還應該保留其他標準服務的詳細日誌。
還應該註意,ngrep使用監視網絡的手段,因此ngrep不能用於交換環境。但是,修改後的ngrep不必與您的DNS位於同壹個網段,但必須位於可以監控所有DNS請求的位置。修改後的ngrep也不關心目標地址。您可以將它放在DMZ網段上,以便它可以檢查整個網絡中的tfn2k攻擊。理論上也能很好的檢測外來tfn2k攻擊。
在ICMP flood事件中,作為tfn2k flood壹部分的ICMP數據包不會包含在ICMP響應請求的報告中。Ngrep還可以報告檢測到的攻擊類型(TARGA、UDP、SYN、ICMP等。)除了藍精靈。默認情況下,混合攻擊表現為ICMP攻擊,除非您阻止傳入的ICMP響應請求,否則它表現為UDP或SYN攻擊。這些攻擊的結果基本相似。
9.對入侵檢測系統的建議
由於許多用於擊敗基於網絡的入侵檢測系統的方法對於大多數商業入侵檢測系統產品仍然有效,因此建議入侵檢測系統至少應該具有能夠重組或找到碎片的自尋址數據包。以下是壹些需要註意的事項:
確保包含所有現有規則,包括壹些針對分布式拒絕服務攻擊的新規則。
如果您遵循ICMP建議,許多ICMP將被阻止,並且有許多入侵檢測系統觸發器的機會。任何通常被阻止的入站或出站internet控制消息協議ICMP都會被觸發。
被防火墻隔離的“任何”網絡傳輸都可能是潛在的IDS觸發器。
如果您的入侵檢測系統支持檢測長期攻擊,請確保不排除允許通過防火墻的可信主機。這也包括虛擬專用網絡。
如果您可以訓練每個ping用戶在ping主機時使用小數據包,就有可能建立壹個入侵檢測系統來發現超過29個字節的回應和回應回復數據包。