apache调优隐藏版本信息及404重定向

生产环境中,部署了apache之后,我们应该从安全还是性能角度,在apache服务上线之前,对其做诸多的优化调试才行。

 

Apache

实验环境:

apache版本:httpd-2.2.31

源码包存放位置:/usr/local/src

源码包编译安装位置:apache:/usr/local/apache2.2-xuegod/

 

技巧1:

安装apache屏蔽apache版本等敏感信息

 

查看apache版本信息:

[[email protected]yeyou ~]# curl -Iwww.baidu.com

。。。

X-Powered-By: HPHP

Server: BWS/1.1

X-UA-Compatible:IE=Edge,chrome=1

BDPAGETYPE: 1

BDQID: 0xcfd31d8200026e11

BDUSERID: 0

 

测试自己的网站看是什么版本?有没有相应的漏洞

 

[[email protected]yeyou ~]# curl -Iwww.taobao.com

HTTP/1.1 302 Found

Server:Tengine  基于nginx做了二次开发

Date: Tue, 17 Nov 201502:22:06 GMT

Content-Type: text/html

Content-Length: 258

Connection: keep-alive

Location:https://www.taobao.com/

彻底让版本等敏感信息消失

要彻底将版本之类的信息进行改头换面,需要在编译之前修改源码包下include/ap_release.h文件

[[email protected]yeyou httpd-2.2.25]#pwd

/usr/local/src

[[email protected]yeyou src]# rm -rfhttpd-2.2.25

[[email protected]yeyou src]# tar zxfhttpd-2.2.25.tar.gz

[[email protected]yeyou src]# cdhttpd-2.2.25

[[email protected]yeyou httpd-2.2.25]#vim include/ap_release.h  #修改源码中的版本信息为自己公司的相关信息,隐藏真实版本信息

改:

42 #define AP_SERVER_BASEVENDOR"Apache Software Foundation"

 43 #define AP_SERVER_BASEPROJECT "ApacheHTTP Server"

 44 #define AP_SERVER_BASEPRODUCT"Apache"

 45

 46 #define AP_SERVER_MAJORVERSION_NUMBER 2

 47 #define AP_SERVER_MINORVERSION_NUMBER 2

 48 #define AP_SERVER_PATCHLEVEL_NUMBER   25

 49 #define AP_SERVER_DEVBUILD_BOOLEAN    0

为:

#defineAP_SERVER_BASEVENDOR "xuegod"

#defineAP_SERVER_BASEPROJECT " web server"

#defineAP_SERVER_BASEPRODUCT " xuegod web server"

 

#defineAP_SERVER_MAJORVERSION_NUMBER 8

#defineAP_SERVER_MINORVERSION_NUMBER 1

#defineAP_SERVER_PATCHLEVEL_NUMBER   2

#defineAP_SERVER_DEVBUILD_BOOLEAN    3

注释:

#define AP_SERVER_BASEVENDOR"Apache Software Foundation" #服务的供应商名称

#define AP_SERVER_BASEPROJECT"Apache HTTP Server"  #服务的项目名称

#define AP_SERVER_BASEPRODUCT"Apache"        #服务的产品名

#define AP_SERVER_MAJORVERSION_NUMBER2  #主要版本号

#defineAP_SERVER_MINORVERSION_NUMBER 4  #小版本号

#defineAP_SERVER_PATCHLEVEL_NUMBER  6  #补丁级别

#defineAP_SERVER_DEVBUILD_BOOLEAN  0  #

注:上述列出的行,大家可以修改成自己想要的,然后编译安装之后,再对httpd-default.conf文件进行修改,对方就彻底不知道你的版本号了。

源码编译安装apache

[[email protected]yeyou httpd-2.2.11]# yum installopenssl*

[[email protected]yeyou httpd-2.2.25]#./configure --prefix=/usr/local/apache2.2-xuegod --enable-so --enable-rewrite--enable-ssl   --enable-deflate  --enable-expires   #检查安装环境并生成Makefile文件

 

配置参数用途:

--prefix=/usr/local/apache2.2   #指定安装路径

--enable-so  # 支持动态加载模

--enable-rewrite #支持网站地址重写

--enable-ssl # 支持ssl加密

--enable-deflate #支持页面传输前进行压缩

--enable-expires #支持设置网页缓存的时间

 

编译安装:make&& make install

 

查看安装后目录:

[[email protected]yeyou httpd-2.2.25]# ls/usr/local/apache2.2-xuegod/conf/httpd.conf

