Apabila kami menggunakan Nginx untuk proksi, semua permintaan rangkaian diedarkan melalui Nginx. Selagi ia adalah perisian, akan ada kelemahan.
Nginx pasti akan mempunyai beberapa kelemahan, dan Nginx juga sentiasa mengalami lelaran versi, jadi kita perlu menghalang dunia luar daripada mendapatkan
Versi Nginx. Kurangkan beberapa risiko serangan yang disebabkan oleh pendedahan versi. (Naik taraf kepada versi terkini dalam masa akan memberikan keselamatan yang lebih tinggi.)
Artikel ini memperkenalkan cara menyembunyikan nombor versi Nginx kami untuk mengelakkan serangan luaran.
1. Bagaimana untuk menyemak sama ada versi Nginx pelayan anda disembunyikanBerikut memperkenalkan kaedah pertanyaan dalam persekitaran yang berbeza
(1) tingkap Di bawah persekitarankita boleh mengakses halaman web melalui penyemak imbas, tekan F12 untuk memasuki mod pemeriksaan, dan melalui Rangkaian panel kita boleh melihat semua permintaan rangkaian halaman semasa
Klik pada mana-mana antara muka dan anda boleh melihat data berikut melalui Pengepala Respons di bawah Panel pengepala dalam butiran permintaan pop timbul: Antaranya Pelayan akan memaparkan nombor versi nginx anda kemudian:
Accept-Ranges: bytes Access-Control-Allow-Credentials: true Access-Control-Allow-Headers: Content-Type,ADMIN-Authorization,API-Authorization Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS Access-Control-Max-Age: 3600 Cache-Control: public,max-age=60,s-maxage=60 Content-Encoding: gzip Content-Length: 3348 Content-Type: application/javascript Date: Fri, 23 Sep 2022 01:55:37 GMT Last-Modified: Tue, 08 Mar 2022 07:14:08 GMT Server: nginx/1.23.0 Vary: Origin
Contoh di atas adalah contoh di mana nombor versi nginx terdedah. Jika nombor versi disembunyikan, Ia akan dipaparkan sebagai: Pelayan: nginx/ Tidak akan ada nombor versi.
(2) Di bawah persekitaran LinuxBerbanding dengan kaedah pertanyaan dalam tingkap, pertanyaan Linux boleh ditanya terus melalui perintah curl -I .
Sebagai contoh, semak kesan tapak ini:
[root@iZuf63tu3fn1swasqa62h8Z nginx]# curl -I zinyan.com HTTP/1.1 301 Moved Permanently Server: nginx Date: Fri, 23 Sep 2022 02:09:49 GMT Content-Type: text/html Content-Length: 178 Connection: keep-alive Location: https://zinyan.com/
Jika versi nginx tidak disembunyikan, nombor versi akan ditambah selepas nginx .
2. Sembunyikan versi NginxKaedah penyembunyian agak mudah: anda perlu membuka fail konfigurasi nginx.conf. (Biasanya direktori fail berada dalam /etc/nginx/nginx.conf)
Tukar ke direktori di mana fail nginx.conf berada dan gunakan vim nginx.conf Buka fail. (Tekan I untuk masuk ke mod edit)
Kemudian tambah di bawah tahap pelayan: server_tokens off; Jika terdapat server_token pada asalnya, tukar nilai dihidupkan, jika tidak, tambahkan keseluruhannya.
Kesannya adalah seperti berikut:
http{ ... server{ listen 80 default_server; listen [::]:80 default_server; server_name_; root /usr/share/nginx/html; server_tokens off;#添加这一项就可以了 location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } }
Selepas menambah, tekan kekunci Esc untuk keluar dari mod pengeditan, dan kemudian masukkan :wq Hanya simpan dan keluar. (Jika anda tidak biasa dengan arahan vim, anda boleh mengetahui tentangnya melalui https://zinyan.com/?p=23)
Pelaksanaan akhir:
nginx -s reload
Mulakan semula nginx. Ini akan membolehkan anda menyembunyikan versi.
Secara lalai, nginx tidak menyembunyikan nombor versi. Kita perlu mengkonfigurasinya sendiri secara aktif.
Atas ialah kandungan terperinci Bagaimana untuk menyembunyikan nombor versi Nginx kami. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!