<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[阿Tim日志]]></title> 
<link>https://atim.cn/index.php</link> 
<description><![CDATA[专业的php开发者.开发团队的带队人]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[阿Tim日志]]></copyright>
<item>
<link>https://atim.cn/post//</link>
<title><![CDATA[正确配置和维护Apache WEB Server 安全性]]></title> 
<author>bkkkd &lt;partybase@gmail.com&gt;</author>
<category><![CDATA[软件应用]]></category>
<pubDate>Tue, 20 Dec 2005 07:44:17 +0000</pubDate> 
<guid>https://atim.cn/post//</guid> 
<description>
<![CDATA[ 
	<table cellspacing="0" cellpadding="0" width="600" align="center" border="0"><tbody><tr><td colspan="2" height="20"></td></tr><tr><td class="content3" colspan="2"><p>　　<strong>Apache服务器的主要安全缺陷<br /></strong><br />　　正如我们前言所说尽管Apache服务器应用最为广泛，设计上非常安全的程序。但是同其它应用程序一样，Apache也存在安全缺陷。毕竟它是完全源代码，Apache服务器的安全缺陷主要是使用HTTP协议进行的拒绝服务攻击(denial of service)、缓冲区溢出攻击以及被攻击者获得root权限三缺陷和最新的恶意的攻击者进行“拒绝服务”(DoS)攻击。合理的网络配置能够保护Apache服务器免遭多种攻击。我们来介绍一下主要的安全缺陷：<br /><br />　　（1）使用HTTP协议进行的拒绝服务攻击(denial of service)的安全缺陷<br /><br />　　这种方法攻击者会通过某些手段使服务器拒绝对HTTP应答。这样会使Apache对系统资源(CPU时间和内存)需求的剧增，最终造成Apache系统变慢甚至完全瘫痪。<br /><br />　　（2）缓冲区溢出的安全缺陷<br /><br />　　该方法攻击者利用程序编写的一些缺陷，使程序偏离正常的流程。程序使用静态分配的内存保存请求数据，攻击者就可以发送一个超长请求使缓冲区溢出。<br /><br />　　（3）被攻击者获得root权限的安全缺陷<br /><br />　　该安全缺陷主要是因为Apache服务器一般以root权限运行(父进程)，攻击者会通过它获得root权限，进而控制整个Apache系统。<br /><br />　　（4）恶意的攻击者进行“拒绝服务”(DoS)攻击的安全缺陷<br /><br />　　这个最新在6月17日发现的漏洞，它主要是存在于Apache的chunk encoding中，这是一个HTTP协议定义的用于接受web用户所提交数据的功能。 所有说使用最高和最新安全版本对于加强Apache Web服务器的安全是至关重要的。<br /><br />　　请广大Apache服务器管理员去http://www.apache.org/dist/httpd/下载补丁程序以确保其WEB服务器安全！<br /><br />　　<strong>正确维护和配置Apache服务器<br /></strong><br />　　虽然Apache服务器的开发者非常注重安全性，由于Apache服务器其庞大的项目， 难免会存在安全隐患。正确维护和配置Apache WEB服务器就很重要了。我们应注意的一些问题：<br /><br />　　（1）Apache服务器配置文件<br /><br />　　Apache Web服务器主要有三个配置文件，位于/usr/local/apache/conf目录下。 这三个文件是：<br /><br />　　httpd.conf-----&gt;主配置文件<br />　　srm.conf------&gt;填加资源文件<br />　　access.conf---&gt;设置文件的访问权限<br /><br /><strong>　　注：</strong>具体配置可以参考：http://httpd.apache.org/docs/mod/core.html<br /><br />　　（2）Apache服务器的目录安全认证<br /><br />　　在Apache Server中是允许使用 .htaccess做目录安全保护的，欲读取这保护的目录需要先键入正确用户帐号与密码。这样可做为专门管理网页存放的目录或做为会员区等。在保护的目录放置一个档案，档名为.htaccss <br />　　AuthName &quot;会员专区&quot; <br />　　AuthType &quot;Basic&quot; <br />　　AuthUserFile &quot;/var/tmp/xxx.pw&quot; -----&gt;把password放在网站外 require valid-user 到apache/bin目录，建password档 % ./htpasswd -c /var/tmp/xxx.pw username1 -----&gt;第一次建档要用参数&quot;-c&quot; % /htpasswd /var/tmp/xxx.pw username2 这样就可以保护目录内的内容，进入要用合法的用户．<br /><br /><strong>　　注：</strong>采用了Apache内附的模组。<br /><br />　　也可以采用在httpd.conf中加入：　 <br />　　options　indexes　followsymlinks　 <br />　　allowoverride　authconfig　 <br />　　order　allow,deny　 <br />　　allow　from　all　<br /><br />　　（3）Apache服务器访问控制<br /><br />　　我们就要看三个配置文件中的第三个文件了，即access.conf文件，它包含一些指令控制允许什么用户访问Apache目录。应该把deny from all设为初始化指令，再使用allow from指令打开访问权限。<br /><br />　　&lt;directory /usr/local/http/docs/private&gt;<br />　　&lt;limit&gt;<br />　　order deny,allow<br />　　deny from all<br />　　allow from safechina.net<br />　　&lt;/limit&gt;<br />　　&lt;/directory&gt;<br />　　设置允许来自某个域、IP地址或者IP段的访问。<br /><br /><br />　　（4）Apache服务器的密码保护问题<br /><br />　　我们再使用.htaccess文件把某个目录的访问权限赋予某个用户。系统管理员需要在httpd.conf或者rm.conf文件中使用 AccessFileName指令打开目录的访问控制。如：<br /><br />　　AuthName PrivateFiles<br />　　AuthType Basic<br />　　AuthUserFile /path/to/httpd/users<br />　　require Phoenix<br />　　# htpasswd -c /path/to/httpd/users Phoenix<br /><br />　　<strong>设置Apache服务器的WEB和文件服务器</strong> <br /><br />　　我们在Apache服务器上存放WEB服务器的文件，供用户访问，并设置/home/ftp/pub目录为文件存放区域，用http://download.your.com/pub/来访问。在防火墙上设置apache反向代理技术，由防火墙代理访问。　 <br />　 <br />　　（1）Apache服务器的设置　<br /><br />　　apache服务器采用默认配置。主目录为/home/httpd/html,主机域名为Phoenix.your.com, 且别名到www.your.com中,　并且设置srm.conf加一行别名定义如下：<br /><br />　　Alias　/pub　/home/ftp/pub/　<br /><br />　　更改默认应用程序类型定义如下：　 <br />　　DefaultType　application/octet-stream　<br /><br />　　最后在/etc/httpd/conf/access.conf中增加一项定义　 <br />　　Options　Indexes　 <br />　　AllowOverride　AuthConfig　 <br />　　order　allow,deny　 <br />　　allow　from　all　<br /><br /><strong>　　注：</strong>Options　Indexes允许在找不到index.html文件的情况下允许列出目录/文件列表。AllowOverride　AuthConfig允许做基本的用户名和口令验证。这样的话，需要在/home/ftp/pub目录下放入.htaccess，内容如下：　 <br />　　[root@　pub]#　more　.htaccess　 <br />　　AuthName　Branch　Office　Public　Software　Download　Area　 <br />　　AuthType　Basic　 <br />　　AuthUserFile　/etc/.usrpasswd　 <br />　　require　valid-user　 <br />　　用# htpasswd　-c　/etc/.usrpasswd　user1　 分别创建不同的允许访问/pub下文件服务的外部用户名和口令。<br />　 <br />　　（2）在防火墙上配置反向代理技术.<br />　 <br />　　在/etc/httpd/conf/httpd.conf　 中加入 NameVirtualHost　xxx.xxx.xxx.xxx #　xxx.xxx.xxx.xxx -----&gt;是防火墙外部在互联网上永久IP地址　 <br />　　servername　www.your.com　 <br />　　errorlog　/var/log/httpd/error_log　 <br />　　transferlog　/var/log/httpd/access_log　 <br />　　rewriteengine　on　 <br />　　proxyrequests　off　 <br />　　usecanonicalname　off　 <br />　　rewriterule　^/(.*)$　http://xxx.xxx.xx.x/$1　Apache服务器的IP地址。 </p><p>　　servername　http://download.your.com/pub/ <br />　　errorlog　/var/log/httpd/download/error_log　 <br />　　transferlog　/var/log/httpd/download/access_log　 <br />　　rewriteengine　on　 <br />　　proxyrequests　off　 <br />　　usecanonicalname　off　 <br />　　rewriterule　^/(.*)$　http://xxx.xxx.xx.x/$1　同上Apache服务器的IP地址。<br /><br />　　设置防火墙上的DNS，让download.your.com和www.your.com 都指向防火墙的外部网地址xxx.xxx.xxx.xxx。<br />用http://www.your.com访问主页，用http://download.your.com/pub/访问公共文件的下载区。<br /><br /><strong>　　注：</strong>还需要在apache服务器主机上建立目录/var/log/httpd/download/，否则会出错。另外，也可以设置防火墙主机上的/home/httpd/html/index.html的属性为750来阻止访问，这是防外部用户能访问到防火墙上的Apache服务器的http://www.your.com中。　<br /><br /><strong>　　总结：</strong>Apache Server是一个非常优秀，非常棒的服务器，只要你正确配置和维护好Apache服务器，<br />你就会感受到Apache Server 所带来的好处，同样希望你能够通过阅读本文达到理论和实践双丰收的目的。<br />谢谢。 </p></td></tr></tbody></table>
]]>
</description>
</item><item>
<link>https://atim.cn/post//#blogcomment</link>
<title><![CDATA[[评论] 正确配置和维护Apache WEB Server 安全性]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://atim.cn/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>