/usr/local/apache2.2-xuegod/conf/httpd.conf

存放网站的根目录:

[[email protected]yeyou httpd-2.2.25]#ls /usr/local/apache2.2-xuegod/htdocs/

index.html

修改默认首页内容:

[[email protected]yeyou httpd-2.2.25]# echo apache-xuegod>> /usr/local/apache2.2-xuegod/htdocs/index.html

启动apache:

配置apache 可以开机启动并且可以使用service 命令启动apache服务器

[[email protected] httpd-2.2.25]#cp /usr/local/apache2.2-xuegod/bin/apachectl /etc/init.d/apachectl-xuegod

 

启动apache:

[[email protected]]# /etc/init.d/apachectl-xuegod start

测试:隐藏apache版本信息

curl -I192.168.1.63   #看不到apache版本相关内容了

HTTP/1.1 200 OK

Date: Sat, 29 Aug 201509:43:44 GMT

Server: xuegod web server/8.1.2-dev (Unix) mod_ssl/8.1.2-devOpenSSL/1.0.0-fips

Last-Modified: Sat, 29 Aug2015 09:37:36 GMT

ETag: "6d086-3a-51e6ff35dba19"

Accept-Ranges: bytes

Content-Length: 58

Content-Type: text/html

 

再次隐藏版本号和系统类型

接下来再次修改:

 

vim/usr/local/apache2.2-xuegod/conf/httpd.conf

405 #Includeconf/extra/httpd-default.conf

为:

Includeconf/extra/httpd-default.conf

 

2)打开httpd-default.conf文件,修改如下两个地方

vim/usr/local/apache2.2-xuegod/conf/extra/httpd-default.conf 

改:

55 ServerTokens Full

65 ServerSignature On    signature 签名

为:

ServerTokens Prod   #不显示服务器操作系统类型

ServerSignature Off   #不显示web服务器版本号

 

让apache配置文件生效的方法:

方法1:重启服务:restart      

方法2:不重启服务,重新加载配置文件

reload是nginx

/etc/init.d/apachectl-xuegod graceful     优雅的

测试:

curl -I192.168.1.63

HTTP/1.1 200 OK

Date: Thu, 14 Jan 201602:31:24 GMT

Server: xuegod web server

 

总结:

1,  安装之前改include/ap_release.h

2,  Httpd.conf    extra/httpd-default.conf去掉注释

3,  修改extra/httpd-default.conf

55 ServerTokens Full

65 ServerSignature On    signature 签名

为:

ServerTokens Prod   #不显示服务器操作系统类型

ServerSignature Off   #不显示web服务器版本号

 

2、错误页面优雅显示

为了提升网站的用户体验,避免404,403之类的丑陋的默认错误提示出现。

http://192.18.1.63/a.html

方法一:

vim/usr/local/apache2.2-xuegod/conf/httpd.conf  #在根目录的标签中添加以下红色标记内容。

132 <Directory"/usr/local/apache2.2-xuegod/htdocs">

。。。

在大约159行,插入:

     ErrorDocument 404 /404.html

160 </Directory>

注:#将404错误跳转到/usr/local/apache2.2-xuegod/htdocs下的404.html页面上

注:ErrorDocument的命令格式如下:

ErrorDocument 错误代码 跳转到的页面链接或文件

 

创建404测试页:

echo"404 go to home" > /usr/local/apache2.2-xuegod/htdocs/404.html

 

重启:

/etc/init.d/apachectl-xuegodrestart

 

方法2: 出错后,跳转到一个链接

vim/usr/local/apache2.2-xuegod/conf/httpd.conf  #在根目录的标签中添加以下红色标记内容。

132 <Directory"/usr/local/apache2.2-xuegod/htdocs">

。。。

在大约159行,插入:

     ErrorDocument 404 http://www.baidu.com

160 </Directory>

注:#将404错误跳转到http://www.baidu.com

 

重启:

/etc/init.d/apachectl-xuegod restart

时间: 2024-10-18 15:13:15

apache调优隐藏版本信息及404重定向的相关文章

查看nginx | apache | php | tengine | tomcat版本的信息以及如何隐藏版本信息

昨天配置nginx的时候说道隐藏版本信息的问题,今天就罗列一下 要操作的信息列表 nginx版本信息查询及隐藏 Apache版本信息查询及隐藏 php版本信息查询及隐藏 tengine版本信息查询及隐藏 tomcat版本信息查询及隐藏 详细操作步骤 1.1.nginx版本信息查询       [[email protected]_nginx ~]# nginx -vnginx version: nginx/1.6.0 1.2.nginx编译配置参数查询        [[email protec

