网站地图    收藏   

主页 > 系统 > apache教程 >

apache的维护|文件-Apache教程

来源:自学PHP网    时间:2014-10-14 00:06 作者: 阅读:

[导读] ...

综述
  
  本文将讨论UNIX平台下,apache WEB服务器安装和配置的安全问题。我们假定阅读本文的系统管理员已经针对自己站点的情况选择了相关的模块,并且能够进行配置、创建和排除故障。本文的主要目的是帮助你简历一个安全的Apache歪脖(web :P)服务器。
  
  在众多的Web服务器产品中,Apache是应用最为广泛的一个产品,同时也是一个设计上非常安全的程序。但是,同其它应用程序一样,Apache也存在安全缺陷。本文主要针对三个安全缺陷进行讨论,包括:使用HTTP协议进行的拒绝服务攻击(denial of service)、3缓冲区溢出攻击以及被攻击者获得root权限。注意:合理的配置能够保护Apache免遭多种攻击,但是在网络层上的拒绝服务攻击则不是调整Apache的配置所能够防止的。本文所涉及的是使用HTTP(应用层)协议进行的拒绝服务攻击。
  
  Apache的主要缺陷
  
  • HTTP拒绝服务
  
  攻击者通过某些手段使服务器拒绝对HTTP应答。这会使Apache对系统资源(CPU时间和内存)需求的剧增,最终造成系统变慢甚至完全瘫痪。
  • 缓冲区溢出
  
  攻击者利用程序编写的一些缺陷,使程序偏离正常的流程。程序使用静态分配的内存保存请求数据,攻击者就可以发送一个超长请求使缓冲区溢出。比如一些Perl编写的处理用户请求的网关脚本。一旦缓冲区溢出,攻击者可以执行其恶意指令或者使系统宕机。
  • 被攻击者获得root权限
  
  Apache一般以root权限运行(父进程),攻击者通过它获得root权限,进而控制整个系统。
  
  获得最新的Apache
  
  使用最安全版本对于加强Apache Web服务器的安全是至关重要的。
  
  你可以从Apache的官方网站http://www.apache.org获得Apache的最新版本。
  
  配置文件的保护
  
  Apache Web服务器有三个主要的配置文件,它们一般位于/usr/local/apache/conf 目录。这三个文件是:httpd.con、srm.conf和access.conf。这些文件是整个Apache的控制中心,因此需要对三个配置文件有所了解。httpd.conf文件是主配置文件;srm.conf允许你填加资源文件;access.conf设置文件的访问权限。这些文件的配置可以参考http://httpd.apache.org/docs/mod/core.html
  
  服务器访问控制
  
  access.conf文件包含一些指令控制允许什么用户访问Apache目录。应该把deny from all作为初始化指令,然后使用allow from指令打开访问权限。你可以允许来自某个域、IP地址或者IP段的访问。例如:
  
  order deny,allow
  deny from all
  allow from sans.org
  
  密码保护
  
  使用.htaccess文件,可以把某个目录的访问权限赋予某个用户。系统管理员需要在httpd.conf或者srm.conf文件中使用AccessFileName指令打开目录的访问控制。以下是一个.htaccess示例文件:
  
  AuthName PrivateFiles
  AuthType Basic
  AuthUserFile /path/to/httpd/users
  require foo <---一个有效的用户名
  
  然后,使用如下命令填加一个用户:
  
  # htpasswd -c /path/to/httpd/users foo
  
  Apache日志文件
  
  系统管理员可以使用日志格式指令来控制日志文件的信息。使用LogFormat "%a %l"指令,可以把发出HTTP请求浏览器的IP地址和主机名记录到日志文件。出于安全的考虑,你至少应该那些验证失败的WEB用户,在http.conf文件中加入LogFormat "%401u"指令可以实现这个目的。这个指令还有其它的许多参数,用户可以参考Apache的文档。另外,Apache的错误日志文件对于系统管理员来说也是非常重要的,错误日志文件中包括服务器的启动、停止以及CGI执行失败等信息。
  
  安全相关的指令
  
  在Apache配置文件中,有一些安全相关的指令可以使用。这些指令的详细用法可以参考http://httpd.apache.org/docs/mod/directives.html。
  
  使用以下指令可以帮助你减小拒绝服务的威胁:
  
  LimitRequestbody: 数字参数,控制HTTP请求的大小。
  LimitRequestFields: 数字参数,控制请求头的数目。
  KeepAlive: 设置连接的生存期。
  KeepAliveTimeout: 限制等待请求的时间。
  
  使用以下指令可以帮助你叫嚣缓冲区溢出的危险:
  
  LimitRequestFieldSize: 限制每个请求头的大小。
  LimitRequestLine: 限制每个请求行的大小。
  
  CGI(ommon Gateway Interface,通用网关接口)的安全威胁 "apache的维护"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Server/Apache/17930.html

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论