卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

Apache服務器安全防范

Apache 服務器走到那里,unix/linux就跟到那里,這足以說明在WEB 服務器領域Apache 的優(yōu)良性能與市場占有率這今天互聯網的大環(huán)境下,web 服務已經成為公司企業(yè)必不可少的業(yè)務,大多

Apache 服務器走到那里,unix/linux就跟到那里,這足以說明在WEB 服務器領域Apache 的優(yōu)良性能與市場占有率

這今天互聯網的大環(huán)境下,web 服務已經成為公司企業(yè)必不可少的業(yè)務,大多數的安全問題也跟隨而來,攻擊重點也轉移為web 攻擊,許多web 與頗有價值的客戶服務與電子商業(yè)活動結合在一起,這也是吸引惡意攻擊重要原因。

先來了解下web 所面臨的安全風險

HTTP 拒絕服務攻擊

攻擊者通過某些手段使服務器拒絕對http 應答,這使Apache 對系統資源(cup 時間與內存)需求巨增,最終造成系統變慢甚至完全癱瘓,Apache 服務器最大的缺點是,它的普遍性使它成為眾矢之的,Apache 服務器無時無刻不受到DoS 攻擊威脅,主要有下邊幾種

1. 數據包洪水攻擊

一種中斷服務器或本地網絡的方法是數據包洪水攻擊,它通常使用internet 控制報文協議(ICMP ,屬于網絡層協議)

包或是udp 包,在最簡單的形式下,這些攻擊都是使服務器或網絡負載過重,這意味這攻擊者的網絡速度必須比目標主機網絡速度要快,使用udp 包的優(yōu)勢是不會有任何包返回到黑客的計算機(udp 效率要比tcp 高17倍),而使用ICMP 包的優(yōu)勢是攻擊者能讓攻擊更加富與變化,發(fā)送有缺陷的包會搞亂并鎖住受害者的網絡,目前流行的趨勢是攻擊者欺騙服務器,讓其相信正在受來自自身的洪水攻擊

2. 磁盤攻擊

這是一種很不道德的攻擊,它不僅影響計算機的通信,還破壞其硬件,偽造的用戶請求利用寫命令攻擊目標計算機硬盤,讓其超過極限,并強制關閉,結局很悲慘

3. 路由不可達

通常DoS 攻擊,集中在路由器上,攻擊者首先獲得控制權并操縱目標機器,當攻擊者能更改路由表條目時候,會導致整個網絡無法通信,這種攻擊很陰險,隱蔽,因為網絡管理員需要排除的網絡不通原因很多,其中一些原因需要詳細分辨

4. 分布式拒絕服務攻擊

這也是最具有威脅的DDoS 攻擊,名稱很容易理解,簡單說就是群歐,很多客戶機同時單條服務器,你會發(fā)現你將傷痕累累,Apache 服務器特別容易受到攻擊,無論是DDos 還是隱藏來源的攻擊,因為Apache 無處不在,特別是為Apache 特意打造的病毒(特選SSL 蠕蟲),潛伏在許多主機上,攻擊者通過病毒可以操縱大量被感染的機器,對特定目標發(fā)動一次浩大的DDoS 攻擊,通過將蠕蟲散播到大量主機,大規(guī)模的點對點攻擊得以進行,除非你不提供服務,要不然幾乎無法阻止這樣的攻擊,這種攻擊通常會定位到大型的網站上。

緩沖區(qū)溢出,這種攻擊很普遍,攻擊者利用CGI 程序編寫一些缺陷程序偏離正常的流程,程序使用靜態(tài)的內存分配,攻擊者就可以發(fā)送一個超長的請求使緩沖區(qū)溢出,比如,一些perl 編寫的處理用戶請求的網關腳本,一但緩沖區(qū)溢出,攻擊者就可以執(zhí)行惡意指令

非法獲取root 權限

如果Apache 以root 權限運行,系統上一些程序的邏輯缺陷或緩沖區(qū)溢出漏洞,會讓攻擊者很容易在本地系統獲取linux 服務器上的管理者權限,在一些遠程情況下,攻擊者會利用一些以root 身份執(zhí)行的有缺陷的系統守護進程來取得root 權限,或利用有缺陷的服務進程漏洞來取得普通用戶權限,以遠程登陸,進而控制整個系統。