Apache网页优化与安全优化(网页压缩;网页缓存;网页防盗链;隐藏版本信息)

1,网页压缩 网站的访问速度是由多个因素所共同决定的包括: 1)应用程序的响应速度 2)网络带宽 3)服务器性能 4)与客户端之间的网络传输速度等等 其中最重要的就是Apache本身的响应速度,因此提升网站性能第一个需要着手进行处理的便是尽可能地提升Apache的执行速度,使用网页压缩可以提升应用程序的速度,而且不需要任何成本. Apache的压缩模块 Apache2.x内建了mod_deflate这个模块,使用gzip压缩算法.mod_deflate可使用DeflateCompressionL

Apache安全优化:设置防盗链,隐藏版本信息 (内含Apache源码包和抓包工具)

防盗链:一些不良网站有时为了不增加成本又想扩充自己站点的内容,经常盗用其他网站的链接,一方面损害了原网站的合法利益,另一方面又加重了服务器的负担 隐藏版本信息:一般情况下,软件的漏洞信息和特定版本是相关的如果×××或别有用心之人得到了Apache的版本信息,就会使服务器遭受被×××的风险,为了防止这些事的发生,我们可以隐藏版本号,减少危险的发生 实验环境:一台linux作为web服务器,IP为192.168.100.222 一台win7作为盗链网站,IP为192.168.100.3 一台win7

Apache防盗链和隐藏版本信息

实验要求:三台虚拟机分别是:linux和两台windows虚拟机,linux虚拟机为服务器,Windows7-1为客户端,Windows7-2为盗链端.实验步骤:(一)防盗链1.把httpd.apr.apr-util安装包解压缩到/opt目录中tar zxvf apr-1.4.6.tar.gz -C /opt/tar zxvf apr-util-1.4.1.tar.gz -C /opt/tar zxvf httpd-2.4.2.tar.gz -C /opt/2.切换到opt目录中,把解压的文件夹

实战LAMP之apache调优-1

实战LAMP之apache调优   前言:    生产环境中,部署了apache之后,我们应该从安全还是性能角度,在apache服务上线之前,对其做诸多的优化调试才行.     一:实验目标 LAMP之apache调优 调优目录:           1:屏蔽apache版本等敏感信息           2:源码编译安装apache           3:运行apache的默认用户           4:修改权限和所属           5:错误页面优雅显示           6:启用

实战LAMP之apache调优-2

实战LAMP之apache调优   前言:    生产环境中,部署了apache之后,我们应该从安全还是性能角度,在apache服务上线之前,对其做诸多的优化调试才行.   一:实验目标 LAMP之apache调优 调优目录:           1:屏蔽apache版本等敏感信息           2:源码编译安装apache           3:运行apache的默认用户           4:修改权限和所属           5:错误页面优雅显示           6:启用压缩

第三篇、调优之路 Apache调优

1.  简介 在第一篇中整合了apache + tomcat ,利用了apache解析静态文件为tomcat解压.但是在测试机上发现两者性能不足,不能充分利用服务器的性能,该篇中将对apache进行性能上调优 . 这里的调优针对的是window 平台下 ,linux下apache的调优后续再说. 2. apache调优 2.1 移除不用的模块 apache的功能相当强大,但不是在每个项目中都能用到其所有的功能,其中加载了一些我们通常用不到的模块,这其实是没有必要的 . 去除不用的模块方法很简单,

网站页面静态化与Apache调优(图)

------------------------------------------------------------------------------------------------------- 概念=> 静态网址(静态页面):  1.利于seo 2.访问速度块 3.防止sql注入 动态网址(php页面,可传参数):1.不利seo 2.访问速度慢 3.有被注入sql可能 伪静态(对动态网址的重写):  1.利于seo 2.防止注入 3.仍然访问数据库,访问速度没有变化 [email 

apache 隐藏版本信息隐藏敏感信息

如果我们想隐藏apache的版本信息,或者隐藏apache的敏感信息需要我们在编译之前对以下文件进行修改:(我们以apache的2.2.27版本为列) vim /usr/local/tools/httpd-2.2.27/include/ap_release.h #define AP_SERVER_BASEPRODUCT "Apache"                   改成  Microsoft-IIS 下面标红的是指的apache的版本信息,我们可以做相对应的修改#define