一、隐藏服务器缺省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 文件 ,找到我们应用程序端口对应的元素,新增 server=“自定义” 属性,覆盖掉原来的server属性。
(2)我们修改后重启Tomcat之后,验证一下我们的修改成果吧:
三、修改Nginx服务器的缺省banner
1、没有修改之前我们看到Nginx服务器显示server属性为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
$ make
$ make install
–prefix=/usr/local/nginx (–prefix是nginx的安装到哪个目录)
(3)启动nginx,我们测试一下效果: