JAVA资料 ·

Tomcat服务器和Nginx服务器的缺省banner的修改全过程

原文: https://blog.csdn.net/honyer455/article/details/86491269

一、隐藏服务器缺省banner的目的

    通过隐藏服务器缺省banner,可以避免黑客获取真实的服务器类型和版本信息,间接地增加攻击难度。

二、查看服务器的缺省banner(标记)的命令

1、Linux:        curl  -I 服务器ip:port   , 就是获取http响应头 。       

Tomcat服务器和Nginx服务器的缺省banner的修改全过程 JAVA资料 第1张

通过命令返回的信息,我们可以看到这是Tomcat的缺省banner:Apache-Coyote/1.1。

 2、Windows:我们可以利用浏览器查看响应头

           步骤:①打开浏览器 ——> ② 按F12,打开开发者工具 ——> ③输入请求地址 

                      ——> 查看开发者工具网络(Network),即可看到响应头

Tomcat服务器和Nginx服务器的缺省banner的修改全过程 JAVA资料 第2张

上面截图我是用的是谷歌浏览器,其他浏览器大同小异。

二、修改Tomcat服务器缺省banner 

        (1)我们可以编辑Tomcat(安装目录)/conf/server.xml 文件 ,找到我们应用程序端口对应的<Connector>元素,新增 server="自定义" 属性,覆盖掉原来的server属性。

Tomcat服务器和Nginx服务器的缺省banner的修改全过程 JAVA资料 第3张

(2)我们修改后重启Tomcat之后,验证一下我们的修改成果吧:

Tomcat服务器和Nginx服务器的缺省banner的修改全过程 JAVA资料 第4张

三、修改Nginx服务器的缺省banner

 1、没有修改之前我们看到Nginx服务器显示server属性为nginx。

Tomcat服务器和Nginx服务器的缺省banner的修改全过程 JAVA资料 第5张

2、由于Nignx没有提供相关配置项改变缺省banner,所以我们需要改变源码,然后重编译和重新安装一下,具体操作:

        (1)   找到/opt/nginx/nginx-1.14.1/src/http/ngx_http_header_filter_module.c文件(我的nginx的安装目录为/opt/nginx/nginx-1.14.1),修改以下变量的声明:   

             static u_char ngx_http_server_string[] = "Server: nginx" CRLF;
             static u_char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;
             static u_char ngx_http_server_build_string[] = "Server: " NGINX_VER_BUILD CRLF;      

             修改为:

            static u_char ngx_http_server_string[] = "Server: unkowna" CRLF;
            static u_char ngx_http_server_full_string[] = "Server: unkowna " CRLF;
            static u_char ngx_http_server_build_string[] = "Server: unkowna" CRLF;

        (2)执行编译命令:

$ ./configure --prefix=/usr/local/nginx          
$ make
$ make install

--prefix=/usr/local/nginx   (--prefix是nginx的安装到哪个目录)    

        (3)启动nginx,我们测试一下效果:

Tomcat服务器和Nginx服务器的缺省banner的修改全过程 JAVA资料 第6张