隐藏web服务的头信息

一、隐藏nginx头信息

什么是header信息?header信息是访客访问你的网站时,web服务返回给客户端的一段信息,包含了网页的一些基本情况。那么为什么要修改 header信息呢?主要是为了防止被居心不良的人利用来获取漏洞信息,例如:通过最最简单的获取header信息发现你的web服务器版本是 nginx/0.7.60,现在又已知这个版本的nginx有某个漏洞,那么就可以利用这个漏洞来攻击你了。互联网信息更新非常快,web服务程序的更新 也是很频繁,我们很多时候由于种种原因不能及时打上补丁,对服务器安全很不利,如果修改header信息达到隐藏web服务器版本的效果,就可以在某种程 度上消除一些隐患。

nginx的header信息修改需要修改源码,因此必须在编译前作修改,如果已经编译了,只能修改源码后重新编译。
1、修改src/core/nginx.h,将
#define NGINX_VERSION "1.1.1"
#define NGINX_VER "apache/" NGINX_VERSION中的信息修改掉。
2、修改src/http/ngx_http_header_filter_module.c,将

static char ngx_http_server_string[] = "Server: apache" CRLF;
static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;中的信息修改掉。

3、修改nginx-0.7.30/src/http/ngx_http_special_response.c

static u_char ngx_http_error_full_tail[] =
"<center> "NGINX_VER" </center>" CRLF
"<hr><center>****http://www.linuxtone.org****</center>" CRLF
"</body>" CRLF
"</html>" CRLF
;
static u_char ngx_http_error_tail[] =
"<hr><center>LTWS</center>" CRLF
"</body>" CRLF
"</html>" CRLF
;

如果要修改探针中显示的web服务软件信息,就修改nginx安装目录中conf/fcgi.conf,将
fastcgi_param SERVER_SOFTWARE nginx;中的信息修改掉。这个是配置文件,是在编译之后修改的。

我写了几句命令,可以直接在shell里运行修改掉文件:
sed -i ‘s:#define NGINX_VERSION "0.7.64":#define NGINX_VERSION "1.0":g‘ /usr/local/src/nginx-0.7.64/src/core/nginx.h
sed -i ‘s:#define NGINX_VER "nginx/" NGINX_VERSION:#define NGINX_VER "XXXserver/" NGINX_VERSION:g‘ /usr/local/src/nginx-0.7.64/src/core/nginx.h
sed -i ‘s#"Server: nginx"#"Server: XXXserver"#‘ /usr/local/src/nginx-0.7.64/src/http/ngx_http_header_filter_module.c
改的就是上面说的三个地方,将nginx/0.7.64改成XXXserver/1.0,要用的话需要自己修改源码包存放路径、安装后文件的路径和要替换的nginx版本号。

2、隐藏php版本信息

下面对php的配置文件php.ini进行配置
默认情况下
expose_php = On
将其改为
expose_php = Off
为什么,可以看这段解释
; Decides whether PHP may expose the fact that it is installed on the server
; (e.g. by adding its signature to the Web server header). It is no security
; threat in any way, but it makes it possible to determine whether you use PHP
; on your server or not.
然后禁止一些涉及php安全的函数
disable_functions = phpinfo, get_cfg_var //禁止phpinfo和get_cfg_var等函数
display_errors = Off //禁止爆出错误
allow_url_fopen = Off //这个关闭,就没有办法取远程内容了,但是可以用变通,用curl远程读取的方法做到
safe_mode = On //开启安全模式,这个开了,可能会有些php功能没办法使用了无论如何,还是要我们的程序设计的完美,一般来说,单纯更具对系统攻击很难,如果是程序有漏洞,那攻击就简单了。

隐藏web服务的头信息,布布扣,bubuko.com

时间: 2024-10-25 04:25:40

隐藏web服务的头信息的相关文章

Windows2008 r2“Web服务器HTTP头信息泄露”漏洞修复

一.漏洞名称 漏洞名称 漏洞摘要 修复建议 Web服务器HTTP头信息泄露 远程Web服务器通过HTTP头公开信息. 修改Web服务器的HTTP头以不公开有关底层Web服务器的详细信息. 二.安装IIS 6 管理兼容性 右击[角色][Web服务器(IIS)],点击[添加角色服务],勾选"IIS 6 管理兼容性",点击下一步安装. 三.安装urlscan_v31_x64 1.安装urlscan3.1 2.安装UrlScan3.1,利用UrlScan 3.1的特性,修改配置文件C:\Win