這邊這些都是服務將會遇到的攻擊手段,下邊來說,如何打造安全的Apache 服務器

,

如果你能遵守下邊這些建議,那么你將得到一臺相對安全的apache 服務器

一:勤打補丁

你必須要相信這個是最有用的手段,緩沖區(qū)溢出等漏洞都必須使用這種手段來防御,勤快點相信對你沒有壞處

在http:www.apache.org上最新的changelog 中都寫有:bug fix ,security bug fix的字樣,做為負責任的管理員要經常關注相關漏洞,及時升級系統添加補丁。使用最新安全版本對加強apache 至關重要

二:隱藏和偽裝Apache 的版本

打亂攻擊者的步驟,給攻擊者帶來麻煩,相信是管理員愿意看到的。軟件的漏洞信息和版本是相關的,在攻擊者收集你服務軟件信息時候給與迷惑是個不錯的選擇,何況版本號,對攻擊者來說相當與GPS 定位一樣重要

默認情況,系統會把apache 版本模塊都顯示出來(http 返回頭),如果列舉目錄的話,會顯示域名信息(文件列表正文),去除Apache 版本號的方法是修改配置文件,找到關鍵字, 修改為下邊

ServerSignature off

ServerTokens prod

通過分析web 服務器類型,大致可以推測操作系統類型,win 使用iis,linux 普遍apache ,默認的Apache 配置里沒有任何信息保護機制,并且允許目錄瀏覽,通過目錄瀏覽,通??梢缘玫筋愃啤癮pache/1.37 Server at apache.linuxforum.net Port 80”或“apache/2.0.49(unix)PHP/4.3.8”的信息

通過修改配置文件中的ServerTokens 參數,可以將Apache 的相關信息隱藏起來,如果不行的話,可能是提示信息被編譯在程序里了,要隱藏需要修改apache 的源代碼,然后重新編譯程序,以替換內容 編輯ap_release.h文件,

修改"#define AP_SERVER_BASEPRODUCT"Apache""為 "#define AP_SERVER_BASEPRODUCT"Microsoft-IIS/5.0"

編輯os/unix/os.h文件

修改"#define PLATFORM"Unix""為

"#define PLATFORM'Win32"

修改完成后,重新編譯,安裝apache, 在修改配置文件為上邊做過的,再次啟動apache 后,用工具掃描,發(fā)現提示信息中已經顯示為windows 操作系統了

順便說下,現在這個論壇,就有點不太講究,這是論壇錯誤的返回信息,看了有點汗地感覺

Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.4.6 mod_ssl/2.2.8 OpenSSL/0.9.8g Server at forum.ubuntu.org.cn Port 80

這個等于告訴惡意用戶很多有用信息,雖然說不算開了門,但等于被告訴了門在那里,還是相當危險的

三:建立安全的目錄結構apache 服務器包括四個目錄結構

ServerRoot #保存配置文件,二進制文件與其他服務器配置文件

DocumentRoot #保存web 站點內容,包括HTML 文件和圖片等

ScripAlias #保存CGI 腳本

Customlog 和 Errorlog #保存日志和錯誤日志

建議的目錄結構為,以上四種目錄相互獨立并且不存在父子邏輯關系

注:

ServerRoot 目錄只能為root 用戶訪問

DocumentRoot 目錄應該能夠被管理web 站點內容的用戶訪問和使用apache 服務器的apache 用戶與

,

組訪問 ScripAlias 目錄應該只能被CGI 開發(fā)人員和apache 用戶訪問

Customlog 和 Errorlog 只能被root 訪問 下邊是一個安全目錄結構的事例 -------/etc/

|

| ----/http (ServerRoot)

| ----/logs (Customlog 和 Errorlog)

|

-------var/www

|

| ---/cgi-bin (ScripAlias)

| ---/html (DocumentRoot)

這樣的目錄結構是比較安全的,因為目錄之間獨立,某個目錄權限錯誤不會影響到其他目錄

四:為apache 使用專門的用戶與組

