Web服务器安全配置归纳 - Apache篇

    选择打赏方式

1、引言

随着Web2.0、社交网络、微博等等一系列新型的互联网产品的诞生,基于Web环境的互联网应用越来越广泛,企业信息化的过程中各种应用都架设在Web平台上,Web业务的迅速发展也引起黑客们的强烈关注,接踵而至的就是Web安全威胁的凸显,而其中Apache作为排名第一的Web服务器软件,它可以运行在几乎所有广泛使用的计算机平台上,因平台版本差异,其安全配置尤为重要。

2、现象描述

1) 信息泄露,许多Apache的安装由于未经过安全配置易向未知访问者提供敏感信息,例如 默认Apache首页,错误页、Head中的信息、集成安全环境中的那些测试页面,探针页面等不安全的预置页面,这些都可能为陌生者提供各种“有利”的信息如Apache的版本号,安装目录,配置详情和操作系统参数等相关信息。

2) 风险配置,Apache许多配置存会存在相应的风险如:目录浏览如果开着没有默认首页就会暴露当前目、多余不必要的Apache模块、CGI脚本执行风险、SSI的风险配置,Trace,Options等请求风险

3) 权限与访问控制,降权Apache运行用户、隔离未知访问用户、限定未知访问区域

4) 漏洞版本,例如Apache PHP解析漏洞、Apache DoS漏洞、代码执行等漏洞版的Apache可能会造成巨大的风险

5) HTTPS与域名,HTTP协议易被劫持使用HTTPS可以增加会话安全性,服务器错误的监听地址和未绑定域名可能会造成非正常性的访问

6) 资源消耗,Apache资源配置的失衡可能会造成相应速度慢、访问错误等问题,严重的可能造成服务器瘫痪等问题,根据服务器资源正确的配置Apache非常重要。

3、处理过程

1)  解决Apache敏感信息泄露

l  我们获取Head信息,此时Apache已暴露操作系统和Apache版本及相关组件版本


配置文件httpd.conf中加入两行内容


再来看看Head信息,发现已经隐去了相关的敏感信息


l  查看网站目录,或者集成环境目录是否存在探针、PHPINFO等文件

    有的话删除掉

l  修改错误页面

ErrorDocument 500 xxx

ErrorDocument 404 xxx

ErrorDocument 404 xxx

ErrorDocument 402 xxx

2)  关闭风险配置

l  关闭目录浏览

在配置文件httpd.conf将

Options Indexes FollowSymLinks

修改为:

Options FollowSymLinks

l  关闭自动索引模块

在下面行首添加# 注释掉

LoadModule autoindex_module modules/mod_autoindex.so

Ubuntu / Debian 删除配置文件

rm -rf /etc/apache2/mods-enabled/autoindex.conf

l  禁用SSI 执行风险

Options Includes Noexec

l  关闭Trace功能

TraceEnable off

l  禁止危险DELETE,PUT等风险参数

<Location /> 

<LimitExcept GET POST HEAD>

  Order Allow,Deny

  Deny from all

</LimitExcept>

</Location>

l  禁止CGI使用

#LoadModule cgi_module modules/mod_cgi.so

#ScriptAlias /cgi-bin/ “/var/www/cgi-bin/”

3)  配置Apache权限与访问控制

l  降低Apache运行权限

Linux在配置文件httpd.conf中添加

User nobody / apache

Group nobody / apache

Windows 添加一个低权限用户,在服务中修改运行用户

去除上传目录的执行权限

配置ServerRoot非特权用户不能修改

配置httpd.conf权限为600

配置日志文件权限为644

l  禁止 Apache 访问 Web 目录之外的任何文件

Order Deny,Allow

Deny from all

l  敏感文件夹配置用户访问控制



l  敏感目录设置访问范围


4)  Apache 漏洞版本处理与更新

l  Apache解析漏洞处理

<FilesMatch ".(php.|php3.|php4.|php5.)">

Order Deny,Allow

Deny from all

</FilesMatch>

l  关注官网版本更新或使用包管理更新

yum update httpd

ubunu则:

apt-get update

apt-get upgrade apache2

5)  HTTPS与域名

l  设置具体的监听地址

Listen 10.0.0.1:80

l  配置域名绑定

ServerName www.test.com

开启客户端域名解析验证

HostnameLookups On

l  为服务器添加HTTPS

Listen 10.0.0.1:443

SSL A+配置地址:https://mozilla.github.io/server-side-tls/ssl-config-generator/


1.png

6)  资源配置防护

l  请根据服务器状况合理调节以下参数

Timeout 10 #客户端与服务器端建立连接前的时间间隔

KeepAlive On

KeepAliveTimeout 15 #具体的设定需要根据现实情况

MaxKeepAliveRequests 100 最大相应数

l  修改日志记录级别

2.png

3.png

 

4、经验总结

Apache 作为一款优秀的Web服务器,其安全性也较为可靠,我们在使用Apache作为Web服务器时简单部署即可使用,但是必要的安全配置也是需要的,这可以使我们可以防范一定的恶意攻击,使我们的服务更加安全、稳定。

版权声明:若无特殊注明,本文皆为《 CM部落 》原创,转载请保留文章出处。
本文链接:Web服务器安全配置归纳 - Apache篇 https://itkz.cn/note/101.html
正文到此结束

热门推荐

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

嘻嘻 大笑 可怜 吃惊 害羞 调皮 鄙视 示爱 大哭 开心 偷笑 嘘 奸笑 委屈 抱抱 愤怒 思考 日了狗 胜利 不高兴 阴险 乖 酷 滑稽

评论信息框

吃奶的力气提交吐槽中...


既然没有吐槽,那就赶紧抢沙发吧!