Azure机器学习入门(四)模型发布为Web服务

接Azure机器学习(三)创建Azure机器学习实验,下一步便是真正地将Azure机器学习的预测模型发布为Web服务.要启用Web服务发布任务,首先点击底端导航栏的运行即"Run"按钮运行新的收入预测实验.实验开始运行之后,底端导航栏的发布Web服务即"Publish Web Service"按钮就变为有效,如下图所示. 图 即将发布Web服务地Azure 机器学习实验 此时,点击设计模式下底端导航栏的发布Web服务即"Publish Web Servic

Spring配置文件xml头信息解析一

我们在使用Spring框架的时候首先要配置其xml文件,大量的头信息到底代表了什么呢,在这里总结下自己的理解... 这里是创建web工程时自带的xml文件头内容: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org

Web服务的基本应用

Web服务的相关信息 Apache服务器是web服务的重要应用 在这也是讲的apache 这里需要安装一个http服务软件才行! Apache的根文档在/var/www/html 主配置文件 /et/httpd/conf/httpd.conf Httpd_devel(提供相关指令)httpd_manual 访问日志文件 /var/log/httpd/error_log 端口:80(http) 443(https) 模块加载目录:/var/httpd/conf.d/ 实验过程 个人主页 第一步,搭

web服务之httpd2.2及2.4配置详解02

本文继续浅谈httpd2.2相关配置,httpd-2.4的变化及相关配置,LAMP相关知识 http2.2 相关配置 1. httpd status页面的展示 查看status_module模块是否装载 [[email protected] tmp]# httpd -M|grep status  status_module (shared) Syntax OK 全局配置文件打开如下配置即可,也可以在virtualhost中配置 <Location /server-status>     Set

利用jws发布一个查询员工信息的Web服务(员工信息存储在数据库中)

这是<基于服务的软件系统>的课程设计: 一.作业要求 编写查询员工信息的Web服务(员工信息存储在数据库中).第一个Web服务:输入员工号,返回该员工号的员工的基本信息,包括员工号.员工名称.所在部门.出生日期.职位.职称.入职日期等信息.第二个Web服务:输入部门.职称,返回该部门具有该职称的所有员工的基本信息,员工基本信息与上面相同.分别针对上述两个Web服务,分别编写调用这两个Web服务的程序(或网页).要求在输入界面上输入待查询数据,调用Web服务,并将Web服务返回的员工信息查询结果

LoadRunner获取WEB请求头信息的方法:REQUEST、RESPONSE(引)

今天发现LoadRunner两个"内置变量": 1.REQUEST,用于提取完整的请求头信息. 2.RESPONSE,用于提取完整的响应头信息. 响应头信息用可用其它方式实现,但请求头信息还真不知道可以这样拿到.太隐蔽了吧! 注意,这两个变量仅在请求前使用web_save_header注册使用.示例如下: Action(){web_set_max_html_param_len("262144");// 默认最大长度为256web_reg_save_param(&qu

Linux之Web服务(2)Httpd服务配置之四

Linux之Web服务(2)Httpd服务配置之四 前言 接上一篇的虚拟主机,本片主要介绍虚拟主机的一些搭建和部署,本篇通过一个具体的案例来显示虚拟主机的作用和特性. 案例功能介绍: (1) 准备DNS解析3个域名或者添加/etc/hostst/3条主机名IP档案,解决域名解析 (2) 基于主机名实现三个虚拟主机 (3) 每虚拟主机使用独立的访问日志和错误日志 (4) 在第二个虚拟主机上提供/status: (5) 在第三个虚拟主机提供路径别名/bbs,访问其它文件系统路径: (6) 第三个虚拟

(转)ASP.NET Web 服务如何工作

https://msdn.microsoft.com/zh-cn/library/ms996410.aspx 发布日期 : 4/1/2004 | 更新日期 : 4/1/2004 摘要:了解 Microsoft ASP.NET Web 服务方法 (WebMethod) 如何为生成 Web 服务提供一种高效方法.WebMethod 可以将传统的 Microsoft .NET 方法公开为支持 HTTP.XML.XML 架构.SOAP 和 WSDL 的 Web 服务操作.WebMethod (.asmx