centos apache 隐藏和伪装 版本信息
1.隐藏Apache版本信息
测试默认 apache 的状态信息
[root@1314it conf]# curl -Is localhost
HTTP/1.1 200 OK
Date: Tue, 16 Nov 2010 04:20:15 GMT
Server: Apache/2.2.3 (CentOS) DAV/2 PHP/5.1.6 mod_perl/2.0.4 Perl/v5.8.8
X-Powered-By: PHP/5.1.6
Connection: close
Content-Type: text/html; charset=GB2312
[root@1314it conf]#
修改主配置文件 httpd.conf
ServerSignature Off
ServerTokens Prod
重启 apache 测试
测试隐藏版本号后 apache 的状态信息
[root@1314it conf]# curl -Is localhost
HTTP/1.1 200 OK
Date: Tue, 16 Nov 2010 04:21:41 GMT
Server: Apache
X-Powered-By: PHP/5.1.6
Connection: close
Content-Type: text/html; charset=GB2312
[root@1314it conf]#
2.伪装Apache版本信息 (需要修改源代码 并重新编译安装)
获取源码
修改 include/ap_release.h文件 "Apache" 参数为 "Microsoft-IIS/5.0"
修改 os/unix/os.h文件 "Unix" 参数为 "Win32"
# 2.2.17 (released 2010-10-19)
mkdir /tmp/download
cd /tmp/download
wget http://labs.renren.com/apache-mirror//httpd/httpd-2.2.17.tar.bz2
tar -jxf httpd-2.2.17.tar.bz2
cd httpd-2.2.17
include/ap_release.h
#define AP_SERVER_BASEPRODUCT "Apache"
改为
#define AP_SERVER_BASEPRODUCT "Microsoft-IIS/5.0"
# 使用 sed 流编辑工具修改
sed -i 's/#define AP_SERVER_BASEPRODUCT \"Apache\"/#define AP_SERVER_BASEPRODUCT \"Microsoft-IIS\/5.0\"/g' include/ap_release.h
os/unix/os.h
#define PLATFORM "Unix"
改成
#define PLATFORM "Win32"
sed -i 's/#define PLATFORM \"Unix\"/#define PLATFORM \"Win32\"/g' os/unix/os.h
./configure
make
make install
修改主配置文件 /usr/local/apache2/conf/httpd.conf
添加
ServerSignature Off
ServerTokens Prod
启动apache
/usr/local/apache2/bin/apachectl start
# 测试 使用curl获取服务器信息
[root@1314it conf]# curl -Is localhost
HTTP/1.1 200 OK
Date: Tue, 16 Nov 2010 04:06:21 GMT
Server: Microsoft-IIS/5.0
Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT
ETag: "d8514-2c-3e9564c23b600"
Accept-Ranges: bytes
Content-Length: 44
Content-Type: text/html
[root@1314it conf]#
# 相关资料
ServerSignature 配置服务器生成页面的页脚
语法 ServerSignature On|Off|EMail
默认值 ServerSignature Off
作用域 server config, virtual host, directory, .htaccess
覆盖项 All
ServerTokens 配置"Server:"应答头
语法 ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full
默认值 ServerTokens Full
作用域 server config
这个指令控制了服务器回应给客户端的"Server:"应答头是否包含关于服务器操作系统类型和编译进的模块描述信息。
ServerTokens Prod[uctOnly]
服务器会发送(比如): Server: Apache
ServerTokens Major
服务器会发送(比如): Server: Apache/2
ServerTokens Minor
服务器会发送(比如): Server: Apache/2.0
ServerTokens Min[imal]
服务器会发送(比如): Server: Apache/2.0.41
ServerTokens OS
服务器会发送(比如): Server: Apache/2.0.41 (Unix)
ServerTokens Full (或未指定)
服务器会发送(比如): Server: Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2
官方文档(cn) http://lamp.linux.gov.cn/Apache/ApacheMenu/index.html
来自:http://www.python-cn.cn
sheng_notes
centos apache 隐藏和伪装 版本信息的更多相关文章
- nginx/apache/php隐藏http头部版本信息的实现方法
有时候我们需要隐藏我们的服务器版本信息,防止有心人士的研究,更安全,这里介绍下在nginx/apache/php中如何隐藏http头部版本信息的方法. nginx隐藏头部版本信息方法 编辑nginx. ...
- apache、php隐藏http头部版本信息的实现方法
1.apache隐藏头部版本信息,编辑httpd.conf文件,找到: ServerTokens OS ServerSignature On 修改为: ServerTokens ProductOnly ...
- K8S 如何隐藏产品TomCat版本信息
k8s隐藏TomCat版本信息,通过sidecar方式初始化修改server.xml文件,并挂载到容器中 1.添加initcontainers initContainers: - name: conf ...
- 隐藏tomcat nginx版本信息
Tomcat --首先备份tomcat .首先找到这个jar包,$TOMCAT_HOME/lib/catalina.jar .解压catalina.jar之后按照路径\org\apache\catal ...
- 隐藏Tengine的版本信息
http { ..... server_tokens on; server_info on; server_tag bass; reset_timedout_connection on; keepal ...
- 查看nginx | apache | php | tengine | tomcat版本的信息以及如何隐藏版本信息【转】
转自: 查看nginx | apache | php | tengine | tomcat版本的信息以及如何隐藏版本信息 - 追马 - 51CTO技术博客http://lovelace.blog.51 ...
- apache调优技巧之一隐藏apahce版本信息
如果你的服务器版本信息是这样的,是很 危险的. [root@xinsz63 httpd-2.2.27]# curl -I 192.168.1.38 HTTP/1.1 403 Forbidden Dat ...
- apache安全之修改或隐藏版本信息
修改apache版本信息 在安装之前,编辑原文件httpd-2.2.31/include/ap_release.h文件如下: 40 #define AP_SERVER_BASEVENDO ...
- The server of Apache (四)——配置防盗链和隐藏版本信息
一.防盗链 防盗链就是防止别人的网站代码里面盗用我们服务器的图片.文件.视频等相关资源,比如我们的网页的图片有链接,别人把链接复制粘贴到他们的服务器页面里,图片不在他们自己的网站里,每次打开他们的网站 ...
随机推荐
- Servlet & JSP - getParameter 与 request.getAttribute 的区别
getParameter 方法获取的是表单或 URL 的请求参数.参数是从 Web 客户端传递至 Web 服务端.例如有如下的 servlet: @WebServlet(name = "he ...
- Linux 命令 - echo: 显示一行文本
命令格式 echo [OPTION]... [STRING]... 命令参数 -n 不输出行尾的换行符. -e 允许对转义字符进行解释. -E 禁止对转义字符进行解释,这是默认的选项. --help ...
- Android Studio 创建aar包与引用
两者区别:*.jar: 只包含了class文件与清单文件 ,不包含资源文件,如图片等所有res中的文件.*.aar: 包含所有资源 ,class以及res资源文件全部包含 一.创建aar包1.创建一个 ...
- python学习day4--python基础--购物小程序
'''购物小程序:用户启动时先输入工资用户启动程序后打印商品列表允许用户选择购买商品允许用户不断购买各种商品购买时检测余额是否够,如果够直接扣款,否则打印余额不足允许用户主动退出程序,退出时打印已购商 ...
- xml初读
形式良好的 XML 文档 “形式良好”或“结构良好”的 XML 文档拥有正确的语法. “形式良好”(Well Formed)的 XML 文档会遵守前几章介绍过的 XML 语法规则: XML 文档必须有 ...
- [C#]线程处理
线程处理用于使程序能够执行并发处理,同时执行多个操作.C#中有三种线程的使用方法,BackgroundWorker组件.线程池.自己创建使用线程,接下来分别介绍如何使用. 1.使用Background ...
- 【leetcode】363. Max Sum of Rectangle No Larger Than K
题目描述: Given a non-empty 2D matrix matrix and an integer k, find the max sum of a rectangle in the ma ...
- java集合 collection-list-ArrayList 将自定义对象作为元素存到ArrayList集合中,并去除重复元素。
import java.util.*; /* 将自定义对象作为元素存到ArrayList集合中,并去除重复元素. 比如:存人对象.同姓名同年龄,视为同一个人.为重复元素. 思路: 1,对人描述,将数据 ...
- Oracle用户system解锁
1.首先进入sql plus窗口(参见上一篇文章) 2.进入后:输入select username,account_status from dba_users where username='SYST ...
- 暑假集训(5)第一弹——— Super Jumping! Jumping! Jumping!(hdu1087)
题意概括:在上次与娑殚的三次博弈中,你们都取得了胜利.便向娑殚提出要求,借助他的力量,传送到一个安全的地方. 你们的愿望达成了,不过,你和小A似乎失散了. 街上人来人往的特别热闹,每一个人的脸上都洋溢 ...