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”或者其他内置的操作系统命令。

图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 服务器上,还应该将它们存储网络上安全的位置以防止攻击者更改日志或删除记录。

web 服务器安全维护,Web服务器安全攻击及防护机制详解相关推荐

  1. fgo服务器维护后抽奖,fgo:抽卡机制详解 彩圈是必定会出五星的

    原标题:fgo:抽卡机制详解 彩圈是必定会出五星的 介于春节期间,不少玩家手头都很富裕,所以对于fgo的卡池方面的投入也是非常多的,而一个很现实与实际的问题就摆在了不少玩家面前,fgo的游戏抽卡机制到 ...

  2. 紫乌鸦服务器维护后多久刷,魔兽世界黑暗之星的灵爪飞鹰获取流程攻略 紫乌鸦坐骑刷新机制详解[多图]...

    魔兽世界中的黑暗之星的灵爪飞鹰坐骑很多玩家不太了解获取的详细方法,下面带给大家的是魔兽世界黑暗之星的灵爪飞鹰紫乌鸦坐骑刷新机制详解. 紫乌鸦坐骑刷新机制 1. 如何获得 在德拉诺任意区域(除了塔纳安丛 ...

  3. 安卓判断服务器返回的状态码,关于服务器返回的十四种常见HTTP状态码详解

    原标题:关于服务器返回的十四种常见HTTP状态码详解 HTTP状态码 状态码是由3位数字和原因短语组成的(比如最常见的:200 OK),其中第一位数字表示响应类别,响应类别从1到5分为五种 add:其 ...

  4. 摩尔庄园不同服务器账号互通吗,摩尔庄园手游服务器互通吗?不同服务器数据互通机制详解...

    摩尔庄园手游不同的服务器能不能互通?游戏中的服务器互通问题让玩家们一直都在不断的讨论,那么这次小游戏100网就来给大家分享最正确的答案,下面会详细的为大家分享服务器互通的这个问题,有需要了解的都能来看 ...

  5. 网站服务器安全维护,网站服务器安全维护

    网站服务器安全维护 内容精选 换一换 云服务器使用,服务器使用,服务器配置,云主机使用,弹性云服务器入门,ecs使用 来自:产品 域名注册(Domain Registration)是用户付费获取Int ...

  6. 网站的服务器怎么维护,网站服务器怎么维护

    网站服务器怎么维护 内容精选 换一换 云服务器使用,服务器使用,服务器配置,云主机使用,弹性云服务器入门,ecs使用 来自:产品 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.AP ...

  7. 服务器安全维护包含,服务器安全维护包含

    服务器安全维护包含 内容精选 换一换 本章节介绍如何使用管理控制台向导创建裸金属服务器.创建裸金属服务器时,您需要配置规格.镜像.存储.网络.安全组等必备信息.同时,向导也提供了丰富的扩展配置功能,方 ...

  8. 云端服务器怎么维护,云端服务器怎么维护

    云端服务器怎么维护 内容精选 换一换 以NTP服务器.DNS服务器的操作系统均为SUSE为例:登录Linux弹性云服务器.执行以下命令,切换至root用户.sudo su -sudo su -执行以下 ...

  9. app 服务器 运营 维护,app服务器维护

    app服务器维护 内容精选 换一换 本节操作介绍通过华为云APP连接Linux实例的操作步骤.云服务器状态为"运行中".已获取Linux云服务器用户名和密码,忘记密码请参考在控制台 ...

最新文章

  1. 程序员花名大 PK | 每日趣闻
  2. 聚类分析matlab检验,「matlab聚类分析」聚类分析的Matlab 程序—系统聚类(附有案例分析) - 金橙教程网...
  3. 图解使用CURL下载和上传文件
  4. 详解java中Thread类,线程和进程的基本区别,多线程的好处,线程的五个生命周期,主线程和IDEA创建的Monitor Ctrl-Break守护线程;优雅地终止线程。死锁的产生
  5. GoogLeNet代码解读
  6. 重构碎片化知识_知识碎片化时代,如何妙用思维导图,提高你的学习效率(含福利)...
  7. Windows Server 2008 WDS实现跨网段实现远程部署
  8. java axure_【Java】Axure线框图
  9. 前端怎么存token_学长:说说你理解的 Token
  10. GBTC负溢价扩大至20.44%,创下历史新低
  11. Flume+Kafka+Spark Streaming+MySQL实时日志分析
  12. ZMQ中线程之间发送命令
  13. php pmt,关于光电倍增管(PMT)模块的选型与使用
  14. Spring简单的定时器
  15. 大数据shipin教程_大数据自学全套视频教程下载
  16. php网上阅卷源码,翰林金榜网上阅卷
  17. 怎么设置计算机桌面字体大小,Win7桌面字体大小怎么调?Win7系统电脑桌面字体大小设置方法...
  18. 计算机职业规划范文300字,【职业规划300字范文】_职业规划范文300字
  19. 二、全国计算机三级数据库考试——理论知识总结(填空题)
  20. USACO Section 1.2 Broken Necklace

热门文章

  1. Spring-IOC 解耦详解
  2. Linux | 文本文件查看命令
  3. MES入门.浅谈ISA-88
  4. 坚果云 我的电脑图标_如何删除我的电脑里的坚果云文件夹
  5. ppt矩形里面的图片怎么放大缩小_如何使用PPT调节图片的大小
  6. 使用 istringtream 注意其状态
  7. C# 操作docx文档
  8. 写个脚本批量注册网站账号
  9. 告别2016迎接2017,分享一些第三方插件
  10. 加油吧红牛,功能饮料暴风来袭