企业级Apache服务器安全防护要点剖析(1)


Apache一直是世界上使用率排名前三的Web服务器软件。企业使用其构建Web应用,从很大程度上都需要对其安全性进行综合考虑,以保证能够应对拒绝服务攻击、流量窃听、数据泄漏等网络威胁,从而保证企业门户网站的安全。

除了使用业界流行的防火墙、IDS/IPS(入侵检测系统/入侵防御系统)、WAF(Web应用防火墙)、UTM(统一威胁管理)等外部安全设备对Apache服务进行安全防护外,作为一种优秀的开源服务器软件,Apache本身就具有很多优秀的特性可以为服务器管理员提供安全配置,以防范各种网络攻击。因此,充分、高效地挖掘Apache服务器的自身安全能力也是企业安全工作者一个必备的技能。基于此,本文将从4个方面详细剖析Apache服务器的安全防护要点。

策略一:服务器端安全设置

1.限制root用户运行Apache服务器

一般情况下,在Linux下启动Apache服务器的进程httpd需要root权限。由于root权限太大,存在许多潜在的安全威胁。一些管理员为了安全起见,认为httpd服务器不可能没有安全漏洞,因而更愿意使用普通用户的权限来启动服务器。http.conf主配置文件里面有如下两个配置是Apache的安全保证,Apache在启动后,就将其本身设置为这两个选项设置的用户和组权限进行运行,降低了服务器的危险性。

User apache
Group apache

需要特别指出的是:以上两个配置在主配置文件里面是默认选项,当采用root用户身份运行httpd进程后,系统将自动将该进程的用户组和权限改为apache,这样,httpd进程的权限就被限制在apache用户和组范围内,因而保证了安全。

2.向客户端隐藏Apache服务器的相关信息

Apache服务器的版本号可作为黑客入侵的重要信息被利用,通常他们在获得版本号后,通过网上搜索针对该版本服务器的漏洞,从而使用相应的技术和工具有针对性的入侵,这也是渗透测试的一个关键步骤。因此,为了避免一些不必要的麻烦和安全隐患,可以通过主配置文件httpd.conf下的如下两个选项进行:

(1)ServerTokens:该选项用于控制服务器是否响应来自客户端的请求,向客户端输出服务器系统类型或者相应的内置模块等重要信息。Red Hat Enterprise Linux 5操作系统在主配置文件中提供全局默认控制阈值为OS,即ServerTokens OS。它们将向客户端公开操作系统信息和相关敏感信息,所以保证安全情况下需要在该选项后使用“ProductOnly”,即ServerTokens ProductOnly。

(2)ServerSignature:该选项控制由系统生成的页面(错误信息等)。默认情况下为off,即ServerSignature off,该情况下不输出任何页面信息。另一情况为on,即ServerSignature on,该情况下输出一行关于版本号等相关信息。安全情况下应该将其状态设为off。