溫馨提示×
您好,登錄后才能下訂單哦!
在生產(chǎn)環(huán)境中,需要隱藏Nginx的版本號,以避免安全漏洞的泄漏
使用fiddler工具在Windows客戶端查看Nginx版本號
[root@localhost ~]# mkdir /mnt/tools
[root@localhost ~]# smbclient -L //192.168.100.50/
Enter SAMBA\root's password:
OS=[Windows 10 Enterprise LTSC 2019 17763] Server=[Windows 10 Enterprise LTSC 2019 6.3]
Sharename Type Comment
--------- ---- -------
IPC$ IPC 遠程 IPC
share Disk
tools Disk
Users Disk
Connection to 192.168.100.50 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
NetBIOS over TCP disabled -- no workgroup available
[root@localhost ~]# mount.cifs //192.168.100.50/tools /mnt/tools/
Password for root@//192.168.100.50/tools:
[root@localhost ~]#
[root@localhost ~]# cd /mnt/tools/
[root@localhost tools]# ls
awstats-7.6.tar.gz extundelete-0.2.4.tar.bz2 forbid.png jdk-8u191-windows-x64.zip LAMP-C7 picture.jpg
cronolog-1.6.2-14.el7.x86_64.rpm fiddler.exe intellijideahahau2018.rar john-1.8.0.tar.gz LNMP
[root@localhost tools]# cd LNMP/
[root@localhost LNMP]# ls
Discuz_X3.4_SC_UTF8.zip mysql-boost-5.7.20.tar.gz nginx-1.12.2.tar.gz php-7.1.10.tar.bz2 php-7.1.20.tar.gz
[root@localhost LNMP]# tar zxvf nginx-1.12.2.tar.gz -C /opt/
...............//省略解壓過程
[root@localhost LNMP]#
[root@localhost ~]# yum install gcc gcc-c++ pcre-devel zlib-devel -y
...........//省略安裝過程
[root@localhost ~]#
[root@localhost LNMP]# cd /opt/
[root@localhost opt]# ls
nginx-1.12.2 rh
[root@localhost opt]# cd nginx-1.12.2/
[root@localhost nginx-1.12.2]# ls
auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
[root@localhost nginx-1.12.2]#
[root@localhost nginx-1.12.2]# useradd -M -s /sbin/nologin nginx //-M 不創(chuàng)建家目錄
[root@localhost nginx-1.12.2]# id nginx
uid=1001(nginx) gid=1001(nginx) 組=1001(nginx)
[root@localhost nginx-1.12.2]#
[root@localhost nginx-1.12.2]# ./configure \
> --prefix=/usr/local/nginx \ //安裝路徑
> --user=nginx \ //屬主
> --group=nginx \ //屬組
> --with-http_stub_status_module //啟用統(tǒng)計模塊
[root@localhost nginx-1.12.2]# make && make install
..........//省略過程
[root@localhost nginx-1.12.2]#
[root@localhost nginx-1.12.2]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/ //建立軟鏈接
[root@localhost nginx-1.12.2]# nginx -t //配置文件測試
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost nginx-1.12.2]#
腳本一:通過“systemctl”命令管理
[root@localhost nginx-1.12.2]# cd /lib/systemd/system
[root@localhost system]# vim nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/bin/kill -s HUP $MAINPID
ExecStop=/usr/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[root@localhost system]# chmod 754 nginx.service //添加執(zhí)行權(quán)限
[root@localhost system]# systemctl start nginx.service //開啟服務
[root@localhost system]# netstat -ntap | grep 80 //查看tcp80端口
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 52924/nginx: master
[root@localhost system]#
[root@localhost system]# systemctl stop firewalld.service //關(guān)閉防火墻
[root@localhost system]# setenforce 0
[root@localhost system]#
腳本二:通過“service”命令管理
[root@nginx nginx-1.12.2]# vim /etc/init.d/nginx
#!/bin/bash
# chkconfig: - 99 20
# description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
start)
$PROG
;;
stop)
kill -s QUIT $(cat $PIDF)
;;
restart)
$0 stop
$0 start
;;
reload)
kill -s HUP $(cat $PIDF)
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
exit 0
[root@nginx nginx-1.12.2]#
[root@nginx nginx-1.12.2]# chmod +x /etc/init.d/nginx //添加執(zhí)行權(quán)限
[root@nginx nginx-1.12.2]# chkconfig --add nginx //添加讓service能識別nginx服務
[root@nginx nginx-1.12.2]#
[root@nginx nginx-1.12.2]# service nginx start //開啟服務
[root@nginx nginx-1.12.2]# netstat -ntap | grep 80 //查看tcp80端口
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 58696/nginx: master
[root@nginx nginx-1.12.2]#
[root@nginx nginx-1.12.2]# systemctl stop firewalld.service //關(guān)閉防火墻
[root@nginx nginx-1.12.2]# setenforce 0
[root@nginx nginx-1.12.2]#
[root@localhost nginx-1.12.2]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.52.131 netmask 255.255.255.0 broadcast 192.168.52.255
inet6 fe80::8629:c3e2:139c:884a prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:7a:41:33 txqueuelen 1000 (Ethernet)
RX packets 53364 bytes 74679913 (71.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 16068 bytes 1016893 (993.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@localhost nginx-1.12.2]# curl -I http://192.168.52.131/
HTTP/1.1 200 OK
Server: nginx/1.12.2 //版本號
Date: Wed, 13 Nov 2019 07:10:22 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Wed, 13 Nov 2019 07:03:51 GMT
Connection: keep-alive
ETag: "5dcbaad7-264"
Accept-Ranges: bytes
[root@localhost nginx-1.12.2]#
[root@localhost nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf
http {
include mime.types;
default_type application/octet-stream;
server_tokens off; //添加,關(guān)閉版本號顯示
[root@localhost nginx-1.12.2]# service nginx restart
[root@localhost nginx-1.12.2]# curl -I http://192.168.52.131/
HTTP/1.1 200 OK
Server: nginx //版本號不再顯示
Date: Wed, 13 Nov 2019 07:15:09 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Wed, 13 Nov 2019 07:03:51 GMT
Connection: keep-alive
ETag: "5dcbaad7-264"
Accept-Ranges: bytes
[root@localhost nginx-1.12.2]#
[root@localhost nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf
http {
include mime.types;
default_type application/octet-stream;
server_tokens on; //開啟版本號顯示
[root@localhost nginx-1.12.2]# vim src/core/nginx.h
#define nginx_version 1012002
#define NGINX_VERSION "1.1.1" //修改版本號為1.1.1
#define NGINX_VER "nginx/" NGINX_VERSION
[root@localhost nginx-1.12.2]# ls
auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
[root@localhost nginx-1.12.2]# ./configure \
> --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx \
> --with-http_stub_status_module
........//省略配置過程
[root@localhost nginx-1.12.2]# make && make install
.........//省略編譯過程
[root@localhost nginx-1.12.2]#
[root@localhost nginx-1.12.2]# service nginx restart //開啟服務
[root@localhost nginx-1.12.2]# curl -I http://192.168.52.131/ //查看版本
HTTP/1.1 200 OK
Server: nginx/1.1.1 //版本號偽裝成功
Date: Wed, 13 Nov 2019 07:35:32 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Wed, 13 Nov 2019 07:03:51 GMT
Connection: keep-alive
ETag: "5dcbaad7-264"
Accept-Ranges: bytes
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。