按照最小特權的原則,需要給apache 分配一個合適的權限,讓其能夠完成web 服務

注:

最小特權原則是系統安全中最基本的原則之一,限制使用者對系統及數據進行存取所需要的最小權限,保證用戶可以完成任務,同時也確保被竊取或異常操作所造成的損失

必須保證apache 使用一個專門的用戶與組,不要使用系統預定的帳戶,比如nobody 用戶與nogroup 組

因為只有root 用戶可以運行apache ,DocumentRoot 應該能夠被管理web 站點內容的用戶訪問和使用apache 服務器的apache 用戶與組訪問,例如,希望“test ”用戶在web 站點發(fā)布內容,并且可以以httpd 身份運行apache 服務器,可以這樣設定

groupadd webteam

usermod -G webteam test chown -R httpd.webteam /www/html

chmod -R 2570 /www/htdocs

只有root 能訪問日志,推薦這樣的權限

chown -R root.root /etc/logs

chown -R 700 /etc/logs

五:web 目錄的訪問策略

對于可以訪問的web 目錄,要使用相對保守的途徑進行訪問,不要讓用戶查看任何目錄索引列表 禁止使用目錄索引:

apache 在接到用戶對一個目錄的訪問時,會查找DirectoryIndex 指令指定的目錄索引文件,默認為index.html ,如果該文件不存在,那么apache 會創(chuàng)建動態(tài)列表為用戶顯示該目錄的內容,這樣就會暴露web 站點結構,因此需要修改配置文件禁止顯示動態(tài)目錄索引,修改httpd.conf

Options -Indexes FollowSymLinks

Options 指令通知apache 禁止使用目錄索引,FollowSymLinks 表示不允許使用符號連接。 禁止默認訪問:

,

要的安全策略必須要禁止默認訪問的存在,只對指定的目錄開放權限,如果允許訪問/var/www/html目錄,使用如下設定

Order deny,allow

Allow from all

禁止用戶重載:

為了禁止用戶對目錄配置文件(htaccess )進行重載(修改),可以這樣設定

AllowOverride None

六:apache 服務器訪問控制

apache 的access.conf 文件負責設置文件的訪問權限,可以實現互聯網域名和ip 地址的訪問控制 如允許192.168.1.1到192.168.1.254的主機訪問,可以這樣設定

order deny,allow

deny from all

allow from pair 192.168.1.0/255.255.255.0

七:apache 服務器的密碼保護

.htaccess 文件是apache 上的一個設置文件,它是一個文本文件,.htaccess 文件提供了針對目錄改變配置的方法

既通過在一個特定的文檔目錄中放置一個包含一個或多個指令的文件(.htaccess 文件),以作用于此目錄和子目錄。

.htaccess 的功能包括設置網頁密碼,設置發(fā)生錯誤時出現的文件,改變首業(yè)的文件名(如,index.html ), 禁止讀取文件名,重新導向文件,加上MIME 類別,禁止目錄下的文件等。

注:.htaccess 是一個完整的文件名,不是***.htaccess或其他格式,在/abc目錄下放置一個.htaccess 文件,那么/abc與它的子目錄都會被這個文件影響,但/index.html不會被影響

.htaccess 的建立和使用比較復雜點,如果感興趣的朋友可以回帖發(fā)問,這里就不具體寫出來了,這種保護要比某些程序實現的保護安全,那種方法可以通過被猜測方法獲取密碼,用.htaccess 很難被破解,但文本方式的驗證會比較慢,對少量用戶沒影響,但對大量用戶就必須使用帶數據模塊的驗證了,這需要編譯源代碼時候開啟模塊,默認是不開啟的

八:讓apache 運行在“監(jiān)牢”中

“監(jiān)牢”的意思是指通過chroot 機制來更改某個軟件運行時所能看到的根目錄,簡單說,就是被限制在指定目錄中,保證軟件只能對該目錄與子目錄文件有所動作,從而保證整個服務器的安全,即使被破壞或侵入,損傷也不大

