在互聯網中,我們要隨時防止別人的滲透,所以我們要學會隱藏自己。在nginx中,我們訪問http會話的話,response返回的header 中會返回 Server:nginx/版本號,如筆者使用1.7.0,則返回 Server:nginx/1.7.0,這個東西被黑客看到的話,基本上可以根據指定的版本尋找攻擊了,所以我們要隱藏版本號或者返回一個自定義的server給客戶端。
1、隱藏版本號:
#vi nginx.conf
在http 加上 server_tokens off;
如下:
http {
……省略配置
server_tokens off; ->即可隱藏版本號
…….省略配置
}
重啟nginx后,我們返回的Server頭格式為Server:nginx ,而且nginx自己的404頁面也沒有版本號的信息
2、返回自定義的server
修改Server信息
我是不太愿意告訴別人我是使用什么Server的,但沒有找到相關文獻去隱藏它,所以我們可以混淆她,如把Server返回GFW之類的,嚇唬嚇唬那些腳本小子
大部分情況下,腳本的小子的掃描工具是掃描我們response返回的header中的server信息.我們可以采用編譯源碼的方法來改變返回的Server,筆者的版本是nginx1.7.0,我們修改src/http/ngx_http_header_filter_module.c 中的48行
static char ngx_http_server_string[] = "Server: nginx" CRLF;
把其中的nginx改為我們自己想要的文字即可,筆者就改為了GFW. 筆者輸出的Server:GFW.(這個前提是你進行了第一個步句的操作,關閉了版本號)
如果你的版本號是開著的,你又想調戲下腳本小子.比如Server:billgate/1.9.0
我們修改src/core/nginx.h 定位到13-14行
#define NGINX_VERSION "1.7.0"
#define NGINX_VER "nginx/" NGINX_VERSION
Server返回的就是常量NGINX_VER, 我們把NGINX_VERSION大小定義為1.9.0,nginx改為billgate就能達到我們的目的了
新聞熱點
疑難解答