您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

安全配置和维护Apache WEB Server

添加时间:2011-3-18  添加: admin 
  在目前的Internet时代,主页已成为树立公司形象和展示自我天地的一个重要手段,配置一台强大且安全的Web Server就显得尤其重要。在众多的Web Server产品中,Apache是应用最为广泛的一个产品, 同时也是一个设计上非常安全的程序。但是,同其它应用程序一样,Apache也存在安全缺陷。本文将详细介绍如何正确配置和维护Apache WEB Server的安全性问题等。
  一、Apache服务器的介绍
  Apache服务器它是Internet网上应用最为广泛的Web服务器软件之一。Apache服务器源自美国国家超级技术计算应用中心(NCSA)的Web服务器项目中。目前已在互联网中占据了领导地位。Apache服务器得经过精心配置之后,才能使它适应高负荷,大吞吐量的互联网工作。快速、可靠、通过简单的API扩展,Perl/Python解释器可被编译到服务器中,且完全免费,完全源代码开放。如果你需要创建一个每天有数百万人访问的Web服务器,Apache可能是最佳选择。
  二、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。
  (3)Apache服务器的目录安全认证
  在Apache Server中是允许使用 .htaccess做目录安全保护的,欲读取这保护的目录需要先键入正确用户帐号与密码。这样可做为专门管理网页存放的目录或做为会员区等。
  在保护的目录放置一个档案,档名为.htaccss
  AuthName "会员专区"
  AuthType "Basic"
  AuthUserFile "/var/tmp/xxx.pw" ----->把password放在网站外
  require valid-user   到apache/bin目录,建password档
  % ./htpasswd-c/var/tmp/xxx.pw username1----->第一次建档要用参数"-c"
  % ./htpasswd/var/tmp/xxx.pw username2
  这样就可以保护目录内的内容,进入要用合法的用户.
  注:采用了Apache内附的模组。也可以采用在httpd.conf中加入:
  options indexes followsymlinks
  allowoverride authconfig
  order allow,deny
  allow from all
      (4)Apache服务器访问控制
  我们就要看三个配置文件中的第三个文件了,即access.conf文件,它包含一些指令控制允许什么用户访问Apache目录。应该把deny from all设为初始化指令,再使用allow from指令打开访问权限。
  order deny,allow
  deny from all
  allow from safechina.net
  设置允许来自某个域、IP地址或者IP段的访问。
  (5)Apache服务器的密码保护问题
  我们再使用.htaccess文件把某个目录的访问权限赋予某个用户。系统管理员需要在httpd.conf或者srm.conf文件中使用AccessFileName指令打开目录的访问控制。如:
  AuthName PrivateFiles
  AuthType Basic
  AuthUserFile /path/to/httpd/users
  require Phoenix
  # htpasswd -c /path/to/httpd/users Phoenix
  四、设置Apache服务器的WEB和文件服务器
  我们在Apache服务器上存放WEB服务器的文件,供用户访问,并设置/home/ftp/pub目录为文件存放区域,用http://download.XXXX.com/pub/来访问。在防火墙上设置apache反向代理技术,由防火墙代理访问。
  (1)Apache服务器的设置
  apache服务器采用默认配置。主目录
  为/home/httpd/html,主机域名为Phoenix.XXXX.com,且别名到www.XXXX.com中,并且设置srm.conf加一行别名定义如下:
  Alias/pub/home/ftp/pub/
  更改默认应用程序类型定义如下:
  DefaultType application/octet-stream
  最后在/etc/httpd/conf/access.conf中增加一项定义
  Options Indexes
  AllowOverride AuthConfig
  order allow,deny
  allow from all
  注:Options Indexes允许在找不到index.html文件的情况下允许列出目录/文件列表。AllowOverride AuthConfig允许做基础的用户名和口令验证。这样的话,需要在/home/ftp/pub目录下放入.htaccess,内容如下:
      [root@shopu pub]# more .htaccess
  AuthName Branch Office Public Software Download Area
  AuthType Basic
  AuthUserFile /etc/.usrpasswd
  require valid-user

  用# htpasswd -c /etc/.usrpasswd user1  分别创建不同的允许访问/pub下文件服务的外部用户名和口令。
      (2)在防火墙上配置反向代理技术.
  在/etc/httpd/conf/httpd.conf中加入 NameVirtualHost xxx.xxx.xxx.xxx
  # xxx.xxx.xxx.xxx ----->是防火墙外部在互联网上永久IP地址
      servername www.XXXX.com
  errorlog /var/log/httpd/error_log
  transferlog /var/log/httpd/access_log
  rewriteengine on
  proxyrequests off
  usecanonicalname off
  rewriterule ^/(.*)$ http://xxx.xxx.xx.x/$1 Apache服务器的IP地址。
  servername http://download.XXXX.com/pub/
  errorlog /var/log/httpd/download/error_log
  transferlog /var/log/httpd/download/access_log
  rewriteengine on
  proxyrequests off
  usecanonicalname off
  rewriterule^/(.*)$http://xxx.xxx.xx.x/$1 同上Apache服务器的IP地址。


  设置防火墙上的DNS,让download.XXXX.com和www.XXXX.com都指向防火墙的外部网地址xxx.xxx.xxx.xxx。用http://www.XXXX.com访问主页,用http://download.XXXX.com/pub/访问公共文件的下载区。
  注:还需要在apache服务器主机上建立目录/var/log/httpd/download/,否则会出错。另外,也可以设置防火墙主机上的/home/httpd/html/index.html的属性为750来阻止访问,这是防外部用户能访问到防火墙上的Apache服务器的http://www.XXXX.com中。
  总结:Apache Server是一个非常优秀,非常棒的服务器,只要你正确配置和维护好Apache服务器,你就会感受到Apache Server 所带来的好处。

关键字:安全配置 维护 Apache WEB Server

分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站