以前,unix/linux上的daemon 都是以root 權限啟動的,當時,這是一件理所當然的事情,像apache 這樣的服務器軟件,需要綁定到80端口上來監(jiān)聽請求,而root 是唯一有這種權限的用戶,隨著攻擊手段和強度的增加,這樣會使服務器受到相當大的威脅,一但被利用緩沖區(qū)溢出漏洞,就可以控制整個系統?,F在的服務器設計通常以root 啟動,然后進程放棄root 權限,改為某個低級的帳號運行。這種方式顯然會降低對系統的危害,但攻擊者還是會尋找漏洞提升權限,即使無法獲得root 權限,也可以刪除文件,涂改主頁等

為了進一步提高系統安全性,linux 內核引入chroot 機制,chroot 是內核中的一個系統調用,軟件可以通過調用函數庫的chroot 函數,來更改某個進程所能見到的跟目錄,比如,apache 軟件安裝在/usr/local/httpd目錄,以root 啟動apache, 這個root 權限的父進程會派生數個以nobody 權限運行的子進程,父進程監(jiān)聽80端口,然后交給某個子進程處理,這時候子進程所處的目錄續(xù)承父進程,即

,

/usr/local/httpd目錄,但是一但目錄權限設定錯誤,被攻擊的apache 子進程可以訪問/usr/local , /usr ,/tmp甚至整個文件系統,因為apache 進程所處的跟目錄仍然是整個文件系統的跟目錄,如果可以用chroot 將apache 限制在/usr/local/httpd/下,那么apache 所存取的文件都被限制在/usr/local/httpd下,創(chuàng)建chroot 監(jiān)牢的作用就是將進程權限限制在文件目錄樹下,保證安全。

如果自己手動apache 的監(jiān)牢,將是很煩瑣和復雜的工作,需要牽扯到庫文件,這里可以使用jail 包來簡化監(jiān)牢的實現

jail 的官方網站為: http://www.jmcresearch.com有興趣可以逛逛

這里也不寫出具體的創(chuàng)建過程稍微麻煩,如果對安全有需要的話,請回帖,會及時補上

九:apache 服務器防范Dos

apache 服務經常會碰到Dos 攻擊,防范的主要手段是通過軟件,apahce Dos Evasive Maneuvers Module

來實現的,它是一款mod_access的代替軟件,可以對抗DoS 攻擊,該軟件可以快速拒絕來自相同地址對同一URL 的重復請求,通過查詢內部一張各子進程的哈希表來實現

可以到網址:http://online/.securityfocus.com/tools/ 上下載軟件

十:減少CGI 和SSI 風險

CGI 腳本的漏洞已經成為WEB 服務器的首要安全隱患,通常是程序編寫CGI 腳本產生了許多漏洞,控制CGI 的漏洞除了在編寫時候注意對輸入數據的合法檢查,對系統調用的謹慎使用等因素外,首先使用CGI 程序所有者的ID 來運行這些程序,即使被漏洞危害也僅限于該ID 能訪問的文件,不會對整個系統帶來致命的危害,因此需要謹慎使用CGI 程序。

1.3版的apache 集成了suEXEC 程序,可以為apache 提供CGI 程序的控制支持,可以把suEXEC 看做一個包裝器,在Apache 接到CGI 程序的調用請求后,把這個請求交給suEXEC 來負責完成具體調用,并從suEXEC 返回結果,suEXEC 可以解決一些安全問題,但會影響速度

如果是對安全性要求很高時候,建議使用suEXEC ,此外還有一個軟件CGIWrap ,它的安全性要高與suEXEC

減少SSI 腳本風險,如果用exec 等SSI 命令運行外部程序,也會存在類似CGI 腳本風險,除了內部調試程序時,應使用

option 命令禁止其使用:

Option IncludesNOEXEC

十一:使用ssl 加固Apache

使用具有SSL 功能的服務器,可以提高網站敏感頁的安全性能,SSL 工作與TCP/IP協議和HTTP 協議之間

SSL 可以加密互聯網上傳遞的數據流,提供身份驗證,在線購物而不必擔心別人竊取信用卡信息,在基于電子商務和基于web 郵件的地方非常重要。

SSL 的應用相對還是比較麻煩的,有需要的話,可以發(fā)貼或查看資料,這幾就不多寫,篇幅不夠

來源:http://forum.ubuntu.org.cn

標簽: