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

    技术2022-08-01  85

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

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

     

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

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

          

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

       

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

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

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

     

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

     

    二、修改Tomcat服务器缺省banner 

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

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

     

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

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

         

     

    ******我自己的不是nginx

     

      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      

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

    ******

    我是这样做的:(我之前安装过)

    先执行:/usr/local/nginx/sbin/nginx -V

    这是make之前执行的,看了一下我的模块

    再执行:make的时候要把相关模块也编译一下。什么ssl之类的

    ./configure  --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

    最后make   

    $ make$ make install

     

    ******

    注意:如果安装过nginx的 修改设置信息后,不需要install。

    我的服务器之前安装过所以没有执行install。

    把原来的脚本备份一下 /usr/local/nginx/sbin/nginx 

    将最新的脚本拷贝到这个目录下/usr/local/nginx/sbin/

        

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

     

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

    我改后的效果

    curl -i 127.0.0.1:80

    nginx

    tomcat

     

    Processed: 0.017, SQL: 10