隱藏 Nginx 版本號和軟件名

隱藏nginx版本號:

首先,爲什麼要隱藏版本號?

  因爲一般來說,軟件的漏洞都與版本有關,隱藏版本號是爲了防止惡意用戶利用軟件漏洞進行攻擊。

查看服務器響應的頭部信息(查看是否隱藏版本號和軟件名):
[root@nginx51 ~]# curl -I http://localhost/ ##curl - -I

進入 /usr/local/nginx/conf/nginx.conf

再http的行內寫入一條 " server_tokens off; "即可

http {
    include       mime.types;
    default_type  application/octet-stream;
    server_tokens off;      #隱藏版本號
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

   #access_log  logs/access.log  main;

   sendfile        on;
    #tcp_nopush     on;

   #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

隱藏版本號前:
HTTP/1.1 200 OK
Server: nginx/1.12.2 ##顯示了版本號
Date: Thu, 08 Nov 2018 08:05:22 GMT
Content-Type:text/html
Content-Length: 612
Last-Modified:Thu, 08 Nov 2018 07:32:55 GMT
Connection: keep-alive
ETag: “5be3e6a7-264”
Accept-Ranges: bytes
在這裏插入圖片描述

隱藏版本號後:
HTTP/1.1 200 OK
Server: nginx ##不顯示版本號
Date: Thu, 08 Nov 2018 08:05:39 GMT
Content-Type:text/html
Content-Length: 612名
Last-Modified:Thu, 08 Nov 2018 07:32:55 GMT
Connection: keep-alive
ETag: “5be3e6a7-264”
Accept-Ranges: bytes
在這裏插入圖片描述

修改軟件名:

爲什麼要修改軟件名?

因爲黑客知道是 Nginx 服務器後更容易進行攻擊,需要注意的是,修改 Nginx 軟件名需要重新編譯安裝 Nginx ,如果沒有該方面需求儘量不要做

cd進入nginx的源碼包目錄後
[root@nginx51 ~]# cd /root/nginx-1.12.2/

[root@nginx51 nginx-1.12]# vim +48 src/http/ngx_http_header_filter_module.c
//注意:vim這條命令必須在nginx-1.12源碼包目錄下執行,+48的意思是vim進入後直接調轉再第48行

找到這三行更改爲
static u_char ngx_http_server_full_string[] = "Server:"NGINX_VER CRLF;

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章