网站运营
位置:首页>> 网站运营>> UNIX下apache服务器的维护(2)

UNIX下apache服务器的维护(2)

 来源:asp之家 发布时间:2010-05-04 18:26:00 

标签:apache,unix

  
  安全相关的指令
  
  在Apache配置文件中,有一些安全相关的指令可以使用。这些指令的详细用法可以参考http://httpd.apache.org/docs/mod/directives.html。
  
  使用以下指令可以帮助你减小拒绝服务的威胁:
  
  LimitRequestbody: 数字参数,控制HTTP请求的大小。
  LimitRequestFields: 数字参数,控制请求头的数目。
  KeepAlive: 设置连接的生存期。
  KeepAliveTimeout: 限制等待请求的时间。
  
  使用以下指令可以帮助你叫嚣缓冲区溢出的危险:
  
  LimitRequestFieldSize: 限制每个请求头的大小。
  LimitRequestLine: 限制每个请求行的大小。
  
  CGI(ommon Gateway Interface,通用网关接口)的安全威胁
  
  CGI的安全性非常重要,攻击者可以利用CGI的缺陷获得系统信息、执行系统命令、占用系统资源。如果一个CGI程序使用静态分配的内存,就可能为缓冲区溢出攻击提供机会。为了减少这种风险,程序员应该在CGI代码中使用动态分配内存。除了CGI编写人员应该注意外,系统管理员可以采取对CGI进行封装(例如:suEXEC或者CGI Wrap)的办法加强CGI的安全性。通过这种方式可以使CGI程序以某个独立的用户权限运行,即使发生缓冲区溢出,也只影响那个用户的目录/文件。
  
  perl是一种功能非常强大的脚本语言。主要用于文本的处理,程序员还可以通过perl脚本使用系统调用。如果程序编写的不好,就会为攻击者闯入服务器大开方便之门。因此,使用perl脚本一定要小心,以免出现此类漏洞。在perl脚本中,处理请求数据之前,最好能够调用专门的检查例程对输入的合法性进行检查。除此之外,还要确保Apache不是以root的权限运行的,Perl脚本被限制在某个特定的目录下运行。
  
  SSI(Server-Side Includes)的安全
  
  使用SSI,程序员可以建立一些常用的例程,在需要时把这些例程包含进他们的代码中。SSI还允许有条件地执行外部程序,攻击者可能利用这个条件让服务器执行他们的恶意程序。在access.conf文件中使用IncludesNoEXEC指令,可以关闭执行SSI文件的功能。不过这条指令会造成服务器不执行CGI脚本或者程序。
  
  其它安全工具
  
  使用TCP Wrappers和Tripwire可以为你的系统提供额外的保护。你可以使用TCP Wrappers来控制Telnet或者FTP的访问权限。Tripwire是一个数据完整性检测工具,可以帮助系统管理员监视系统是否被改动过,你可以在Tripwire的配置文件中编制特定的策略,监视Web服务器的配置文件、数据和CGI文件是否被修改。
  
  总结
  
  Apache是一个优秀的歪脖服务器,虽然Apache的开发者非常注重其安全性,但是由于Apache非常庞大,难免会存在安全隐患。Apache的安装维护中需要注意以下问题:
  
  ? 检查文件和目录的权限是否恰当。
  ? httpd.conf、srm.conf和access.conf的设置是否适当
  ? 使服务器日志文件能够记录尽可能详细的信息。
  ? 对某些需要特别保护的目录使用密码保护(.htaccess)。
  ? 对CGI脚本或者程序进行封装。
  ? 如果CGI使用Perl编写,要详细检查其安全性
  ? 检查SSI指令
  ? 使用TCP Wrappers和Tripwire。
  
  作 者: renyubous(一只耳)

0
投稿

猜你喜欢

手机版 网站运营 asp之家 www.aspxhome.com