您現在的位置: 网站首頁 / 空間服務器 / 正文

詳解Web服務器安全攻擊及防護機制

作者: admin 发布: 2015-1-21 19:26:30 分类: 空間服務器 閱讀: 次 查看評論

  Web服務器攻擊常利用Web服務器軟件和配置中的漏洞,針對這些漏洞最佳做法是遵循一些方法搭建並運行Web服務器,本文詳解了Web服務器保護的一些方法。

  Web安全分爲兩大類:

  · Web服務器的安全性(Web服務器本身安全和软件配置)。

  · Web应用程序的安全性(在Web服務器上运行的Java、 ActiveX、PHP、ASP代码的安全)。

  Web服務器面臨的攻擊

  Web服務器攻擊利用Web服務器軟件和配置中常見的漏洞。這些漏洞包括:

  · 缓冲区溢出

  · 文件目录遍历

  · 脚本权限

  · 文件目录浏览

  · Web服務器软件默认安装的示例代码

  · Web服務器上运行的其他软件中的漏洞,例如SQL数据库软件

  讓我們對上訴漏洞依個進行深入地探討。

  1.緩沖區溢出

  緩沖區溢出允許惡意代碼注入到應用程序,它損壞應用程序的堆棧——內存中存儲應用程序代碼的一個地方——並用不同的代碼代替原始代碼的一部分來實現攻擊者的目的,例如運行特洛伊木馬程序或遠程控制應用程序。以下是緩沖區溢出漏洞的一個簡單示例代碼,使用C語言編寫:

  char aTmp[100];

  scanf("%s",aTmp);

  在第一行中,程序员声明一个长度为100的数组aTmp。在第二行中,scanf方法从控制台读取数据存到aTmp数组。代码不会检查%s 变量是否能够容纳输入数据的大小。因为程序员编码过程不对输入字符串的大小进行检查,如果给定的输入超过100个字符,就会造成缓冲区溢出。一个精心构造构的输入中可能包含汇编代码,这部分汇编代码能够获得源程序一样的运行权限。

  2.目錄遍曆

  目录遍历是指访问到了不是原先设想或允许的目录(或文件夹)。例如,微软IIS Web站点的默认文件夹为C:\inetpub,攻击者可使用的目录遍历漏洞,在该文件夹之外去读取他们本不该访问的文件。详细来说,假如有一个网址为“www.bad.com”的网站,其服務器代码中包含目录遍历漏洞。攻击者通过输入以下URL就可以利用该漏洞:

  http://www.bad.com/../autoexec.bat

  URL中的“.../”告诉服務器上溯一个目录,也就是“C:\”目录(Web 服務器可以将斜杠转换为反斜杠)。所以如果IIS服務器默认目录为“c:\inetpub”,那么该URL会转到“C:\”目录,攻击者将能够看到“c:\autoexec.bat”文件。除非将服務器配置好了避免目录遍历,不然所有目录可能都是可访问的。这种情况下,Web服務器将显示“autoexec.bat”文件的内容,或者攻击者选择的任何其他文件。

  值得注意的是:我们已经使用 IIS 作为示例;但是,此漏洞的利用不是针对IIS服務器的,在其他的Web 服務器上也有目录遍历漏洞。

  3.腳本權限

  爲了運行通用網關接口(CGI)、Perl或者其他服務端應用程序,管理員必須授予對服務器端應用程序所在的目錄以可執行權限。一些管理員給錯誤位置授予此權限(通常是因爲他們不明白這麽做會帶來的問題)。讓我們看看下面的示例,探討如果管理員將此權限授予C盤下的所有目錄將發生什麽。

  http://www.bad.com/../winnt/system32/cmd.exe%20%2fc%20dir

  首先我们来破译这神秘的URL。某些字符如空格和斜杠,不能出现在URL中,因为URL是限于7 -bit编码的ASCII码。然而,某些情况下还是会使用到这些字符。可行的办法是使用其十六进制的字符来表示,或者使用类似ASCII的base 16编码。Base 16 使用字母a、b、c、d、e 和f来表示大于9的数字。举例来说,字母a表示十六进制中的数字10,f表示15,并使用10表示数字16。所以,在前面的示例:

  · 空格使用ASCII编码表示为十进制的32,使用十六进制则为20,因此变成%20。

  · 斜杠(/)使用ASCII编码表示为十进制的47,使用十六进制则为2f,因此变成%2f。

  經Web服務器解析後,就成爲下面的URL:

  ../winnt/system32/cmd.exe /c dir

  這是要執行“cmd.exe”並告訴它執行“dir”命令。“cmd.exe”是位于“C:\winnt\system32”

  文件夾中的命令外殼。“Dir”命令列出當前目錄中的所有文件,並將結果返回給用戶。當然,這是只是一個簡單的例子,攻擊者可以執行更複雜的命令以達到刪除、運行或修改Web服務器上數據的目的。

  圖1是IIS目錄權限的配置的截屏。最佳做法是只給包含需要執行的服務端應用的文件夾設置可執行的權限,而不是包含可被攻擊者利用的軟件的文件夾,例如包含“cmd.exe”或者其他內置的操作系統命令。

  詳解Web服務器安全攻擊及防護機制

  图1 IIS脚本权限控制台的屏幕截图

  那是用于網站訪問者運行的命令,而不是可能援助攻擊者的軟件,如cmd.exe或其他內置操作系統命令。

  4.目錄浏覽

  通常情况下,目录浏览是禁用的,但是如果启用它,则它显示该目录中的所有文件,并允许浏览的子目录。有时知道一个文件存在可以帮助攻击者利用Web 服務器上文件和程序的漏洞。为此,不建议启用Web 服務器上的目录浏览。

  5.默認示例

  默认示例是包含在Web 服務器软件中并在服務器软件安装时默认安装的应用程序。一些默认安装的示例包含安全漏洞。针对这些漏洞保护的最佳办法是不要安装示例,如果已经安装了,最好把它们删除掉。

  6.其他服務

  攻击者可以通过攻击在Web服務器上运行的其他服务来攻陷Web服務器。这些服务包括FTP、SMTP、POP3、SQL服務器和NetBIOS服务。防止此类攻击的最佳方法是减少“受攻击面”。关闭所有运行在Web服務器操作系统上不必要的服务并对剩下的服务进行安全地配置。最佳做法是使 Web服務器只有一个Web服务程序,而没有其他的服务。运行数据库和其他的软件应部署在单独的服務器上,这样服務器受防火墙保护,只有Web服務器易受Web攻击。如果攻击者设法利用其他服务的漏洞来攻击服務器,他们也能够干扰或攻陷Web站点。

  7.Web服務器軟件的固有漏洞

  每個Web服務器軟件,包括IIS和Apache,由于缺乏安全的編碼技術,該軟件的程序員已經提供了內置漏洞。例如,IIS的.htr漏洞,允許攻擊者看到駐留在服務器上的文件的內容。幾乎每周都會發布主要的Web服務器軟件平台中的新漏洞。

  Web服務器的保護

  針對上述漏洞最佳做法是遵循以下建議搭建並運行Web服務器。采取下列措施將提高Web服務器的安全性。

  · 给Web服務器服务或守护程序配置能够使它正常运行最少的权限。这样,即使攻击者控制了Web 服務器,他们只能获得运行该软件对应的用户账户的权限。这样,攻击计算机或网络上的其他软件可行方案就极为有限了。

  · 安装最新的安全补丁并时刻关注漏洞的最新动态。

  · 删除默认示例并避免安装类似的示例。

  · 通过删除不需要的应用程序,安全配置同一台计算机上的其他网络服务,确保操作系统已安装最新的安全补丁来保证承载Web服務器的计算机的安全。

  · 确保只给需要执行的脚本单独的目录运行的权限。

  · 在Web服務器上每个目录中,都提供一个index.html文件,以避免需要目录浏览。

  第三方安全産品

  商業和免費的産品也可以幫助抵禦與Web服務器相關的不同漏洞。主要有以下産品:

  · 软硬件防火墙

  · Web应用防火墙(WAFs)

  · 病毒防御软件

  · 基于ISAPI的安全产品

  · 安全日志

  · 反馈分析软件

  · 入侵检测系统和入侵检测防御系统

  · 漏洞扫描软件

  · 输入验证

  软硬件防火墙。防火墙过滤掉不属于正常 Web会话的流量。所有Web服務器都应配备技术先进的第四代防火墙。第四代防火墙可以区分出普通的Web浏览器合法的流量和攻击者的恶意攻击流量。直接部署在Web服務器上的防火墙软件可以为服務器提供额外的防护。

  Web應用防火牆。Web應用防火牆(WAFs)是具有Web流量深度檢查功能的設備。WAFs能夠提供基于內容的攻擊的良好保護,因爲他們會解析HTTP會話的實際內容,尋找與正常使用模式不匹配的已知錯誤或異常行爲。這些設備可以是非常有效的防範大多數攻擊。

  病毒防御软件。Web服務器上应该安装防御毒软件。如果攻击者利用安全漏洞企图控制Web 服務器,并且漏洞已知,病毒防御软件能够检测到并阻止。

  基于ISAPI的安全産品。此類産品截取URL請求,過濾掉可能的攻擊,如緩沖區溢出。Web服務器供應商通常會免費提供基于ISAPI的安全産品。

  反饋分析軟件。反饋分析軟件解析Web服務器的響應並與已知的正常網站響應進行比較。如果網站含有惡意代碼或者被修改,響應將不匹配原始的已知的正常響應,這樣能夠檢測出未經授權的網站更改。

  入侵檢測與防禦。入侵檢測系統(IDS)一般用于入侵的後期處理,因爲系統保留事件的詳細記錄。而入侵預防系統(IDP)能夠阻止某些已知的不良行爲。

  漏洞掃描軟件。管理員應運行漏洞掃描程序定期來測試Web服務器的安全性,因爲假如掃描儀發現了安全漏洞,攻擊者很可能也會發現同樣的漏洞。有很多免費或商業的漏洞掃描軟件。其中有些是基于Web,有些是硬件程序,剩下的是純軟件。

  輸入驗證。輸入驗證産品檢查提交到Web站點每個數據是否存在異常、SQL注入命令或緩沖區溢出攻擊代碼。

  安全日志。安全日志可以提供Web服務器攻击入侵的证据。除了存放在在 Web 服務器上,还应该将它们存储网络上安全的位置以防止攻击者更改日志或删除记录。

  --51CTO

  來源:SEO搜尋引擎優化 - SEO自學網 轉載注明出處!

? 上一篇下一篇 ?   本文關鍵詞: 服務器  

評論列表:

站長SEO學院
第一節:百度搜索引擎工作原理
第二節:建設對搜索引擎友好的站點
第三節:如何進行網站內容建設
第四節:整體優化、結構優化、網頁優化
第五節:移動搜索-明確移動搜索優化標准
百度SEO資料文檔
百度搜索引擎優化指南2.0
百度移動搜索優化指南2.0
網站分析白皮書(站長版)
移動站點該如何優化
建設對百度友好的站點
百度搜索引擎網頁質量白皮書
石榴算法-綠蘿算法-冰桶算法
新搜索時代下的優化策略
更多百度SEO資料文檔
站長推薦
DIV+CSS布局實例教程-Web標准
网站SEO優化常见问题汇总
SEO優化推广方案该如何写
SEO優化方案步骤
影響網站關鍵詞排名因素總結
影響谷歌搜索引擎排名的因素調查
手機移動端站點適配優化
最近發表