1. 程式人生 > >防黑客攻擊服務器,如何在網絡上隱藏Nginx軟件名與版本號

防黑客攻擊服務器,如何在網絡上隱藏Nginx軟件名與版本號

nginx安全 nginx

2、更改源碼隱藏Nginx軟件名及版本號

① 依次修改3個Nginx源碼文件

# vim /usr/local/src/nginx-1.6.3/src/core/nginx.h

找到

#define nginx_version 1006003

#define NGINX_VERSION "1.6.3" <-- 修改為先要顯示的版本號

#define NGINX_VER "nginx/" NGINX_VERSION <-- 修改為想要顯示的軟件名


#define NGINX_VAR "nginx" <-- 修改為想要顯示的軟件名

#define NGX_OLDPID_EXT ".oldbin"

修改為

#define nginx_version 1006003

#define NGINX_VERSION "2.2.23"

#define NGINX_VER "OWS/" NGINX_VERSION


#define NGINX_VAR "OWS"

#define NGX_OLDPID_EXT ".oldbin"

② 修改第二個Nginx源碼文件

# vim /usr/local/src/nginx-1.6.3/src/http/ngx_http_header_filter_module.c

找到

49 static char ngx_http_server_string[] = "Server: nginx" CRLF;

## 將 nginx 修改為想要顯示的軟件名

修改為

49 static char ngx_http_server_string[] = "Server: OWS" CRLF;

③ 修改第三個文件,在網站對外報錯時,它會控制敏感信息

# vim /usr/local/src/nginx-1.6.3/src/http/ngx_http_special_response.c

找到

"<hr><center>" NGINX_VER "</center>" CRLF

修改為

"<hr><center>" NGINX_VER " ([email protected])</center>" CRLF

## 當網站對外報錯時會顯示此段內容

找到

"<hr><center>nginx</center>" CRLF

## 將 nginx 修改為想要顯示的軟件名

修改為

"<hr><center>OWS</center>" CRLF

④ 修改後編譯軟件使其生效,如果是以安裝好的軟件,需要重新編譯Nginx按之前的編譯在編譯一次,配置好配置,啟動服務

在重新編譯後還需要將之前的nginx服務殺死,在啟動方能失效

最後結果

# curl -I www.123.org

HTTP/1.1 200 OK

Server: OWS

Date: Tue, 24 Apr 2018 14:59:04 GMT

Content-Type: text/html; charset=UTF-8

Connection: keep-alive

X-Powered-By: PHP/5.3.27

Link: <http://www.123.org/wp-json/>; rel="https://api.w.org/"

之前配置了隱藏版本號,所以不顯示版本


防黑客攻擊服務器,如何在網絡上隱藏Nginx軟件名與版本號