前言:在目前的inte.net时代,主页已成为树立公司形象和展示自我天地的一个重要手段,配置一台强大且安全的web server就显得尤其重要。在众多的web server产品中,apache是应用最为广泛的一个产品, 同时也是一个设计上非常安全的程序。但是,同其它应用程序一样,apache也存在安全缺陷。本文将详细介绍如何正确配置和维护apache web server的安全性问题等。
一、apache服务器的介绍
apache服务器它是inte.net网上应用最为广泛的web服务器软件之一。apache服务器源自美国国家超级技术计算应用中心(ncsa)的web服务器项目中。目前已在互联网中占据了领导地位。apache服务器得经过精心配置之后,才能使它适应高负荷,大吞吐量的互联网工作。快速、可靠、通过简单的api扩展,perl/python解释器可被编译到服务器中,且完全免费,完全源代码开放。如果你需要创建一个每天有数百万人访问的web服务器,apache可能是最佳选择。
正如我们前言所说尽管apache服务器应用最为广泛,设计上非常安全的程序。但是同其它应用程序一样,apache也存在安全缺陷。毕竟它是完全源代码,apache服务器的安全缺陷主要是使用http协议进行的拒绝服务攻击(denial of service)、缓冲区溢出攻击以及被攻击者获得root权限三缺陷和最新的恶意的攻击者进行“拒绝服务”(dos)攻击。合理的网络配置能够保护apache服务器免遭多种攻击。我们来介绍一下主要的安全缺陷:
(1)使用http协议进行的拒绝服务攻??(denial of service)的安全缺陷
这种方法攻击者会通过某些手段使服务器拒绝对http应答。这样会使apache对系统资源(cpu时间和内存)需求的剧增,最终造成apache系统变慢甚至完全瘫痪。
(2)缓冲区溢出的安全缺陷
该方法攻击者利用程序编写的一些缺陷,使程序偏离正常的流程。程序使用静态分配的内存保存请求数据,攻击者就可以发送一个超长请求使缓冲区溢出。比如一些perl编写的处理用户请求的网关脚本。一旦缓冲区溢出,攻击者可以执行其恶意指令或者使系统宕机。
(3)被攻击者获得root权限的安全缺陷
该安全缺陷主要是因为apache服务器一般以root权限运行(父进程),攻击者会通过它获得root权限,进而控制整个apache系统。
(4)恶意的攻击者进行“拒绝服务”(dos)攻击的安全缺陷
这个最新在6月17日发现的漏洞,它主要是存在于apache的chunk encoding中,这是一个http协议定义的用于接受web用户所提交数据的功能。 利用黑客程序可以对于运行在freebsd 4.5, openbsd 3.0 / 3.1,.netbsd 1.5.2平台上的apache服务器均可进行有效的攻击.
所有说使用最高和最新安全版本对于加强apache web服务器的安全是至关重要的。请广大apache服务器管理员去http://www.apache.org/dist/httpd/下载补丁程序以确保其web服务器安全!
三、正确维护和配置apache服务器
虽然apache服务器的开发者非常注重安全性,由于apache服务器其庞大的项目,难免会存在安全隐患。正确维护和配置apache web服务器就很重要了。我们应注意的一些问题:
(1)apache服务器配置文件
apache web服务器主要有三个配置文件,位于/usr/local/apache/conf目录下。这三个文件是:
httpd.con----->主配置文件
srm.conf------>填加资源文件
access.conf--->设置文件的访问权限
注:具体配置可以参考:http://httpd.apache.org/docs/mod/core.html
(2)apache服务器的日志文件
我们可以使用日志格式指令来控制日志文件的信息。使用logformat "%a %l"指令,可以把发出http请求浏览器的ip地址和主机名记录到日志文件。出于安全的考虑,在日志中我们应知道至少应该那些验证失败的web用户,在http.conf文件中加入logformat "%401u"指令可以实现这个目的。这个指令还有其它的许多参数,用户可以参考apache的文档。另外,apache的错误日志文件对于系统管理员来说也是非常重要的,错误日志文件中包括服务器的启动、停止以及cgi执行失败等信息。更多请参看apache日志系列1-5。
在apache server中是允许使用 .htaccess做目录安全保护的,欲读取这保护的目录需要先键入正确用户帐号与密码。这样可做为专门管理网页存放的目录或做为会员区等。
在保护的目录放置一个档案,档名为.htaccss
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器