安全配置和维护Apache WEB Server
前言:在目前的Internet时代,主页已成为树立公司形象和展示自我天地的一个重要手段,配置一台强大且安全的Web Server就显得尤其重要。在众多的Web Server产品中,Apache是应用最为广泛的一个产品, 同时也是一个设计上非常安全的程序。但是,同其它应用程序一样,Apache也存在安全缺陷。本文将详细介绍如何正确配置和维护Apache WEB Server的安全性问题等。 7 C" G; z% ?5 K) g
+ D! K' `8 O4 K( @- ]3 s 一、Apache服务器的介绍
! Z/ v% f' A- t' _+ m+ b6 Z8 V/ {+ E
Apache服务器它是Internet网上应用最为广泛的Web服务器软件之一。Apache服务器源自美国国家超级技术计算应用中心(NCSA)的Web服务器项目中。目前已在互联网中占据了领导地位。Apache服务器得经过精心配置之后,才能使它适应高负荷,大吞吐量的互联网工作。快速、可靠、通过简单的API扩展,Perl/Python解释器可被编译到服务器中,且完全免费,完全源代码开放。如果你需要创建一个每天有数百万人访问的Web服务器,Apache可能是最佳选择。
" [1 z! `. a* x' h
H2 J& [3 \ C/ I# b9 A9 @# `9 a: T 二、Apache服务器的主要安全缺陷
$ q$ W8 u m0 X) j5 J' i5 n
9 E6 C) N8 |+ b* e5 l3 M& ] 正如我们前言所说尽管Apache服务器应用最为广泛,设计上非常安全的程序。但是同其它应用程序一样,Apache也存在安全缺陷。毕竟它是完全源代码,Apache服务器的安全缺陷主要是使用HTTP协议进行的拒绝服务攻击(denial of service)、缓冲区溢出攻击以及被攻击者获得root权限三缺陷和最新的恶意的攻击者进行“拒绝服务”(DoS)攻击。合理的网络配置能够保护Apache服务器免遭多种攻击。我们来介绍一下主要的安全缺陷:
% b- R' @4 ?( M! O+ J6 q# u, f) j H ^* r8 K0 D7 b
(1)使用HTTP协议进行的拒绝服务攻??(denial of service)的安全缺陷 / Z q7 A- s" a7 V& }! d
; U' ~. a/ [( @# @: H
这种方法攻击者会通过某些手段使服务器拒绝对HTTP应答。这样会使Apache对系统资源(CPU时间和内存)需求的剧增,最终造成Apache系统变慢甚至完全瘫痪。
, n' D+ k$ H, {$ z1 S5 x- `
3 [' J4 y4 J; g: ~6 O! S) n(2)缓冲区溢出的安全缺陷 $ q: i5 w7 u' k/ r9 H
$ [6 i I" u0 S3 g$ U ! ?, m5 z7 k# |; O6 E/ M
: [) I1 a, q5 B" w" F. ` 该方法攻击者利用程序编写的一些缺陷,使程序偏离正常的流程。程序使用静态分配的内存保存请求数据,攻击者就可以发送一个超长请求使缓冲区溢出。比如一些Perl编写的处理用户请求的网关脚本。一旦缓冲区溢出,攻击者可以执行其恶意指令或者使系统宕机。 + }# p0 q7 S) f& _3 g" Y! d
+ Y% f: E" x& p8 c (3)被攻击者获得root权限的安全缺陷
$ W4 t7 A4 y5 z# `4 t3 v' S9 g! Z. V" S& L
该安全缺陷主要是因为Apache服务器一般以root权限运行(父进程),攻击者会通过它获得root权限,进而控制整个Apache系统。 8 e1 A- ~5 T" ^4 a3 R+ A
' y6 T/ F8 M0 [/ \ (4)恶意的攻击者进行“拒绝服务”(DoS)攻击的安全缺陷
5 ~' G0 ^3 U: G' \8 G; J/ k1 @. }1 M3 G6 x
这个最新在6月17日发现的漏洞,它主要是存在于Apache的chunk encoding中,这是一个HTTP协议定义的用于接受web用户所提交数据的功能。 利用黑客程序可以对于运行在FreeBSD 4.5, OpenBSD 3.0 / 3.1, NetBSD 1.5.2平台上的Apache服务器均可进行有效的攻击. 5 D; y/ D' l* Q9 F! a ]/ B
/ h! E$ s& }" Q# ]3 V' I 所有说使用最高和最新安全版本对于加强Apache Web服务器的安全是至关重要的。请广大Apache服务器管理员去http://www.apache.org/dist/httpd/下载补丁程序以确保其WEB服务器安全!
5 _: W5 n. a0 O* t6 E# S/ v8 v6 k1 W- y
三、正确维护和配置Apache服务器 + \. [$ V, f* i x
5 L6 W% _. `& j* o) H 虽然Apache服务器的开发者非常注重安全性,由于Apache服务器其庞大的项目,难免会存在安全隐患。正确维护和配置Apache WEB服务器就很重要了。我们应注意的一些问题: 7 u/ U* r# p' e
% E. H' j @3 g
(1)Apache服务器配置文件 9 ^! W" S# g! |4 g# F; n' ?! m0 e
: n1 w5 |, ^* e1 [1 s
Apache Web服务器主要有三个配置文件,位于/usr/local/apache/conf目录下。这三个文件是: 2 K) ^# j& V$ d& D) L: |
& m; @# k0 R3 ?: ]
httpd.con-----主配置文件, r4 |% V4 }/ v+ ?& i: P
srm.conf------填加资源文件
" m3 X. f. l6 Y1 F% S0 G( B5 O access.conf---设置文件的访问权限
1 b& r/ g7 f+ I+ S8 U: M3 s- \- R/ z% \& B) `) U) H% }
注:具体配置可以参考:http://httpd.apache.org/docs/mod/core.html + F( D; l. @: N( F3 b( u% j
2 E! K& n8 M5 J# Y
(2)Apache服务器的日志文件 C9 h. a0 D: i0 R
) x& g: ^2 Y! J' p3 X2 h' O& L 我们可以使用日志格式指令来控制日志文件的信息。使用LogFormat "%a %l"指令,可以把发出HTTP请求浏览器的IP地址和主机名记录到日志文件。出于安全的考虑,在日志中我们应知道至少应该那些验证失败的WEB用户,在http.conf文件中加入LogFormat "@1u"指令可以实现这个目的。这个指令还有其它的许多参数,用户可以参考Apache的文档。另外,Apache的错误日志文件对于系统管理员来说也是非常重要的,错误日志文件中包括服务器的启动、停止以及CGI执行失败等信息。更多请参看Apache日志系列1-5。
( R; i% ^! ^" E
' H- W# W0 |" F! [% w/ B (3)Apache服务器的目录安全认证 4 @% E/ p& N( d# k
* t% P, G: Q9 [# h. l4 T 在Apache Server中是允许使用 .htaccess做目录安全保护的,欲读取这保护的目录需要先键入正确用户帐号与密码。这样可做为专门管理网页存放的目录或做为会员区等。 ( Z0 }- N" v! b+ }
( u7 ~5 E) v+ }) T4 W7 @% @& p$ d
在保护的目录放置一个档案,档名为.htaccss
% Z% V; n" B% k. A7 K- ]0 v2 ]0 F/ [
% V: c: b6 q' W- H8 ~
! D9 g8 o* l4 \% N' O+ y) t
1 @) p( y$ ^1 w$ u( _, P- v
/ |: T1 b8 S$ z! ?( {2 o
: [, G: |9 H& q' Y' v1 U$ \2 G2 H& \: `+ k) a9 B
$ }& M0 |- m. u4 I% p
, E5 n2 ^ `6 A; N- Z3 H/ l" s ; N9 Y, {0 ]. `# S& ]/ }9 @8 {
$ f$ F0 ^' W0 v5 _, A
3 o, F2 J) |4 [4 X7 @8 f
: G! u* I, J K& \! S
+ S1 m; J/ A, U3 N
( a+ p; p" L0 t" y$ l8 X
8 d9 ?8 K2 ?) H( [2 ^' B& e6 T0 Z- t% e
- Y+ ?# j: G1 |
+ X8 E" |& P; n @" ? / e- ^) y5 V- ]) H. O8 X
5 O9 H0 G1 x; Q$ O: t
点击图标进入精品网摘收藏 欢迎大家加入网络收藏夹