服务器漏洞修复-可通过HTTP获取远端WWW服务信息
基于互联网行业的日益发展壮大,对安全性这块的领域,无论是国家还是企业都是非常重视,信息安全、网络安全也是一道不可逾越的鸿沟。所以也诞生出很多第三方信息安全的检测机构,他们会针对我们的整个站点和整个服务进行安全检测,为此今天针对服务器的各个环境的安全的一个漏洞进行描述和解决,主要包括市场主流的Apache、Nginx、IIS。
漏洞简介:可通过HTTP获取远端WWW服务信息,本插件检测远端HTTP Server信息。这可能使得攻击者了解远程系统类型以便进行下一步的攻击。
大部分的第三方安全检测软件都会报类似的漏洞信息:
一、Apache服务解决办法:
apache版本”httpd-2.4.39”
Apache中关闭目录浏览功能:
打开Apache配置文件httpd.conf。查找 “Options Indexes FollowSymLinks”,修改为“ Options -Indexes”(减号表示取消),保存退出,重启Apache。
二、Nginx服务解决办法:
首先看Nginx的服务在客户端运行的情况
通过这个 HTTP 的请求得到的 Response Headers 里我们可以查看到一个信息是 Server: Nginx 说明对方使用的是 Nginx 做 web 服务,可以为下一步攻击提供信息,试探 Nginx 某个版本的漏洞发起攻击等。 对于公司业务来说,这个确实是有安全隐患的,虽然定义为低风险,还是应该要修复的,修复方式是改变HTTP服务器的缺省 banner。
修改流程:
- 这种方式适合编译安装Nginx的模式,下载Nginx扩展
headers-more-nginx-module
1
wget https://github.com/openresty/headers-more-nginx-module/archive/v0.30.tar.gz
- 解压:
tar -zxvf v0.30.tar.gz
- 进入到Nginx的安装目录 执行
nginx -V
查看安装参数,拷贝configure arguments
后的安装参数。我这里的Nginx的安装路径是/www/server/nginx/src
- 在src目录下,执行
./configure
粘贴的内容--add-module=headers-more-nginx-module
的路径,建议headers-more-nginx-module
的路径也放在src下。 - 执行
make && make install
- 执行完以上操作就可以到Nginx.conf的http中添加
more_clear_headers 'Server';
效果:Response Headers 里的 Server: Nginx 不见了
三、IIS服务解决办法:
IIS版本: [Microsoft-IIS/7.5]
处理方法:
- 实现IHttpModule接口 将Response Headers 相应信息移除
- 在web.config的
<httpProtocol>
的<customHeaders>
子节点中添加<remove name=”X-Powered-By”/>
节点
1 | public class HeaderFilterHttpModule: IHttpModule |
web.config:
1 | <modules> |
至此,基本流行的三种服务的“可通过HTTP获取远端WWW服务信息 本插件检测远端HTTP Server信息 这可能使得攻击者了解远程系统类型以便进行下一步的攻击”这类漏洞已彻底解决。