当前位置:七道奇文章资讯系统安全Linux安全
日期:2011-06-03 17:19:00  来源:本站整理

Apache配置文件httpd.conf[Linux安全]

赞助商链接



  本文“Apache配置文件httpd.conf[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
  ServerRoot /usr/local ServerRoot用于指定保护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变成这个目录,因此假如设置文件中指定的文件或目录是相对途径,那么真实途径就位于这个ServerR oot定义的途径之下. ScoreBoardFile /var/run/ht
  ServerRoot "/usr/local"
  ServerRoot用于指定保护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变成这个目录,因此假如设置文件中指定的文件或目录是相对途径,那么真实途径就位于这个ServerR oot定义的途径之下.
  ScoreBoardFile /var/run/httpd.scoreboard
  httpd利用ScoreBoardFile来保护进程的内部数据,因此普通不需求改变这个参数,除非管理员想在一台计算机上运行几个Apache服务器,这时每个Apache服务器都需求独立的设置文件httpd.conf,并利用差别的ScoreBoardFile.
  #ResourceConfig conf/srm.conf
  #AccessConfig conf/access.conf
  这两个参数ResourceConfig和AccessConfig,就用于和利用srm.conf和access.conf设置文件的老版本Apache兼容.假如没有兼容的需求,可以将对应的设置文件指定为/dev/null,这将表示不存在其他设置文件,而仅利用httpd.conf一个文件来保存全部的设置选项.
  PidFile /var/run/httpd.pid
  PidFile指定的文件将记录httpd保护进程的进程号,由于httpd能自动复制其自身,因此系统中有多个httpd进程,但只有一个进程为最初启动的进程,它为其他进程的父进程,对这个进程发送信号将影响全部的httpd进程.PidFILE定义的文件中就记录httpd父进程的进程号.
  Timeout 300
  Timeout定义客户程序和服务器衔接的超时隔断,超越这个时间隔断(秒)后服务器将断开与客户机的衔接.
  KeepAlive On
  在HTTP 1.0中,一次衔接只能作传输一次HTTP恳求,而KeepAlive参数用于支持HTTP 1.1版本的一次衔接、多次传输功效,这样便可以在一次衔接中传送多个HTTP恳求.固然只有较新的浏览器才支持这个功效,但还是翻开利用这个选项.
  MaxKeepAliveRequests 100
  MaxKeepAliveRequests为一次衔接可以举行的HTTP恳求的最大恳求次数.将其值设为0将支持在一次衔接内举行无限次的传输恳求.事实上没有客户程序在一次衔接中恳求太多的页面,普通达不到这个上限就完成衔接了.
  KeepAliveTimeout 15
  KeepAliveTimeout测试一次衔接中的多次恳求传输之间的时间,假如服务器已经完成了一次恳求,但一向没有接纳到客户程序的下一次恳求,在隔断超越了这个参数设置的值之后,服务器就断开衔接.
  ThreadsPerChild 50
  设置服务器利用进程的数目.
  # 这是以服务器的呼应速度为准的, 数目太大则会变慢
  MaxRequestsPerChild 30
  利用子进程的方法供应服务的Web服务,常用的方法是一个子进程为一次衔接服务,这样造成的问题就是每次衔接都需求生成、退出子进程的系统操作,使得这些额外的处理历程占据了计算机的大量处理本领.因此最好的方法是一个子进程可认为多次衔接恳求服务,这样就不需求这些生成、退出进程的系统损耗,Apache就采取了这样的方法,一次衔接完毕后,子进程并不退出,而是逗留在系统中等候下一次服务恳求,这样就极大的提高了性能.
  但由于在处理历程中子进程要不断的申请和释放内存,次数多了就会造成一些内存垃圾,就会影响系统的安定性,并且影响系统资源的有效操纵.因此在一个副本处理过一定次数的恳求之后,便可以让这个子进程副本退出,再从原始的htt pd进程中重新复制一个干净的副本,这样就可以提高系统的安定性.这样,每个子进程处理服务恳求次数由MaxRe questPerChild定义. 缺省的设置值为30,这个值关于具有高安定性特点的FreeBSD系统来说是过于保守的设置,可以设置为1000乃至更高,设置为0支持每个副本举行无限次的服务处理.
  为了安全,设置为零
  #Listen 3000
  #Listen 12.34.56.78:80
  #BindAddress *
  Listen参数可以指定服务器除了监督尺度的80端口之外,还监督其他端口的HTTP恳求.由于FreeBSD系统可以同时拥有多个IP地址,因此也可以指定服务器只听取对某个BindAddress< /B>的IP地址的HTTP恳求.假如没有配置这一项,则服务器会回应对全部IP的恳求.
  即便利用了BindAddress参数,使得服务器只回应对一个IP地址的恳求,但是通过利用扩大的Listen参数,仍旧可以让HTTP保护进程回应对其他IP地址的恳求.此时Listen参数的用法与上面的第二个例子相同.这种对比复杂的用法主要用于设置虚拟主机.此后可以用VirtualHost参数定义对差别IP的虚拟主机,但是这种用法是较早的HTTP 1.0尺度中设置虚拟主机的办法,每针对一个虚拟主机就需求一个IP地址,实际上用处并不大.在HTTP 1.1中,增添了对单IP地址多域名的虚拟主机的支持,使得虚拟主机的设置具有更大的意义.
  #ExtendedStatus On
  Apache服务器可以通过特别的HTTP恳求,来报告自身的运行状况,翻开这个ExtendedStatus 参数可以让服务器报告更全面的运行状况信息
  ---------------------------------------------------------------------------------
  ServerAdmin you@your.address
  配置文件中应当改变的大概只有ServerAdmin, 这一项用于配置WWW服务器的管理员的email地址,这将在HTTP服务呈现错误的条件下返回给浏览器,以便让Web利用者和管理员接洽,报告错误.习惯上利用服务器上的webmaster作为WWW服务器的管理员,通过邮件服务器的别名机制,将发送到webmaster 的电子邮件发送给真正的Web管理员.
  ServerName localhost
  缺省情形下,并不需求指定这个ServerName参数,服务器将自动通过名字解析历程来得到自己的名字,但假如服务器的名字解析有问题(普通为反向解析不精确),大概没有正式的DNS名字,也可以在这里指定I P地址.当ServerName设置不精确的时刻,服务器不能正常启动.
  普通一个Web服务器可以具有多个名字,客户浏览器可以利用全部这些名字或IP地址来拜候这台服务器,但在没有定义虚拟主机的情形下,服务器老是以自己的正式名字回应浏览器.ServerName就定义了Web服务器自己承认的正式名字,比方一台服务器名字(在DNS中定义了A范例)为freebsd.exmaple.org.cn,同时为了便利记忆还定义了一个体名(CNAME记录)为www.exmaple.org.cn,那么Apache自动解析得到的名字就为freebsd.example.org.cn,这样不管客户浏览器利用哪个名字发送恳求,服务器老是奉告客户程序自己为freebsd.example.org.cn.固然这普通并不会造成什么问题,但是考虑到某一天服务器大概迁移到其他计算机上,而只想通过更改DNS中的www别名配置就完成迁移任务,所以不想让客户在其书签中利用 freebsd记录下这个服务器的地址,就必须利用ServerName来重新指定服务器的正式名字.
  DocumentRoot "/usr/local/www/data"
  DocumentRoot定义这个服务器对外公布的超文本文档存放的途径,客户程序恳求的UR L就被映射为这个目录下的网页文件.这个目录下的子目录,以及利用标记衔接指出的文件和目录都能被浏览器拜候,只是要在URL上利用一样的相对目录名.
  注意,标记衔接固然逻辑上位于根文档目录之下,但实际上可以位于计算机上的肆意目录中,因此可以使客户程序能拜候那些根文档目录之外的目录,这在增添了机动性的同时但削减了安全性.Apache在目录的拜候掌握中供应了FollowSymLinks选项来翻开或关闭支持标记衔接的特点.
  <Directory />
  Options FollowSymLinks
  AllowOverride None
  </Directory>
  Apache服务器可以针对目录举行文档的拜候掌握,但是拜候掌握可以通过两种方法来实现,一个是在设置文件 httpd.conf(或access.conf)中针对每个目录举行设置,另一个办法是在每个目录下设置拜候掌握文件,普通拜候掌握文件名字为.htaccess.固然利用这两个方法都能用于掌握浏览器的拜候,但是利用配置文件的办法要求每次窜改后重新启动httpd保护进程,对比不机动,因此主要用于配置服务器系统的整体安全掌握战略,而利用每个目录下的.htaccess文件设置具体目录的拜候掌握更为机动便利.
  <Directory "H:/web001">
  Directory语句就是用来定义目录的拜候限制的,这里可以看出它的尺度语法,为一个目录定义拜候限制.上例的这个设置是针对系统的根目录举行的,设置了答应标记衔接的选项FollowSymLinks ,以及利用AllowOverride None表示不答应这个目录下的拜候掌握文件来改变这里举行的配置,这也意味着不用查看这个目录下的呼应拜候掌握文件.
  由于Apache对一个目录的拜候掌握设置是可以被下一级目录担当的,因此对根目录的设置将影响到它的下级目录.注意由于AllowOverride None的设置,使得Apache服务器不需求查看根目录下的拜候掌握文件,也不需求查看以下各级目录下的拜候掌握文件,直至httpd.conf(或access.conf )中为某个目录指定了答应Alloworride,即答应查看拜候掌握文件.由于Apache对目录拜候掌握是采取的担当方法,假如从根目录就答应查看拜候掌握文件,那么Apache就必须一级一级的查看拜候掌握文件,对系统性能会造成影响.而缺省关闭了根目录的这个特点,就使得Apache从httpd.conf中具体指定的目录向下搜索,削减了搜索的级数,增添了系统性能.因此关于系统根目录设置AllowOverride None不但关于系统安全有帮忙,也有益于系统性能.
  Options Indexes FollowSymLinks
  AllowOverride None
  Order allow,deny
  Allow from all
  </Directory>
  这里定义的是系统对外公布文档的目录的拜候设置,设置差别的AllowOverride选项,以定义配置文件中的目录设置和用户目录下的安全掌握文件的关系,而Options选项用于定义该目录的特点.
  配置文件和每个目录下的拜候掌握文件都可以设置拜候限制,设置文件是由管理员设置的,而每个目录下的拜候掌握文件是由目录的属主设置的,因此管理员可以规定目录的属主能否能覆盖系统在设置文件中的设置,这就需求利用 AllowOverride参数举行设置,普通可以设置的值为:
  AllowOverride的设置 对每个目录拜候掌握文件作用的影响
  All 缺省值,使拜候掌握文件可以覆盖系统配置
  None 服务器忽视拜候掌握文件的设置
  Options 答应拜候掌握文件中可以利用Options参数定义目录的选项
  FileInfo 答应拜候掌握文件中可以利用AddType等参数设置
  AuthConfig 答应拜候掌握文件利用AuthName,AuthType等针对每个用户的认证机制,这使目录属主能用口令和用户名来保护目录
  Limit 答应对拜候目录的客户机的IP地址和名字举行限制
  每个目录具有一定属性,可以利用Options来掌握这个目录下的一些拜候特点设置,以下为常用的特点选项:
  Options设置 服务器特点设置
  All 全部的目录特点都有效,这是缺省状况
  None 全部的目录特点都无效
  FollowSymLinks 答应利用标记衔接,这将使浏览器有大概拜候文档根目录(DocumentRoot)之外的文档
  SymLinksIfOwnerMatch 只有标记衔接的目的与标记衔接本身为同一用户所拥有时,才答应拜候,这个设置将增添一些安全性
  ExecCGI 答应这个目录下可以履行CGI程序
  Indexes 答应浏览器可以生成这个目录下全部文件的索引,使得在这个目录下没有index.html(或其他索引文件)时,能向浏览器发送这个目录下的文件列表
  此外,上例中还利用了Order、Allow、Deny等参数,这是Limit语句顶用来按照浏览器的域名和 IP地址来掌握拜候的一种方法.此中Order定义处理Allow和Deny的次序,而Allow、Deny则针对名字或IP举行拜候掌握设置,上例利用allow from all,表示答应全部的客户机拜候这个目录,而不举行任何限制.
  UserDir public_html (Win32="My Documents/My Website")
  当在一台FreeBSD上运行Apache服务器时,这台计算机上的全部用户都可以有自己的网页途径,形如 http://freebsd.example.org.cn/~user,利用波浪标记加上用户名便可以映射到用户自己的网页目录上.映射目录为
  以上是“Apache配置文件httpd.conf[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 教您玩转Apache服务器及虚拟主机
  • Linux下Apache自动监测重启脚本(智能化程度较高)
  • 配置Apache避免webshell上传
  • apache限制某个目录下的php文件没有履行权限
  • Apache+Mysql+PHP搭建LAMP平台
  • Ubuntu Apache Rewrite 加载
  • Ubuntu下Apache的Rewrite若何启用
  • Ubuntu 10.10安装Apache等环境
  • Ubuntu Server+Apache 运行 asp.net
  • Ubuntu Apache 伪静态配置 url重写
  • Ubuntu + Apache2编写简单的cgi脚本
  • Ubuntu下配置Apache2.0及其相关安装
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .