下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

怎样保护你的web服务器,安全机制你懂多少(二)

作者:课课家教育     来源: http://www.kokojia.com点击数:1066发布时间: 2016-08-24 09:07:31

标签: web服务器web安全机制系统运维

  我们经常所说的web服务器攻击,但是却不知道该怎么使用安全机制来保护,所谓的web服务器攻击主要是指利用Web服务器软件和配置中的漏洞,那么我们来防御的话,主要是针对存在的漏洞再去搭建并且去运行web服务器,那么该怎么去保护你的web服务器呢?前面已经向大家简单的说明了一些web服务器中的漏洞并且是向大家分析了其中的两个漏洞,那么接下来我们继续看完其中的几个web服务器中的漏洞,把剩下的都学习完。

  前面介绍了缓冲区溢出,以及目录的遍历这些web服务器所面临的漏洞攻击,我么接着来看看还有哪些漏洞是你没有注意过的!

怎样保护你的web服务器,安全机制你懂多少(二)_web服务器_web安全机制_系统运维_课课家

  脚本的一些权限

  web服务器它为了运行通用网关接口(CGI)、Perl或者其他服务端的一些应用程序,在这样的情况下面,那么管理员必须授予对服务器端应用程序所在的目录的可执行权限。通常一些管理员给错误位置授予此权限(一般是因为他们不明白这么做,将会带来什么样的问题)。我们来看一下下面的示例,为大家探讨一下如果管理员将此权限授予C盘下的所有目录,那么将会发生什么样的情况:

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

  看到这样的地址,到底是什么意思呢?首先我们来破译这神秘的URL。某些字符如空格和斜杠,不能出现在URL中,因为URL是限于7-bit编码的ASCII码。但是在某些情况下还是会使用到这些字符。一般来说可行的办法是使用其十六进制的字符来表示,又是可以或者使用类似ASCII的base16编码。Base16使用字母a、b、c、d、e和f来表示大于9的数字。简单的举个例子来说,字母a它是表示十六进制中的数字10,f它是表示15,并使用10表示数字16。因此在前面的示例中:

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

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

  那么最终经Web服务器解析后,就会变成下面的URL:

  ../winnt/system32/cmd.exe/cdir

  这是要执行“cmd.exe”并告诉它执行“dir”命令。“cmd.exe”它是位于“C:\\winnt\\system32”文件夹中的命令外壳。“Dir”命令列出当前目录中的所有文件,并且是将最后的结果返回给用户。这只是一个简单的例子,通常攻击者可以执行更复杂的命令以达到删除、运行或修改Web服务器上数据的目的,这就是攻击者能力所在了!

  我们看到下图是IIS目录权限的配置的的一个截屏。那么最佳做法是只给包含需要执行的服务端应用的文件夹设置可执行的权限,而不是包含可被攻击者利用的软件的文件夹,比如一些包含“cmd.exe”或者其他内置的操作系统命令。

  目录的一个浏览

  在一般的情况下,由于目录浏览它是禁用的,但是如果启用它之后,那么它会显示该目录中的所有文件,并允许浏览的子目录。有时知道一个文件存在可以帮助攻击者利用Web服务器上文件和程序的漏洞。所以的话,为了服务器上的安全,不建议启用Web服务器上的目录浏览。

  一些默认示例

  或者你不知道这个概念到底是hi什么意思,所谓的默认示例是包含在Web服务器软件中并在服务器软件安装时默认安装的应用程序。一些默认安装的示例中往往会包含安全的漏洞。面对这些事例我们最好的办法应该就是不要安装示例,如果是你已经安装了的话,那么最好把它们删除掉,这样就把安全系数提升到更高的一个级别!

  包括其他的一些服务

  高超的一些攻击者,它是可以通过攻击在Web服务器上运行的其他服务来攻陷Web服务器。这些服务它就包括了常见用的FTP、SMTP、POP3、SQL服务器和NetBiOS服务。预防的措施就是减少“受攻击面”。用户是可以关闭所有运行在Web服务器操作系统上不必要的服务并对剩下的服务进行安全地配置。

  其中最好的做法就是在Web服务器只有一个Web服务程序,并没有其他的服务。当运行数据库和其他的软件应部署在单独的服务器上,这样服务器有防火墙保护,只有Web服务器易受Web攻击。如果攻击者是想办法去利用其他服务的漏洞来攻击服务器,这样的话也是能够干扰或攻陷Web站点。

  Web服务器软件的本身的漏洞

  其实在每个Web服务器软件,包括了常见的IIS和Apache等这些大型的服务器,由于缺乏安全的编码技术,该软件的程序员已经提供了内置漏洞。比如在IIS的.htr漏洞,它允许攻击者看到驻留在服务器上的文件的内容。基本上是每周都会发布主要的Web服务器软件平台中的新漏洞

  那么Web服务器的保护呢?

  我们可以是针对上述漏洞最佳做法是遵循以下建议搭建并运行Web服务器。并且是采取以下列措施将提高Web服务器的安全性。

  1.给Web服务器服务或守护程序配置能够使它正常运行最少的权限。通过这样的设置的话即使攻击者控制了Web服务器,他们只能获得运行该软件对应的用户账户的权限。所以的话攻击计算机或网络上的其他软件可行方案这样将非常的狭窄有限了!

  2.及时的去安装最新的安全补丁并时刻关注漏洞的最新动态。

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

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

  5.确保只给需要执行的脚本单独的目录运行的相关的一个权限。

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

验证输入

  可以使用第三方安全产品

  使用商业和免费的产品也可以帮助抵御与Web服务器相关的不同漏洞,主要是有以下的一些相关的产品:

  1.软硬件防火墙

  2.Web应用防火墙(WAFs)

  3.病毒防御软件

  4.基于ISAPI的安全产品

  5.安全日志

  6.反馈分析的软件

  7.入侵检测系统(IDS)和入侵检测防御系统(IPS)

  8.漏洞扫描相关的软件

  9.输入验证

  我们再来看看这些产品具体的一些解释:

  软硬件防火墙。防火墙过滤掉不属于正常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服务器的漏洞还是比较多的,在保护的时候,可以根据问题来有针对性的去采取措施!

赞(26)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程