正确配置与维护Apache安全性设置方法(正确配置与维护apache安全性设置方法)

正确配置与维护Apache安全性设置方法(正确配置与维护apache安全性设置方法)

扫码添加渲大师小管家,免费领取渲染插件、素材、模型、教程合集大礼包!

一。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.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@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.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 所带来的好处。同样希望你能够通过阅读本文达到理论和实践双丰收的目的。

分享到 :
相关推荐

html乱码怎么解决(网页乱码怎么解决方法)

大家好,今天来介绍html乱码怎么解决的问题,以下是渲大师小编对此问题的归纳和整理,...

cloudflare免费cdn(cloudflare免费cdn怎么样)

利用cloudflare这个CDN免费解析是非常好用的。如果在其中添加一个规则的话。...

怎么提高vps国外云服务器的性能(怎么提高vps国外云服务器的性能)

提高vps国外云服务器性能的方法:1。定期对VPS漏洞进行扫描。及时发现并进行处理。...

免实名cdn云主机租用有哪些缺点(免实名的云服务器)

免实名CDN云主机租用相较于实名认证的云主机服务。存在以下缺点:1。安全性风险免[&...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注