Nginx安全优化
目录
0.1 修改服务名称
将Nginx服务器名称修改为任意名字,可以稍微的伪装一下。
一般修改都是在nginx编译之前修改,修改完了之后需要重新编译。
文件一:src/core/nginx.h
#define NGINX_VER "nginx/" NGINX_VERSION
//修改为
#define NGINX_VER "bwcx/" NGINX_VERSION
#define NGINX_VAR "NGINX"
//修改为
#define NGINX_VAR "BWCX"
文件二:src/http/ngx_http_header_filter_module.c
static u_char ngx_http_server_string[] = "Server: nginx" CRLF;
//修改为
static u_char ngx_http_server_string[] = "Server: bwcx" CRLF;
文件三:src/http/ngx_http_special_response.c
"<hr><center>nginx</center>" CRLF
//修改为
"<hr><center>bwcx</center>" CRLF
文件四:src/http/v2/ngx_http_v2_filter_module.c
"http2 output header: \"server: nginx\"");
//修改为
"http2 output header: \"server: bwcx\"");
通过修改上面4个文件,我们已将nginx服务器名修改为了bwcx
,如果不想去找到文件一个一个修改,也可以使用sed
命令直接替换:
sed -i "s#\"NGINX\"#\"BWCX\"#" src/core/nginx.h
sed -i "s#\"nginx/\"#\"bwcx/\"#" src/core/nginx.h
sed -i "s#Server: nginx#Server: bwcx#" src/http/ngx_http_header_filter_module.c
sed -i "s#\"<hr><center>nginx<\/center>\"#\"<hr><center>bwcx<\/center>\"#" src/http/ngx_http_special_response.c
0.2 隐藏版本号
除了随意修改版本号之外,还可以隐藏版本号:
修改nginx.conf
在http{}
加入
http {
server_tokens off;
}
就可以隐藏版本号了。