博威---云架构决胜云计算

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1892|回复: 3

Apache服务器配置安全规范及其缺陷

[复制链接]
发表于 2007-5-2 21:38:04 | 显示全部楼层 |阅读模式
Apache服务器配置安全规范及其缺陷 2007-02-13 18:40:41
 标签:配置 安全 服务器 Apache 



正如我们前言所说尽管Apache服务器应用最为广泛,设计上非常安全的程序。但是同其它应用程序一样,Apache也存在安全缺陷。毕竟它是完全源代码,Apache服务器的安全缺陷主要是使用HTTP协议进行的拒绝服务攻击(denial of service)、缓冲区溢出攻击以及被攻击者获得root权限三缺陷和最新的恶意的攻击者进行“拒绝服务”(DoS)攻击。合理的网络配置能够保护Apache服务器免遭多种攻击。我们来介绍一下主要的安全缺陷。 主要安全缺陷 (1)使用HTTP协议进行的拒绝服务攻击(denial of service)的安全缺陷 这种方法攻击者会通过某些手段使服务器拒绝对HTTP应答。这样会使Apache对系统资源(CPU时间和内存)需求的剧增,最终造成Apache系统变慢甚至完全瘫痪。 (2)缓冲区溢出的安全缺陷 该方法攻击者利用程序编写的一些缺陷,使程序偏离正常的流程。程序使用静态分配的内存保存请求数据,攻击者就可以发送一个超长请求使缓冲区溢出。 (3)被攻击者获得root权限的安全缺陷 该安全缺陷主要是因为Apache服务器一般以root权限运行(父进程),攻击者会通过它获得root权限,进而控制整个Apache系统。 (4)恶意的攻击者进行“拒绝服务”(DoS)攻击的安全缺陷 这个最新在6月17日发现的漏洞,它主要是存在于Apache的chunk encoding中,这是一个HTTP协议定义的用于接受web用户所提交数据的功能。 所有说使用最高和最新安全版本对于加强Apache Web服务器的安全是至关重要的。 正确维护和配置Apache服务器 虽然Apache服务器的开发者非常注重安全性,由于Apache服务器其庞大的项目, 难免会存在安全隐患。正确维护和配置Apache WEB服务器就很重要了。我们应注意的一些问题: (1)Apache服务器配置文件 Apache Web服务器主要有三个配置文件,位于/usr/local/apache/conf目录下。 这三个文件是:
httpd.conf----->主配置文件srm.conf------>填加资源文件access.conf--->设置文件的访问权限
(2)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 
(3)Apache服务器访问控制 我们就要看三个配置文件中的第三个文件了,即access.conf文件,它包含一些指令控制允许什么用户访问Apache目录。应该把deny from all设为初始化指令,再使用allow from指令打开访问权限。
order deny,allowdeny from allallow from safechina.net
   设置允许来自某个域、IP地址或者IP段的访问。 (4)Apache服务器的密码保护问题 我们再使用.htaccess文件把某个目录的访问权限赋予某个用户。系统管理员需要在httpd.conf或者rm.conf文件中使用 AccessFileName指令打开目录的访问控制。如:
AuthName PrivateFilesAuthType BasicAuthUserFile /path/to/httpd/usersrequire Phoenix# htpasswd -c /path/to/httpd/users Phoenix
设置Apache服务器的WEB和文件服务器 我们在Apache服务器上存放WEB服务器的文件,供用户访问,并设置/home/ftp/pub目录为文件存放区域,用http://download.your.com/pub/来访问。在防火墙上设置apache反向代理技术,由防火墙代理访问。  (1)Apache服务器的设置  Apache服务器采用默认配置。主目录为/home/httpd/html,主机域名为Phoenix.your.com, 且别名到www.your.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@ 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.your.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.your.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.your.com和www.your.com 都指向防火墙的外部网地址xxx.xxx.xxx.xxx。 用http://www.your.com访问主页,用http://download.your.com/pub/访问公共文件的下载区。 注:还需要在apache服务器主机上建立目录/var/log/httpd/download/,否则会出错。另外,也可以设置防火墙主机上的/home/httpd/html/index.html的属性为750来阻止访问,这是防外部用户能访问到防火墙上的Apache服务器的http://www.your.com中。  总结:Apache Server是一个非常优秀,非常棒的服务器,只要你正确配置和维护好Apache服务器,你就会感受到Apache Server 所带来的好处,同样希望你能够通过阅读本文达到理论和实践双丰收的目的。 验证你的Apache来源途径 不要以为在Google上能够搜索到合适的Apache版本。如果你需要下载最新版本的Apache,那么你最好通过一个权威的镜像站点来下载。然而,即使这样也可能有问题,事实上,曾经就有黑客入侵过apache.org官方网站。所以,采用类似PGP的工具来验证Apache的数字签名就显得尤为重要。 保持更新Apache的补丁程序 如果你安装了Apache,你就必须及时更新安全补丁。如果没有及时的更新,那你的系统很容易受到网络上那些高危病毒的攻击。幸好,有几个简便方法可以更新Apache的补丁。参考我们关于保持更新Apache补丁的文章了解更多关于Apache服务器公告列表、Linux包管理系统和RedHat操作系统更新服务的信息。 避免使用.htaccess文件(分布式配置文件) 很多情况下需要几个管理员和内容管理者共同管理Apache服务器。一个常用的共享管理办法就是使用.htaccess文件,这样可以很灵活地对管理员以外的用户提供不同的配置控制权限。然而,这些文件也使得在集中安全管理之外还有相当多的安全控制权限——这些文件允许安全专业人士以外的其他用户改变服务器的访问控制许可配置。那些对粒度访问控制根本不熟悉的用户修改的配置可能在无意中会危害到你的系统安全。所以,除非必须使用,否则我们应该尽可能地避免使用这种访问控制系统。xiong2127 51cto技术博客
监视系统日志 Apache为管理员提供了很全面的日志管理工具来对服务器的活动进行事后分析。Apache提供了多种不同的记录日志,但是对安全专业人士最重要的是访问日志。这个灵活的工具还具有了相当多的自定义功能,你可以按照你的需要很方便地记录尽可能多或者少的日志,以保证有效的分析。至少,你应该记录那些失败的认证企图和系统产生的错误。使用像AWStats一样的免费工具可以很轻松地完成分析任务。但是必须明确的一点是:监视日志只是一种事后分析手段。你可以利用它回顾和判断对服务器的攻击(和攻击企图),但是希望及时查看日志来对紧急情况做出快速反应是不可能的。如果需要进行预判反应,你应该考虑使用入侵预防系统如信息安全杂志评选的2003年度最新兴技术奖得主:Lucid Security公司的ipAngel系统。 管理文件系统 我们已经讨论了使用(或不使用).htaccess文件对管理文件访问权限的重要性。禁止通过文件系统许可对Apache服务器进行非授权修改也是很重要的。特别值得一提的是,你应该保证只有根用户才能修改存储在“/usr/local/apache ”目录的文件(或者你选择的任何Apache服务器的根目录)。确保只有根用户才能修改日志文件也很关键,这样可以防止用户掩盖他们的操作。 Apache 服务器日常配置 1、如何设 置请求等待时间 在httpd.conf里面设置:
TimeOut n
其中n为整数,单位是秒。 设置这个TimeOut适用于三种情况: 2、如何接收一个get请求的总时间 接收一个post和put请求的TCP包之间的时间 TCP包传输中的响应(ack)时间间隔 3、如何使得apache监听在特定的端口 修改httpd.conf里面关于Listen的选项,例如:
Listen 8000
是使apache监听在8000端口 而如果要同时指定监听端口和监听地址,可以使用:
Listen 192.170.2.1:80Listen 192.170.2.5:8000
这样就使得apache同时监听在192.170.2.1的80端口和192.170.2.5的8000端口。 当然也可以在httpd.conf里面设置:
Port 80
这样来实现类似的效果。 4、如何设置apache的最大空闲进程数 修改httpd.conf,在里面设置:
MaxSpareServers n
其中n是一个整数。这样当空闲进程超过n的时候,apache主进程会杀掉多余的空闲进程而保持空闲进程在n,节省了系统资源。如果在一个apache非常繁忙的站点调节这个参数才是必要的,但是在任何时候把这个参数调到很大都不是一个好主意。 同时也可以设置:
MinSpareServers n
来限制最少空闲进程数目来加快反应速度。 5、apache如何设置启动时的子服务进程个数 在httpd.conf里面设置:
StartServers 5
这样启动apache后就有5个空闲子进程等待接受请求。 也可以参考MinSpareServers和MaxSpareServers设置。 6、如何在apache中设置每个连接的最大请求数 在httpd.conf里面设置:
MaxKeepAliveRequests 100
这样就能保证在一个连接中,如果同时请求数达到100就不再响应这个连接的新请求,保证了系统资源不会被某个连接大量占用。但是在实际配置中要求尽量把这个数值调高来获得较高的系统性能。 7、如何在apache中设置session的持续时间 在apache1.2以上的版本中,可以在httpd.conf里面设置:
KeepAlive onKeepAliveTimeout 15
这样就能限制每个session的保持时间是15秒。session的使用可以使得很多请求都可以通过同一个tcp连接来发送,节约了网络资源和系统资源。 8、如何使得apache对客户端进行域名验证 可以在httpd.conf里面设置:
HostnameLookups on off double
如果是使用on,那么只有进行一次反查,如果用double,那么进行反查之后还要进行一次正向解析,只有两次的结果互相符合才行,而off就是不进行域名验证。 如果为了安全,建议使用double;为了加快访问速度,建议使用off。 9、如何使得apache只监听在特定的ip 修改httpd.conf,在里面使用
BindAddress 192.168.0.1
这样就能使得apache只监听外界对192.168.0.1的http请求。如果使用:
BindAddress *
就表明apache监听所有网络接口上的http请求。 当然用防火墙也可以实现。 10、apache中如何限制http请求的消息主体的大小 在httpd.conf里面设置:
LimitRequestBody n
n是整数,单位是byte。cgi脚本一般把表单里面内容作为消息的主体提交给服务器处理,所以现在消息主体的大小在使用cgi的时候很有用。比如使用cgi来上传文件,如果有设置:
LimitRequestBody 102400
那么上传文件超过100k的时候就会报错。 11、如何修改apache的文档根目录 修改httpd.conf里面的DocumentRoot选项到指定的目录,比如:
DocumentRoot /www/htdocs
这样http://localhost/index.html就是对应/www/htdocs/index.html 12、如何修改apache的最大连接数 在httpd.conf中设置:
MaxClients n
n是整数,表示最大连接数,取值范围在1和256之间,如果要让apache支持更多的连接数,那么需要修改源码中的httpd.h文件,把定义的HARD_SERVER_LIMIT值改大然后再编译。 13、如何使每个用户有独立的cgi-bin目录 有两种可选择的方法: (1)在Apache配置文件里面关于public_html的设置后面加入下面的属性:
ScriptAliasMatch ^/~([^/]*)/cgi-bin/(.*) /home/$1/cgi-bin/$2(2)在Apache配置文件里面关于public_html的设置里面加入下面的属性:<CENTER><ccid_nobr><table width="400" border="1" cellspacing="0" cellpadding="2"  bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center"><tr>    <td bgcolor="e6e6e6" class="code" style="font-size:9pt">    <pre><ccid_code>  Options ExecCGISetHandler cgi-script
14、如何调整Apache的最大进程数 Apache允许为请求开的最大进程数是256,MaxClients的限制是256.如果用户多了,用户就只能看到Waiting for reply....然后等到下一个可用进程的出现。这个最大数,是Apache的程序决定的--它的NT版可以有1024,但Unix版只有256,你可以在src/include/httpd.h中看到:
#ifndef HARD_SERVER_LIMIT#ifdef WIN32#define HARD_SERVER_LIMIT 1024#else#define HARD_SERVER_LIMIT 256#endif#endif
你可以把它调到1024,然后再编译你的系统。 15、如何屏蔽来自某个Internet地址的用户访问Apache服务器 可以使用deny和allow来限制访问,比如要禁止202.202.202.xx网络的用户访问:
order deny,allowdeny from 202.202.202.0/24
  
16、如何在日志里面记录apache浏览器和引用信息 你需要把mod_log_config编译到你的Apache服务器中,然后使用下面类似的配置: CustomLog logs/access_log "%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"" 17、如何修改Apache返回的头部信息 问题分析:当客户端连接到Apache服务器的时候,Apache一般会返回服务器版本、非缺省模块等信息,例如:
Server: Apache/1.3.26 (Unix) mod_perl/1.26
解决: 你可以在Apache的配置文件里面作如下设置让它返回的关于服务器的信息减少到最少:
ServerTokens Prod
注意: 这样设置以后Apache还会返回一定的服务器信息,比如:
Server: Apache
但是这个不会对服务器安全产生太多的影响,因为很多扫描软件是扫描的时候是不顾你服务器返回的头部信息的。你如果想把服务器返回的相关信息变成:
Server: It iS a nOnE-aPaCHe Server
那么你就要去修改源码了。




















































































































































 楼主| 发表于 2007-5-2 21:39:44 | 显示全部楼层
Apache服务器的主要安全缺陷  

正如我们前言所说尽管Apache服务器应用最为广泛,设计上非常安全的程序。但是同其它应用程序一样,Apache也存在安全缺陷。毕竟它是完全源代码,Apache服务器的安全缺陷主要是使用HTTP协议进行的拒绝服务攻击(denial of service)、缓冲区溢出攻击以及被攻击者获得root权限三缺陷和最新的恶意的攻击者进行“拒绝服务”(DoS)攻击。合理的网络配置能够保护Apache服务器免遭多种攻击。我们来介绍一下主要的安全缺陷:
  (1)使用HTTP协议进行的拒绝服务攻击(denial of service)的安全缺陷
  这种方法攻击者会通过某些手段使服务器拒绝对HTTP应答。这样会使Apache对系统资源(CPU时间和内存)需求的剧增,最终造成Apache系统变慢甚至完全瘫痪。
  (2)缓冲区溢出的安全缺陷
  该方法攻击者利用程序编写的一些缺陷,使程序偏离正常的流程。程序使用静态分配的内存保存请求数据,攻击者就可以发送一个超长请求使缓冲区溢出。
  (3)被攻击者获得root权限的安全缺陷
  该安全缺陷主要是因为Apache服务器一般以root权限运行(父进程),攻击者会通过它获得root权限,进而控制整个Apache系统。
  (4)恶意的攻击者进行“拒绝服务”(DoS)攻击的安全缺陷
  这个最新在6月17日发现的漏洞,它主要是存在于Apache的chunk encoding中,这是一个HTTP协议定义的用于接受web用户所提交数据的功能。 所有说使用最高和最新安全版本对于加强Apache Web服务器的安全是至关重要的。
  请广大Apache服务器管理员去[url=http://www.apache.org/dist/httpd/]http://www.apache.org/dist/httpd/[/url]下载补丁程序以确保其WEB服务器安全!chding 51cto技术博客

  正确维护和配置Apache服务器chding 51cto技术博客
  虽然Apache服务器的开发者非常注重安全性,由于Apache服务器其庞大的项目, 难免会存在安全隐患。正确维护和配置Apache WEB服务器就很重要了。我们应注意的一些问题:chding 51cto技术博客
  (1)Apache服务器配置文件
  Apache Web服务器主要有三个配置文件,位于/usr/local/apache/conf目录下。 这三个文件是:chding 51cto技术博客
  httpd.conf----->主配置文件
  srm.conf------>填加资源文件
  access.conf--->设置文件的访问权限chding 51cto技术博客
  注:具体配置可以参考:[url=http://httpd.apache.org/docs/mod/core.html]http://httpd.apache.org/docs/mod/core.html[/url]chding 51cto技术博客
  (2)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 这样就可以保护目录内的内容,进入要用合法的用户.chding 51cto技术博客
  注:采用了Apache内附的模组。chding 51cto技术博客
  也可以采用在httpd.conf中加入: 
  options indexes followsymlinks 
  allowoverride authconfig 
  order allow,deny 
  allow from all chding 51cto技术博客
  (3)Apache服务器访问控制chding 51cto技术博客
  我们就要看三个配置文件中的第三个文件了,即access.conf文件,它包含一些指令控制允许什么用户访问Apache目录。应该把deny from all设为初始化指令,再使用allow from指令打开访问权限。chding 51cto技术博客
  
  
  order deny,allow
  deny from all
  allow from safechina.net
  
  
  设置允许来自某个域、IP地址或者IP段的访问。chding 51cto技术博客

  (4)Apache服务器的密码保护问题chding 51cto技术博客
  我们再使用.htaccess文件把某个目录的访问权限赋予某个用户。系统管理员需要在httpd.conf或者rm.conf文件中使用 AccessFileName指令打开目录的访问控制。如:chding 51cto技术博客
  AuthName PrivateFiles
  AuthType Basic
  AuthUserFile /path/to/httpd/users
  require Phoenix
  # htpasswd -c /path/to/httpd/users Phoenixchding 51cto技术博客
  设置Apache服务器的WEB和文件服务器 chding 51cto技术博客
  我们在Apache服务器上存放WEB服务器的文件,供用户访问,并设置/home/ftp/pub目录为文件存放区域,用[url=http://download.your.com/pub/]http://download.your.com/pub/[/url]来访问。在防火墙上设置apache反向代理技术,由防火墙代理访问。 
 
  (1)Apache服务器的设置 
  apache服务器采用默认配置。主目录为/home/httpd/html,主机域名为Phoenix.your.com, 且别名到[url=http://www.your.com/]www.your.com[/url]中, 并且设置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@ 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 [url=http://www.your.com/]www.your.com[/url] 
  errorlog /var/log/httpd/error_log 
  transferlog /var/log/httpd/access_log 
  rewriteengine on 
  proxyrequests off 
  usecanonicalname off 
  rewriterule ^/(.*)$ [url=http://xxx.xxx.xx.x/$1]http://xxx.xxx.xx.x/$1[/url] Apache服务器的IP地址。 chding 51cto技术博客
  servername [url=http://download.your.com/pub/]http://download.your.com/pub/[/url]
  errorlog /var/log/httpd/download/error_log 
  transferlog /var/log/httpd/download/access_log 
  rewriteengine on 
  proxyrequests off 
  usecanonicalname off 
  rewriterule ^/(.*)$ [url=http://xxx.xxx.xx.x/$1]http://xxx.xxx.xx.x/$1[/url] 同上Apache服务器的IP地址。chding 51cto技术博客
  设置防火墙上的DNS,让download.your.com和[url=http://www.your.com/]www.your.com[/url] 都指向防火墙的外部网地址xxx.xxx.xxx.xxx。
[url=http://www.your.com/]http://www.your.com[/url]访问主页,用[url=http://download.your.com/pub/]http://download.your.com/pub/[/url]访问公共文件的下载区。chding 51cto技术博客
  注:还需要在apache服务器主机上建立目录/var/log/httpd/download/,否则会出错。另外,也可以设置防火墙主机上的/home/httpd/html/index.html的属性为750来阻止访问,这是防外部用户能访问到防火墙上的Apache服务器的[url=http://www.your.com/]http://www.your.com[/url]中。 chding 51cto技术博客
  总结:Apache Server是一个非常优秀,非常棒的服务器,只要你正确配置和维护好Apache服务器,
你就会感受到Apache Server 所带来的好处,同样希望你能够通过阅读本文达到理论和实践双丰收的目的。chding 51cto技术博客
    验证你的Apache来源途径chding 51cto技术博客
    不要以为在Google上能够搜索到合适的Apache版本。如果你需要下载最新版本的Apache,那么你最好通过一个权威的镜像站点来下载。然而,即使这样也可能有问题,事实上,曾经就有黑客入侵过apache.org官方网站。所以,采用类似PGP的工具来验证Apache的数字签名就显得尤为重要。chding 51cto技术博客
  保持更新Apache的补丁程序chding 51cto技术博客
    如果你安装了Apache,你就必须及时更新安全补丁。如果没有及时的更新,那你的系统很容易受到网络上那些高危病毒的攻击。幸好,有几个简便方法可以更新Apache的补丁。参考我们关于保持更新Apache补丁的文章了解更多关于Apache服务器公告列表、Linux包管理系统和RedHat操作系统更新服务的信息。chding 51cto技术博客
  避免使用.htaccess文件(分布式配置文件)chding 51cto技术博客
    很多情况下需要几个管理员和内容管理者共同管理Apache服务器。一个常用的共享管理办法就是使用.htaccess文件,这样可以很灵活地对管理员以外的用户提供不同的配置控制权限。然而,这些文件也使得在集中安全管理之外还有相当多的安全控制权限——这些文件允许安全专业人士以外的其他用户改变服务器的访问控制许可配置。那些对粒度访问控制根本不熟悉的用户修改的配置可能在无意中会危害到你的系统安全。所以,除非必须使用,否则我们应该尽可能地避免使用这种访问控制系统。如果需要了解更多相关信息,可以参考“摒弃Apache服务器中的.htaccess文件”这篇文章。chding 51cto技术博客
  监视系统日志chding 51cto技术博客
    Apache为管理员提供了很全面的日志管理工具来对服务器的活动进行事后分析。Apache提供了多种不同的记录日志,但是对安全专业人士最重要的是访问日志。这个灵活的工具还具有了相当多的自定义功能,你可以按照你的需要很方便地记录尽可能多或者少的日志,以保证有效的分析。至少,你应该记录那些失败的认证企图和系统产生的错误。使用像AWStats一样的免费工具可以很轻松地完成分析任务。但是必须明确的一点是:监视日志只是一种事后分析手段。你可以利用它回顾和判断对服务器的攻击(和攻击企图),但是希望及时查看日志来对紧急情况做出快速反应是不可能的。如果需要进行预判反应,你应该考虑使用入侵预防系统如信息安全杂志评选的2003年度最新兴技术奖得主:Lucid Security公司的ipAngel系统。chding 51cto技术博客
  管理文件系统chding 51cto技术博客
    我们已经讨论了使用(或不使用).htaccess文件对管理文件访问权限的重要性。禁止通过文件系统许可对Apache服务器进行非授权修改也是很重要的。特别值得一提的是,你应该保证只有根用户才能修改存储在“/usr/local/apache ”目录的文件(或者你选择的任何Apache服务器的根目录)。确保只有根用户才能修改日志文件也很关键,这样可以防止用户掩盖他们的操作。
    Apache 服务器日常配置
1、如何设 置请求等待时间
  在httpd.conf里面设置:
  TimeOut n
  其中n为整数,单位是秒。
  设置这个TimeOut适用于三种情况:
2、如何接收一个get请求的总时间
  接收一个post和put请求的TCP包之间的时间
  TCP包传输中的响应(ack)时间间隔
3、如何使得apache监听在特定的端口
  修改httpd.conf里面关于Listen的选项,例如:
  Listen 8000
  是使apache监听在8000端口
  而如果要同时指定监听端口和监听地址,可以使用:
  Listen 192.170.2.1:80
  Listen 192.170.2.5:8000
  这样就使得apache同时监听在192.170.2.1的80端口和192.170.2.5的8000端口。
  当然也可以在httpd.conf里面设置:
  Port 80
  这样来实现类似的效果。
4、如何设置apache的最大空闲进程数
  修改httpd.conf,在里面设置:
  MaxSpareServers n
  其中n是一个整数。这样当空闲进程超过n的时候,apache主进程会杀掉多余的空闲进程而保持空闲进程在n,节省了系统资源。如果在一个apache非常繁忙的站点调节这个参数才是必要的,但是在任何时候把这个参数调到很大都不是一个好主意。
  同时也可以设置:
  MinSpareServers n
  来限制最少空闲进程数目来加快反应速度。
5、apache如何设置启动时的子服务进程个数
  在httpd.conf里面设置:
  StartServers 5
  这样启动apache后就有5个空闲子进程等待接受请求。
  也可以参考MinSpareServers和MaxSpareServers设置。
6、如何在apache中设置每个连接的最大请求数
  在httpd.conf里面设置:
  MaxKeepAliveRequests 100
  这样就能保证在一个连接中,如果同时请求数达到100就不再响应这个连接的新请求,保证了系统资源不会被某个连接大量占用。但是在实际配置中要求尽量把这个数值调高来获得较高的系统性能。
7、如何在apache中设置session的持续时间
  在apache1.2以上的版本中,可以在httpd.conf里面设置:
  KeepAlive on
  KeepAliveTimeout 15
  这样就能限制每个session的保持时间是15秒。session的使用可以使得很多请求都可以通过同一个tcp连接来发送,节约了网络资源和系统资源。
8、如何使得apache对客户端进行域名验证
  可以在httpd.conf里面设置:
  HostnameLookups on off double
  如果是使用on,那么只有进行一次反查,如果用double,那么进行反查之后还要进行一次正向解析,只有两次的结果互相符合才行,而off就是不进行域名验证。
  如果为了安全,建议使用double;为了加快访问速度,建议使用off。
9、如何使得apache只监听在特定的ip
  修改httpd.conf,在里面使用
  BindAddress 192.168.0.1
  这样就能使得apache只监听外界对192.168.0.1的http请求。如果使用:
  BindAddress *
  就表明apache监听所有网络接口上的http请求。
  当然用防火墙也可以实现。
10、apache中如何限制http请求的消息主体的大小
  在httpd.conf里面设置:
  LimitRequestBody n
  n是整数,单位是byte。
  cgi脚本一般把表单里面内容作为消息的主体提交给服务器处理,所以现在消息主体的大小在使用cgi的时候很有用。比如使用cgi来上传文件,如果有设置:
  LimitRequestBody 102400
  那么上传文件超过100k的时候就会报错。
11、如何修改apache的文档根目录
  修改httpd.conf里面的DocumentRoot选项到指定的目录,比如:
  DocumentRoot /www/htdocs
  这样[url=http://localhost/index.html]http://localhost/index.html[/url]就是对应/www/htdocs/index.html
12、如何修改apache的最大连接数
  在httpd.conf中设置:
  MaxClients n
  n是整数,表示最大连接数,取值范围在1和256之间,如果要让apache支持更多的连接数,那么需要修改源码中的httpd.h文件,把定义的HARD_SERVER_LIMIT值改大然后再编译。
13、如何使每个用户有独立的cgi-bin目录
  有两种可选择的方法:
  (1)在Apache配置文件里面关于public_html的设置后面加入下面的属性:
  ScriptAliasMatch ^/~([^/]*)/cgi-bin/(.*) /home/$1/cgi-bin/$2
  (2)在Apache配置文件里面关于public_html的设置里面加入下面的属性:
  
    Options ExecCGI
    SetHandler cgi-scriptchding 51cto技术博客
14、如何调整Apache的最大进程数
  Apache允许为请求开的最大进程数是256,MaxClients的限制是256.如果用户多了,用户就只能看到Waiting for reply....然后等到下一个可用进程的出现。这个最大数,是Apache的程序决定的--它的NT版可以有1024,但Unix版只有256,你可以在src/include/httpd.h中看到:
  #ifndef HARD_SERVER_LIMIT
  #ifdef WIN32
  #define HARD_SERVER_LIMIT 1024
  #else
  #define HARD_SERVER_LIMIT 256
  #endif
  #endif
  你可以把它调到1024,然后再编译你的系统。
15、如何屏蔽来自某个Internet地址的用户访问Apache服务器
  可以使用deny和allow来限制访问,比如要禁止202.202.202.xx网络的用户访问:
  
  order deny,allow
  deny from 202.202.202.0/24
  
16、如何在日志里面记录apache浏览器和引用信息
  你需要把mod_log_config编译到你的Apache服务器中,然后使用下面类似的配置:
  CustomLog logs/access_log "%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i""
17、如何修改Apache返回的头部信息
  问题分析:当客户端连接到Apache服务器的时候,Apache一般会返回服务器版本、非缺省模块等信息,例如:
  Server: Apache/1.3.26 (Unix) mod_perl/1.26
  解决:
  你可以在Apache的配置文件里面作如下设置让它返回的关于服务器的信息减少到最少:
  ServerTokens Prod
  注意:
  这样设置以后Apache还会返回一定的服务器信息,比如:
  Server: Apache
  但是这个不会对服务器安全产生太多的影响,因为很多扫描软件是扫描的时候是不顾你服务器返回的头部信息的。你如果想把服务器返回的相关信息变成:
  Server: It iS a nOnE-aPaCHe Server
  那么你就要去修改源码了。
 楼主| 发表于 2007-5-2 21:41:46 | 显示全部楼层
Apache服务器的安全性及实现

--------------------------------------------------------------------------------

2007-01-03 16:29:55 标签:安全 服务器 Apache 


【摘要】作为网管人员最担心Web服务器遭到攻击,一旦遭到攻击,网站的所有信息可能面目全非,直到整个Web系统全面瘫痪。因此,选择安全性能好的Web服务器软件尤其重要。作为Internet 上最流行的Web服务器软件,Apache的安全性经受了时间和市场的双重检验。取得了惊人的成功。了解Apache Server的特性,并进行合理的配置将是每一个站点管理维护或开发人员必须关
注的问题。

  一、Apache 服务器的功能
  
  Apache Serve的前身是NCSA的httpd,曾经在1995年成为最为流行的万维网的服务器。因为强大的功能和灵活的设置及平台移植性,Apache Server取得了广泛的信赖。Apache Server的主要功能有:

  1、支持最新的HTTP1.1协议(RFC2616)。
  2、极强的可配置和可扩展性,充分利用第三方模快的功能。
  3、提供全部的源代码和不受限制的使用许可(License)。
  4、广泛应用于Windows 2000/NT/9x、Netware 5.x,OS/2 和UNIX家族极其他操作系统,所支持的平台多达17余种。
  5、强大的功能,涵盖了用户的需求,包括:认证中的DBM数据库支持;错误和问题的可定制响应的目录导向功能;不受限的灵活的URL别名机制和重定向功能;虚拟主机(多宿主主机)支持多个域主页共存一台主机;超强的日志文件功能;利用站点的分析;拓展于维护等等。

  正因为这些强大的优势,使Apache Server与其他的Web服务器相比,充分展示了高效、稳定及功能丰富的特点。Apache Server 已用于超过600万个Internet站点。

  二、Apache 服务器的安全特性

  作为最流行的Web服务器,Apache Server提供了较好的安全特性,使其能够应对可能的安全威胁和信息泄漏。

1、采用选择性访问控制和强制性访问控制的安全策略

  从Apache 或Web的角度来讲,选择性访问控制DAC(Discretionary Access Control)仍是基于用户名和密码的,强制性访问控制MAC(Mandatory Access Control)则是依据发出请求的客户端的IP地址或所在的域号来进行界定的。对于DAC方式,如输入错误,那么用户还有机会更正,从新输入正确的的密码;如果用户通过不了MAC关卡,那么用户将被禁止做进一步的操作,除非服务器作出安全策略调整,否则用户的任何努力都将无济于事。

  2、Apache 的安全模块

  Apache 的一个优势便是其灵活的模块结构,其设计思想也是围绕模块(Modules)概念而展开的。安全模块是Apache Server中的极其重要的组成部分。这些安全模块负责提供Apache Server的访问控制和认证、授权等一系列至关重要的安全服务。

  mod_access模块能够根据访问者的IP地址(或域名,主机名等)来控制对Apache服务器的访问,称之为基于主机的访问控制。

  mod_auth模块用来控制用户和组的认证授权(Authentication)。用户名和口令存于纯文本文件中。mod_auth_db和mod_auth_dbm模块则分别将用户信息(如名称、组属和口令等)存于Berkeley-DB及DBM型的小型数据库中,便于管理及提高应用效率。

  mod_auth_digest模块则采用MD5数字签名的方式来进行用户的认证,但它相应的需要客户端的支持。

  mod_auth_anon模块的功能和mod_auth的功能类似,只是它允许匿名登录,将用户输入的E-mail地址作为口令。

  SSL(Secure Socket Lager),被Apache所支持的安全套接字层协议,提供Internet上安全交易服务,如电子商务中的一项安全措施。通过对通讯字节流的加密来防止敏感信息的泄漏。但是,Apache的这种支持是建立在对Apache的API扩展来实现的,相当于一个外部模块,通过与第三方程序的结合提供安全的网上交易支持。


三、Apache服务器的安全配置

  在前面的内容中提到过,Apache具有灵活的设置。所有Apache的安全特性都要经过周密的设计与规划,进行认真地配置才能够实现。Apache服务器的安全配置包括很多层面,有运行环境、认证与授权设置及建立安全的电子交易链接等。

  1、Apache的安装配置和运行

  (
1)以Nobody用户运行一般情况下,Apache是由Root 来安装和运行的。如果Apache Server进程具有Root用户特权,那么它将给系统的安全构成很大的威胁,应确保Apache Server进程以最可能低的权限用户来运行。通过修改httpd.conf文件中的下列选项,以Nobody用户运行Apache 达到相对安全的目的。

  User nobody
  Group# -1

  (2) ServerRoot目录的权限

  为了确保所有的配置是适当的和安全的,需要严格控制Apache 主目录的访问权限,使非超级用户不能修改该目录中的内容。Apache 的主目录对应于Apache Server配置文件httpd.conf的Server Root控制项中,应为:

  Server Root /usr/local/apache

  (3)SSI的配置

  在配置文件access.conf 或httpd.conf中的确Options指令处加入IncludesNOEXEC选项,用以禁用Apache Server 中的执行功能。避免用户直接执行Apache 服务器中的执行程序,而造成服务器系统的公开化。

  
  Options Includes Noexec
  

  (4)阻止用户修改系统设置

  在Apache 服务器的配置文件中进行以下的设置,阻止用户建立、修改 .htaccess文件,防止用户超越能定义的系统安全特性。

  
  AllowOveride None
  Options None
  Allow from all
  

  然后再分别对特定的目录进行适当的配置。

  (5)Apache 服务器的确省访问特性

  Apache 的默认设置只能保障一定程度的安全,如果服务器能够通过正常的映射规则找到文件,那么客户端便会获取该文件,如http://local host/~ root/ 将允许用户访问整个文件系统。在服务器文件中加入如下内容:

  
  order deny,ellow
  Deny from all
  

  将禁止对文件系统的缺省访问。

  (6)CGI脚本的安全考虑

  CGI脚本是一系列可以通过Web服务器来运行的程序。为了保证系统的安全性,应确保CGI的作者是可信的。对CGI而言,最好将其限制在一个特定的目录下,如cgi-bin之下,便于管理;另外应该保证CGI目录下的文件是不可写的,避免一些欺骗性的程序驻留或混迹其中;如果能够给用户提供一个安全性良好的CGI程序的模块作为参考,也许会减少许多不必要的麻烦和安全隐患;除去CGI目录下的所有非业务应用的脚本,以防异常的信息泄漏。

  以上这些常用的举措可以给Apache Server 一个基本的安全运行环境,显然在具体实施上还要做进一步的细化分解,制定出符合实际应用的安全配置方案。

 四、Apache Server基于主机的访问控制

  Apache Server默认情况下的安全配置是拒绝一切访问。假定Apache Server内容存放在/usr/local/apache/share 目录下,下面的指令将实现这种设置:

  

  Deny from all
  AllowOverride None
  

  则禁止在任一目录下改变认证和访问控制方法。

  同样,可以用特有的命令Deny、Allow指定某些用户可以访问,哪些用户不能访问,提供一定的灵活性。当Deny、Allow一起用时,用命令Order决定Deny和Allow合用的顺序。

  1、拒绝某类地址的用户对服务器的访问权(Deny)

  如:Deny from all
  Deny from test.cnn.com
  Deny from 204.168.190.13
  Deny from 10.10.10.0/255.255.0.0

  2、允许某类地址的用户对服务器的访问权(Allow)

  如:Allow from all
  Allow from test.cnn.com
  Allow from 204.168.190.13
  Allow from 10.10.10.0/255.255.0.0
  Deny和Allow指令后可以输入多个变量。

  3、实例:

  Order Allow, Deny
  Allow from all
  Deny from www.***.com

  则,想让所有的人访问Apache服务器,但不希望来自www.***.com的任何访问。

  Order Deny, Allow
  Deny from all
  Allow from test.cnn.com

  则,不想让所有人访问,但希望给test.cnn.com网站的来访。

  有关访问控制的高级设置请阅读UNIX系统管理书籍。

  五、Apache Sever的用户认证与授权

  概括的讲,用户认证就是验证用户的身份的真实性,如用户帐号是否在数据库中,及用户帐号所对应的密码是否正确;用户授权表示检验有效用户是否被许可访问特定的资源。在Apache中,几乎所有的安全模块实际上兼顾这两个方面。从安全的角度来看,用户的认证和授权相当于选择性访问控制。

  建立用户的认证授权需要三个步骤:

  (1)建立用户库

  用户名和口令列表需要存在于文件(mod_auth模块)或数据库(mod_auth_dbm模块)中。基于安全的原因,该文件不能存放在文挡的根目录下。如,存放在/usr/local/etc/httpd下的users文件,其格式与UNIX口令文件格式相似,但口令是以加密的形式存放的。应用程序htpasswd可以用来添加或更改程序:

  htpasswd -c /usr/local/etc/httpd/users martin

-c表明添加新用户,martin为新添加的用户名,在程序执行过程中,两次输入口令回答。用户名和口令添加到users文件中。产生的用户文件有如下的形式:

  martin:WrU808BHQai36
  jane:iABCQFQs40E8M
  art:FadHN3W753sSU

  第一域是用户名,第二个域是用户密码。

(2)配置服务器的保护域

  为了使Apache服务器能够利用用户文件中的用户名和口令信息,需要设置保护域(Realm)。一个域实际上是站点的一部分(如一个目录、文档等)或整个站点只供部分用户访问。在相关目录下的.htaccess文件或httpd.conf(acces.conf)中的段中,由AuthName来指
定被保护层的域。在.htaccess文件中对用户文件有效用户的授权访问及指定域保护有如下指定:

  AuthName “restricted stuff”
  Authtype Basic
  AuthUserFile /usr/local/etc/httpd/users
  Require valid-user

  其中,AuthName指出了保护域的域名(Realm Name)。valid-user参数意味着user文件中的所有用户都是可用的。一旦用户输入了一个有效的用户/口令时,同一个域内的其他资源都可以利用同样的用户/口令来进行访问,同样可以使两个不同的区域共用同样的用户/口令。

  (3)告诉服务器哪些用户拥有资源的访问权限

  如果想将一资源的访问权限授予一组客户,可以将他们的名字都列在Require之后。最好的办法是利用组(group)文件。组的操作和标准的UNIX的组的概念类似,任一个用户可以属于一个和数个组。这样就可以在配置文件中利用Require对组赋予某些权限。如:

  Require group staff
  Require group staff admin
  Require user adminuser

  指定了一个组、几个组或一个用户的访问权限。

  需要指出的是,当需要建立大批用户帐号时,那么Apache服务器利用用户文件数据库将会极大地降低效率。这种情况下,最好采用数据库格式的帐号文件,譬如 DBM数据库格式的文件。还可以根据需要利用db格式(mod_auth_db)的数据文件,或者直接利用数据库,如:mSQL(mod_auth_msql)或DBI兼容的数据库(mod_auth_dbi)。

  六、在Apache中使用DBM用户认证

  DBM 文件是一种简单而标准的用于加快读取效率的保存信息的方法。文件中存放的每一个记录由两个部分组成部分:键和值。由于DBM的格式,使得与键相关的信息非常有效。在Web用户认证中,这里的键将是用户名,而与该键相关的值将是该用户经过加密的口令信息。从DBM文件中查找用户名和口令,要比从一个纯文本文件中查找有效得多。对于有很多用户的站点,这种方法将大大提高用户认证的效率。

  (1) 在Apache服务器中增加DBM模块

  在默认的条件下,Apache不使用DBM文件来完成用户认证,因此编译时一定要加入可选的DBM认证模块。重新配置Apache服务器文件,去掉其中的注释行

  #Module dbm_auth_module mod_auth_dbm.o

  前的“#”,并重新编译。但是,在编译之前,需要指出Apache DBM函数的位置。

  (2) 创建DBM用户文件(假设文件名为users)

  Apache提供了一个“dbmmanage”的程序,用于创建和管理DBM文件。其中:

  Dbmmanage /usr/local/etc/httpd/usersdbm     创建DBM文件
  Dbmmanage /usr/local/etc/httpd/users adduser martin hamster 新增用户
  Dbmmanage /usr/local/etc/httpd/usersdbm delete martin   删除用户
  Dbmmanage /usr/local/etc/httpd/usersdbm view 显示DBM中所有用户

  有了DBM数据库文件,还要替换目录访问控制,即将Apache配置文件(access.conf)中的AuthUserFile部分替换成:AuthUserFile /usr/local/etc/usersdbm 告诉Apache现在的用户文件是DBM的格式。

  以上内容,是作者在长期的网站管理工作中的一点积累。由于篇幅的关系,只能作粗略的描述,远不能表达清楚Apache服务器的安全使用。安全是相对的,严防是绝对的。只有及时了解最新的安全信息,掌握最新的安全技术、工具,根据实际情况,制定安全策略,才能及时有效地抵御各种各样的网上“侵略者”。
 楼主| 发表于 2007-5-2 21:47:10 | 显示全部楼层
轻轻松松把 apache 配置安全

--------------------------------------------------------------------------------

2007-01-12 13:04:20 标签:配置 安全 Apache 


声明:关于安全的事情没有保证的或者绝对的。这些建议可以让你的服务器更安全,但不要认为遵循这些建议后你的服务器就理所当然是安全的。
  另外,在这些建议中有的建议可能会降低服务器性能或者因为你的环境引起问题。我建议所作的任何改变是否适合你的需求完全由你决定。换句话说,那是你的风险。
  一、确保你安装的是最新的补丁
  如果门是敞开的话,在窗户上加锁就毫无意义。同样道理,如果你没有打补丁,继续下面的操作就没有什么必要。
  二、隐藏Apache的版本号及其它敏感信息
  默认情况下,很多Apache安装时会显示版本号及操作系统版本,甚至会显示服务器上安装的是什么样的Apache模块。这些信息可以为黑客所用,并且黑客还可以从中得知你所配置的服务器上的很多设置都是默认状态。
  这里有两条语句,你需要添加到你的httpd.conf文件中:
  ServerSignature Off
  ServerTokens Prod
  ServerSignature出现在Apache所产生的像404页面、目录列表等页面的底部。ServerTokens目录被用来判断Apache会在Server HTTP响应包的头部填充什么信息。如果把ServerTokens设为Prod,那么HTTP响应包头就会被设置成:
  Server:Apache
  如果你非常想尝试其它事物,你可以通过编辑源代码改成不是Apache的其它东西,或者你可以通过下面将要介绍的mod_security实现。
  三、确保Apache以其自身的用户账号和组运行
  有的Apache安装过程使得服务器以nobody的用户运行,所以,假定Apache和你的邮件服务器都是以nobody的账号运行的,那么通过Apache发起的攻击就可能同时攻击到邮件服务器,反之亦然。
  User apache
  Group apache
  四、确保web根目录之外的文件没有提供服务
  我们不让Apache访问web根目录之外的任何文件。假设你的所以web站点文件都放在一个目录下(例如/web),你可以如下设置:
  Order Deny,Allow
  Deny from all
  Options None
  AllowOverride None
  Order Allow,Deny
  Allow from all
  注意,因为我们设置Opitins None 和AllowOverride None,这将关闭服务器的所有Option和Override。你现在必须明确把每个目录设置成Option或者Override。
五、关闭目录浏览
  你可以在Directory标签内用Option命令来实现这个功能。设置Option为None或者-Indexes。
  Options -Indexes
  六、关闭includes
  这也可以通过在Directory标签内使用Option命令来实现。设置Option为None或者-Includes。
  Options -Includes
  七、关闭CGI执行程序
  如果你不用CGI,那么请把它关闭。在目录标签中把选项设置成None或-ExecCGI就可以:
  Options -ExecCGI
  八、禁止Apache遵循符号链接
  同上,把选项设置成None或-FollowSymLinks:
  Options -FollowSymLinks
  九、关闭多重选项
如果想关闭所有选项,很简单:
  Options None
  如果只想关系一些独立的选项,则通过将Options做如下设置可实现:
  Options -ExecCGI -FollowSymLinks -Indexes
  十、关闭对.htaccess文件的支持
  在一个目录标签中实现:
  AllowOverride None
  如果需要重载,则保证这些文件不能够被下载,或者把文件名改成非.htaccess文件。比如,我们可以改成.httpdoverride文件,然后像下面这样阻止所有以.ht打头的文件:
  AccessFileName .httpdoverride
  Order allow,deny
  Deny from all
  Satisfy All
  十一、运行mod_security
  Run mod_security是O’Reilly出版社出版的Apache Security一书的作者,Ivan Ristic所写的一个非常好用的一个Apache模块。可以用它实现以下功能:
  ·简单过滤
  ·基于过滤的常规表达式
  ·URL编码验证
  ·Unicode编码验证
  ·审计
  ·空字节攻击防止
  ·上载存储限制
  ·服务器身份隐藏
  ·内置的Chroot支持
  ·更多其它功能
  十二、关闭任何不必要的模块
  Apache通常会安装几个模块,浏览Apache的module documentation,了解已安装的各个模块是做什么用的。很多情况下,你会发现并不需要激活那些模块。
  找到httpd.conf中包含LoadModule的代码。要关闭这些模块,只需要在代码行前添加一个#号。要找到正在运行的模块,可以用以下语句:
  grep LoadModule httpd.conf
  以下模块通常被激活而并无大用:mod_imap, mod_include, mod_info, mod_userdir, mod_status, mod_cgi, mod_autoindex。还有问题请来论坛寻求帮助:http://www.xxlinux.com/bbs/
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|boway Inc. ( 冀ICP备10011147号 )

GMT+8, 2024-5-17 15:41 , Processed in 0.179947 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表