讓Apache伺服器遠離DoS攻擊

2021-04-13 12:57:41 字數 3407 閱讀 5549

原貼:http://blog.chinaunix.net/u/21012/showart_145897.html

讓apache伺服器遠離dos攻擊

讓apache伺服器遠離dos攻擊

想像你擁有一家外賣快餐店,你同一條街上的競爭對手一直都想把你擠垮。你過去晚上的工作一向是井井有條的,可是有乙個晚上,你的**響個不停,一筆 又一筆的訂單接踵而至,你的司機整晚都忙著送東西,結果那些訂餐的位址卻不存在。而與此同時,你的老顧客嘗試通過**訂餐,卻怎麼也打不通。這時,你的競 爭者會順理成章地接管本該屬於你的顧客-往往是傾向於向你訂餐而忽略你的競爭對手的那些顧客。這樣連續幾晚,你將會面臨破產,而你的競爭對手的業務則進入 了新的歷程。

如果你在網際網路上開展商務活動,你很容易受到惡意的拒絕服務攻擊 (dos),而任何執行web站點、ftp或者郵件管理的伺服器都會受到不同程度的攻擊。

我們很容易想到:競爭對手、惡意的黑客或是對公司極度不滿的舊員工都希望給公司帶來麻煩。他們選擇的方法可能就是讓公司的**或是其他基於 伺服器的公共服務離線,或者至少拖慢其速度以至部分不可用。有很多方法可以達到這一目的,包括傳送大量請求以占用大部分頻寬的,或是讓伺服器超過極限的洪 水攻擊。

攻擊可能產生在伺服器上、伺服器所在的網路中或是伺服器的作業系統裡。同樣存在分布式的攻擊,包括病毒分布攻擊、隨機分布式伺服器攻擊、同步持續攻擊、協同攻擊等。

你應該怎麼在apache伺服器上避免這樣的攻擊呢?首先,讓我們來分析這類攻擊的原理,以便了解它們是怎麼影響你的伺服器的。

資料報洪水攻擊

一種中斷伺服器或是其本地網路的方法是資料報洪水攻擊,它通常使用internet控制報文協議 (icmp)包或是udp包。在最簡單的形式下,這些攻擊都是使伺服器或是網路的負載過重,這意味著黑客的網路速度必須比目標的網路速度要快。使用udp 包的優勢是不會有任何包返回到黑客的計算機。而使用icmp包的優勢是黑客能讓攻擊更加富於變化,傳送有缺陷的包會搞亂並鎖住受害者的網路。在一種流行的 變化中,黑客能愚弄目標伺服器,讓其相信正在受到來自自身的洪水攻擊。

磁碟攻擊

這是一種更殘忍的攻擊,它不僅僅影響目標計算機的通訊,還破壞其硬體。偽造的使用者請求利用寫命令攻擊目標計算機的硬碟,讓其超過極限,並強制關閉。這不僅僅是破壞,受害者會遭遇不幸,因為資訊會暫時不可達,甚至丟失。

路由到不可達

通常,dos攻擊集中在路由器上,攻擊者首先獲得控制權並操縱目標機器 。當攻擊者能夠更改路由器的路由表條目的時候,會導致整個網路不可達。這種攻擊是非常陰險的,因為它開始出現的時候往往令人莫名其妙。畢竟,你的伺服器會 很快失效,但是當整個網路不可達,還是有很多原因需要詳審的。

apache伺服器最大的缺點是,它的普及性使它成為眾矢之的。apache伺服器無時無刻不受到dos攻擊的威脅。

apache伺服器的脆弱性

上面提到的攻擊,面對執行著apache的伺服器,採用了特殊的核心和後台。其中一種的 核心偽造真實的tcp/ip資料報,否則他們不能遠端的入侵。但是偽造的tcp/ip資料報現在更容易產生並且更普遍的運用於伺服器攻擊活動中。最令人恐 懼的事情是,對於這種攻擊,目標計算機上並不需要執行任何程式。

伺服器**另乙個可怕的脆弱性是,記憶體分配特性為服務、客戶機功能效率成分提交善意的請求。apache 伺服器可能會因為ram的不斷消耗而崩潰。

自我防護的方法

系統管理員主機對主機攻擊防範

入站的報頭將提示apache伺服器為所有附加的報頭分配記憶體。從分配完記憶體到預設的最小值,報頭的級聯的請求會引起可用記憶體非線形的消耗,最終導致系統崩潰。這類攻擊事實上是一種標準。

如果你正在執行v1.3.2版本的apache 伺服器,你可以抵禦這樣的攻擊。這非常容易:假設上面談到的主機對主機攻擊成功了,大量的純報頭請求會強烈的轟擊伺服器。你的解決方案就是 maxclients 指令,系統管理員可以通過這個指令設定報頭數量的最大值,就可以在記憶體耗盡以前中斷主機對主機攻擊。

在apache伺服器上防範繁殖性攻擊

最有威脅的攻擊是分布式拒絕服務攻擊 (ddos)。當很多堡壘主機被感染,並一起向你的伺服器發動拒絕服務攻擊的時候,你將傷痕累累。繁殖性攻擊是最惡劣的,因為攻擊程式會不通過人工干涉蔓延。

apache伺服器特別容易受攻擊,無論是對分布式拒絕服務攻擊還是隱藏**的攻擊。為什麼?因為apache伺服器無處不在。在全球資訊網上 分布著無數的apache伺服器,因此為apache定製的病毒 (特別是ssl蠕蟲) 潛伏在許多主機上;頻寬如今已經非常充裕,因此有很多的空間可供黑客操縱。apache系統趨向穩定,很少需要生機,因此這些問題是讓人頭疼的。

攻擊蠕蟲利用伺服器**的漏洞,通過ssl握手將自己安裝在apache伺服器上。黑客利用緩衝溢位將乙個偽造的鑰匙安裝在伺服器上 (適用於執行低於0.9.6e 版本的openssl的伺服器)。攻擊者能夠在被感染的主機上執行惡意**,在許多這樣病毒的作用下,下一步就是對特定的目標發動一場浩大的分布式拒絕服 務攻擊了。通過將這樣的蠕蟲散播到大量的主機上,大規模的點對點攻擊得以進行,對目標計算機或者網路帶來不可挽回的損失。

你該做些什麼?還不趕緊公升級你的openssl!公升級到0.9.6e或者更高版本;偽造的鑰匙將起不了任何作用,也不能滲透到系統裡。 一些反病毒程式能發現並殺死ssl蠕蟲,但是別指望這些:蠕蟲可能產生變體,從而逃脫反病毒軟體的追捕 。注意重啟apache可以殺死這樣的病毒,但是對防止將來的感染沒有任何意義。

防火牆仍然非常有價值

在網路攻擊中,防火牆能更好的保護你的安全。你必須明白它能做什麼,不能做什麼。防火牆能 夠幫助你抵禦常規的拒絕服務攻擊(利用偽造使用者傳送不虛假的請求),至少能起到緩和的作用。然而防火牆不能幫助你抵禦採用合法服務的拒絕服務攻擊,因此在 部署防火牆的時候安全人員不應該遺漏這一點。

當拒絕服務攻擊是一次網路攻擊的時候,防火牆確實很受用。這種型別的攻擊的實質是資料報洪水入侵,防火牆能發現那些不正常的資料報並向你提示可疑的事件。此外,你的防火牆甚至可以檢查進入你主機的遠端使用者。

如何檢測攻擊dos伺服器攻擊的檢測要麻煩一些,因為在伺服器級很難分辨請求是合法的還是偽造的。你能做的事情主要是了解網路何時產生異常,因此你能在 起初被攻擊的時候檢測到攻擊。有一些著名的軟體就是出於這一目的的。你可以參考tripwire、nagios和 snips (系統/網路整合輪詢系統)。

dos防範機動

自從apache 1.3開始,乙個被稱作mod_dosevasive的新模組出現了。它的意思是" dos防範機動(dos evasive maneuvers)" 它的功能是拒絕偽造的資料請求。它密切監控頻寬和資源使用率。雖然它對分布式拒絕服務攻擊毫無辦法 (幾乎每有乙個軟體能對付分布式拒絕服務攻擊),但是它對防範普通的拒絕服務攻擊還是非常有效,絕對值得投資。

推薦投訴

伺服器安裝apache伺服器

1.環境 centos7 2.鏈結伺服器 ssh username ip 3.安裝apache 4.設定apache在伺服器啟動時執行 5.在apache配置檔案中設定網域名稱 vi etc httpd conf httpd.conf,找到 servername 新增 網域名稱 80 儲存並退出。6...

搭建web伺服器 Apache伺服器

一.安裝apache 二.載入php解析模組,並指定模組處理檔案的型別 編輯httpd.conf 檔案 so檔案是linux下的c編譯的可執行檔案 這一項可以改為你真正願意放置專案檔案的磁碟 寫乙個指令碼測試一下,如果解析成功意味著php解析器載入成功 三.讓php處理資料庫 放到documentr...

移植apache伺服器

前些日子移植了boa伺服器,今天打算嘗試一下apache伺服器。本來是在ubuntu11.04上進行編譯,無奈庫檔案確實缺少很多,然而時間又緊。所以便在fodera9.0完成的編譯,關於ubuntu上的以後有時間在解決。這個網上還是挺好找的,我是用的開發板自帶的。來總體說一下步驟吧 apache原始...