.asa、.htr、.idc、.shtm、. shtml、.stm、.printer等,通过这些程序映射,IIS就能知道对于什么样的文件该调用什么样的动态链接库文件来进行解析处理。但是,在这些程序映射中,除了.asp的这个程序映射,其它的文件在网站上都很少用到。而且在这些程序映射中,.htr、.idq/ida、.printer等多个程序映射都已经被发现存在缓存溢出问题,入侵者可以利用这些程序映射中存在的缓存溢出获得系统的权限。即使已经安装了系统最新的补丁程序,仍然没法保证安全。所以我们需要将这些不需要的程序映射删除。在“Internet服务管理器”中,右击网站目录,选择“属性”,在网站目录属性对话框的“主目录”页面中,点击“配置”按钮,弹出“应用程序配置”对话框,在“应用程序映射”页面,删除无用的程序映射。如果需要这一类文件时,必须安装最新的系统修补程序以解决程序映射存在的问题,并且选中相应的程序映射,再点击“编辑”按钮,在“添加/编辑应用程序扩展名映射”对话框中勾选 “检查文件是否存在”选项。这样当客户请求这类文件时,IIS会先检查文件是否存在,文件存在后才会去调用程序映射中定义的动态链接库来解析。
3.2.2 APACHE平台
作为最流行的Web服务平台,Apache Server提供了较好的安全特性,使其能够应对可能的安全威胁和漏洞。
3.2.2.1 APACHE服务器的安全特性
Apache 的安全模块 mod_access模块能够根据访问者的IP地址(或域名,主机名等)来控制对Apache服务器的访问,称之为基于主机的访问控制。mod_auth 模块用来控制用户和组的认证授权(Authentication)。用户名和口令存于纯文本文件中。mod_auth_db和 mod_auth_dbm模块则分别将用户信息(如名称、组属和口令等)存于Berkeley-DB及DBM型的小型数据库中,便于管理及提高应用效率。mod_auth_digest模块则采用MD5数字签名的方式来进行用户的认证,但它相应的需要客户端的支持。mod_auth_anon模块的功能和mod_auth的功能类似,只是它允许匿名登录,将用户输入的E-mail地址作为口令。mod_ssl模块是安全套接字层协议SSL在Apache下的实现,为Internet上安全交易提供服务,如电子商务。通过对通讯字节流的加密来防止敏感信息的泄漏。Apache的这种支持是建立在对Apache的API扩展来实现的,相当于一个外部模块,通过与第三方程序的结合提供安全的网上交易支持。
3.2.2.2 APACHE主要的安全缺陷
使用HTTP协议进行的拒绝服务攻击(denial of service):这种攻击方法的攻击者会通过某些手段使服务器拒绝对正常HTTP请求做出的应答。主要是使Apache对系统资源(CPU时间和内存)需求剧增,最终造成Apache系统变慢甚至完全瘫痪。
缓冲区溢出:该方法攻击者利用程序编写的一些缺陷,使程序偏离正常的流程。程序使用静态分配的内存保存请求数据,攻击者就可以发送一个超长请求使缓冲区溢出。
攻击者获得root权限:该安全缺陷主要是因为Apache服务器一般以root权限运行,攻击者会通过它获得root权限,进而控制整个Apache系统。
3.2.2.3 APACHE的安全配置
Apache Web服务器主要有三个配置文件,均位于/usr/local/apache/conf目录下。这三个文件是:httpd.conf主配置文件,srm.conf添加资源文件,access.conf设置文件的访问权限。Apache的一些功能实现和安全配置主要是在httpd.conf文件中进行。
以Nobody用户运行 一般情况下,Apache是由Root 来安装和运行的。如果Apache Server进程具有Root用户特权,那么它将给系统的安全构成很大的威胁,应确保Apache Server进程以最可能低的权限用户来运行。通过修改httpd.conf文件中的User选项,以Nobody用户运行Apache可以达到相对安全的目的。
ServerRoot目录的权限 为了确保所有的配置是适当的和安全的,需要严格控制Apache 主目录的访问权限,使非超级用户不能修改该目录中的内容。Apache 的主目录对应于Apache Server配置文件httpd.conf的Server Root控制项中,应为:Server Root /usr/local/apache
SSI的配置 在配置文件access.conf 或httpd.conf中的Options指令处加入Includes NO EXEC选项,用以禁用Apache Server 中的执行功能。避免用户直接执行Apache 服务器中的执行程序,而造成服务器系统的公开化。Options Includes No exec
阻止用户修改系统设置 在Apache 服务器的配置文件httpd.conf中进行以下的设置,阻止用户建立、修改 .htaccess文件,防止用户超越能定义的系统安全特性。AllowOveride None Options None Allow from all 然后再分别对特定的目录进行适当的配置。
改变Apache 服务器的确省访问特性 Apache 的默认设置只能保障一定程度的安全,如果服务器能够通过正常的映射规则找到文件,那么客户端便会获取该文件,如http://local host/~ root/ 将允许用户访问整个文件系统。在服务器的配置文件httpd.conf中加入如下内容:order deny,ellow Deny from all将禁止对文件系统的缺省访问。
4 程序安全
4.1 ASP程序
ASP全称Active Server Pages,是微软推出的用来取代CGI(Common Gateway Interface)的动态服务器网页技术。使用它可以创建和运行动态、交互的 Web 服务器应用程序。使用 ASP 可以组合 HTML 页、脚本命令和 ActiveX 组件以创建交互的 Web 页和基于 Web 的功能强大的应用程序。ASP可运行的服务器端平台包括:WinNT、Win2k、WinXP和Win2003,在Win98环境下装上PWS4.0也可以运行。由于ASP比较简单易学,又有微软这个强大后台的支持,所以应用比较广泛,所发现的缺陷和针对各程序的漏洞也比较多。
我们这里主要讨论ASP的两个安全问题:源代码泄露和SQL注入。
4.1.1 源代码泄露
由于ASP程序采用的是非编译性语言,这大大降低了程序源代码的安全性。任何人只要进入站点,就可以获得源代码,从而造成ASP应用程序源代码的泄露。黑客常常使用在URL后加::$DATA 、 .htr、\、伒茸址床榭丛创耄玫接没兔苈耄酉吕吹娜肭肿鲎急浮;蛘咧苯拥玫绞菘獾刂罚锏交竦猛臼莸哪康摹
对ASP页面进行加密为有效地防止ASP源代码泄露,可以对ASP页面进行加密。一般有两种方法对ASP页面进行加密。一种是使用组件技术将编程逻辑封装入DLL之中;另一种是使用微软的Script Encoder对ASP页面进行加密。使用组件技术存在的主要问题是每段代码均需组件化,操作比较烦琐,工作量较大;而使用Script Encoder对ASP页面进行加密,操作简单、收效良好。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



