在生產(chǎn)環(huán)境中,需要隱藏Nginx的版本號,以減少安全隱患
創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的陜州網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
1、使用fiddler I具在Windows客戶端查看Nginx版本號,
在CentOS系統(tǒng)中使用“curl -I 網(wǎng)址”命令查看
1、修改配置文件法
2、修改源碼法
一、修改配置文件法
1.Nginx的配置文件中的server_ tokens 選項的值設(shè)置為off
[root@www conf]# vim nginx.conf
.....
server_ tokens off;
.....
[root@www conf]# nginx -t
2、重啟服務(wù),訪問網(wǎng)站使用curl -I命令檢測
[root@www conf]# service nginx restart
[root@www conf]# curl -1 http://192.1 68.9.209/
HTTP/1.1200 OK
Server: nginx
3.若php配置文件中配置了fastcgi param SERVER SOFTWARE選項。則編輯php-fpm配置文件,將fastcgi param SERVER SOFTWARE對應(yīng)的值修改為
fastcgi_ param SERVER_ SOFTWARE nginx ;
二、修改源碼法
除了將版本號進(jìn)行隱藏,我們還可以給意圖不軌者一個錯誤的版本號,修改nginx.hwen件 (缺點:需要將nginx重新進(jìn)行編譯安裝)
[root@localhost nginx]# cd /opt/nginx-1.12.2/src/core/
修改該目錄下源碼文件nginx.h
[root@localhost core]# vim nginx.h
#define NGINX_VERSION "9.9.9"
修改偽裝版本號
將nginx進(jìn)行重新編譯安裝
[root@localhost core]# cd /opt/nginx-1.12.2/
[root@localhost nginx-1.12.2]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx
[root@localhost nginx-1.12.2]# make && make install //重新進(jìn)行編譯安裝
[root@localhost nginx-1.12.2]# cd /usr/local/nginx/conf/
[root@localhost conf]# service nginx stop //重啟服務(wù)
[root@localhost conf]# service nginx start
檢查是否偽裝成功(確保主配置文件中server_tokens on;)
[root@localhost conf]# curl -I http://192.168.142.128
HTTP/1.1 200 OK
Server: nginx/9.9.9 //偽裝成功
Date: Wed, 13 Nov 2019 08:38:17 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Wed, 13 Nov 2019 08:04:45 GMT
Connection: keep-alive
ETag: "5dcbb91d-264"
Accept-Ranges: bytes
為了保證資源的最有效的利用,不被長時間不進(jìn)行操作的用戶所占用,因此就需要進(jìn)行超時時間的管理。
1、修改主配置文件
[root@localhost conf]# pwd
/usr/local/nginx/conf
[root@localhost conf]# vim nginx.conf
找到'keepalive_timeout',修改并在下面添加
keepalive_timeout 65 180; #前后分別為服務(wù)器端超時時間,客戶端超時時間。
client_header_timeout 80; #等待客戶端發(fā)送請求頭的超時時間
client_body_timeout 70; #客戶端發(fā)請求體超時時間
[root@localhost conf]# service nginx stop
[root@localhost conf]# service nginx start
1、通常默認(rèn)情況下,nginx的運行進(jìn)程(worker_processes)僅為1
[root@localhost conf]# ps aux | grep nginx
root 43055 0.0 0.0 20540 608 ? Ss 17:13 0:00 nginx: master process /usr/local/nginx/sbin/nginx //主進(jìn)程不可改變
nginx 43056 0.0 0.0 23064 1380 ? S 17:13 0:00 nginx: worker process //工作進(jìn)程可以根據(jù)具體情況手動進(jìn)行更改
root 43189 0.0 0.0 112728 968 pts/1 S+ 17:25 0:00 grep --color=auto nginx
2、為了給有多核處理器的服務(wù)器有更高的處理效率,我們需要對進(jìn)程進(jìn)行修改(本次實驗環(huán)境為2核服務(wù)器)
[root@localhost conf]# pwd
/usr/local/nginx/conf
[root@localhost conf]# vim nginx.conf
搜索'worker_processes',并添加
worker_processes 2; #修改為與cpu數(shù)量相同
worker_cpu_affinity 01 10; #設(shè)置每個進(jìn)程由不同cpu處理
[root@localhost conf]# service nginx stop #重啟服務(wù)
[root@localhost conf]# service nginx start
3、此時,我們再次查看nginx的進(jìn)程(會擁有兩條工作進(jìn)程)
[root@localhost conf]# ps aux | grep nginx
root 43353 0.0 0.0 20540 604 ? Ss 17:36 0:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 43354 0.0 0.0 23064 1372 ? S 17:36 0:00 nginx: worker process
nginx 43355 0.0 0.0 23064 1364 ? S 17:36 0:00 nginx: worker process
root 43367 0.0 0.0 112728 972 pts/1 S+ 17:37 0:00 grep --color=auto nginx