一、隱藏服務器缺省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