Cara menggunakan Nginx untuk mengelakkan kerentanan HTTP/2
Dengan pembangunan aplikasi web, Nginx telah menjadi pelayan pilihan ramai pembangun dan pentadbir web. Ia mengendalikan protokol pengangkutan dengan cekap dan menyediakan perkhidmatan yang selamat. Walau bagaimanapun, kelemahan keselamatan yang dipanggil kerentanan HTTP/2 telah ditemui baru-baru ini, yang menimbulkan ancaman kepada aplikasi web. Bagaimana untuk menggunakan Nginx untuk mengelakkan kerentanan seperti ini? Mari kita ketahui bersama di bawah.
Pengenalan kepada kerentanan HTTP/2
Pertama sekali, mari kita fahami apakah itu kerentanan HTTP/2? Malah, kelemahan ini disebabkan oleh pelaksanaan HTTP/2 tertentu yang tidak mengendalikan bingkai DATA dengan medan panjang tersirat dengan betul, mengakibatkan serangan penafian perkhidmatan. Penyerang boleh mengeksploitasi kelemahan ini untuk menghantar paket berniat jahat kepada pelayan mangsa, menyebabkan pelayan ranap. Kerentanan ini sudah wujud dalam beberapa pelayan HTTP/2 semasa, seperti Apache dan Nginx.
Bagaimanakah Nginx menghalang kerentanan HTTP/2?
Nginx telah menyelesaikan kerentanan HTTP/2 dalam versi terbaharunya. Jika anda menggunakan Nginx 1.13.10 atau lebih tinggi, anda sudah selamat. Tetapi jika anda masih menggunakan versi Nginx yang lebih rendah daripada ini, maka kami mengesyorkan agar anda menaik taraf segera untuk mengelakkan daripada terdedah kepada serangan.
Tingkatkan versi Nginx
Untuk menaik taraf versi Nginx, anda perlu menyandarkan fail konfigurasi Nginx dan fail berkaitan dahulu, dan pastikan anda boleh memulihkannya. Kemudian, anda perlu memuat turun versi terkini binari Nginx. Anda boleh memuat turun binari dari laman web rasmi atau repositori Nginx.
Sebagai contoh, anda boleh memuat turun binari Nginx terkini pada hos tempatan anda:
$ wget https://nginx.org/packages/mainline/ubuntu/pool/nginx/n/nginx /nginx_1.19.1-1~xenial_amd64.deb
Menyelesaikan isu pergantungan
Sebelum memasang binari Nginx baharu, anda mungkin perlu menyelesaikan beberapa isu pergantungan. Untuk memasang binari Nginx, anda perlu memasang kebergantungan seperti OpenSSL dan PCRE. Anda boleh menggunakan arahan berikut untuk menyelesaikan isu pergantungan ini.
$ sudo apt-get kemas kini
$ sudo apt-get install libpcre3-dev zlib1g-dev libssl-dev
Pasang versi baharu Nginx
Selepas memasang kebergantungan, Anda kini boleh memasang versi terkini Nginx.
$ sudo dpkg -i nginx_1.19.1-1~xenial_amd64.deb
Dayakan HTTP/2
Sebaik sahaja anda berjaya memasang versi baharu Nginx, anda perlu untuk membolehkan HTTP2 Untuk mengelakkan kerentanan HTTP/2. Anda boleh mendayakan HTTP/2 dengan mengubah suai fail konfigurasi Nginx. Buka fail konfigurasi Nginx anda dan cari baris berikut.
dengar 443 ssl;
Tambah baris berikut selepas yang ini
http2;
Barisan akhir anda sepatutnya kelihatan seperti ini:
dengar 443 ssl http2;
Simpan dan tutup fail konfigurasi dan mulakan semula pelayan Nginx.
Firewall
Selain menaik taraf versi Nginx anda dan mendayakan HTTP/2, anda juga harus mempertimbangkan untuk menggunakan firewall untuk meningkatkan keselamatan pelayan anda. Firewall boleh menapis trafik masuk yang tidak perlu dan membenarkan hanya trafik yang selamat sampai ke pelayan web. Anda boleh menggunakan tembok api untuk menyekat akses daripada rangkaian luaran dan membenarkan hanya alamat IP yang dipercayai untuk mengakses pelayan web anda.
Kesimpulan
Di atas ialah beberapa kaedah tentang cara menggunakan Nginx untuk mengelakkan kerentanan HTTP/2. Ingat, adalah penting untuk meningkatkan versi Nginx anda, mendayakan HTTP/2, dan menggunakan tembok api untuk melindungi pelayan web anda. Dengan mengikuti amalan terbaik keselamatan ini, anda akan dapat memastikan aplikasi web anda berjalan dengan selamat dan menentang ancaman serangan web.
Atas ialah kandungan terperinci Cara menggunakan Nginx untuk mengelakkan kerentanan HTTP/2. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Bagaimana untuk mengesahkan sama ada nginx dimulakan: 1. Gunakan baris arahan: status sistem sistem nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. Periksa sama ada port 80 dibuka; 3. Semak mesej permulaan Nginx dalam log sistem; 4. Gunakan alat pihak ketiga, seperti Nagios, Zabbix, dan Icinga.

Di Linux, gunakan arahan berikut untuk memeriksa sama ada nginx dimulakan: Hakim status SistemCTL Nginx berdasarkan output arahan: Jika "Aktif: Aktif (Running)" dipaparkan, Nginx dimulakan. Jika "aktif: tidak aktif (mati)" dipaparkan, nginx dihentikan.

Bagaimana cara mengkonfigurasi nginx di Windows? Pasang Nginx dan buat konfigurasi hos maya. Ubah suai fail konfigurasi utama dan sertakan konfigurasi hos maya. Mulakan atau Muat semula Nginx. Uji konfigurasi dan lihat laman web. Selektif membolehkan SSL dan mengkonfigurasi sijil SSL. Selektif tetapkan firewall untuk membolehkan trafik port 80 dan 443.

Langkah -langkah untuk memulakan Nginx di Linux: Periksa sama ada Nginx dipasang. Gunakan SistemCTL Mula Nginx untuk memulakan perkhidmatan Nginx. Gunakan SistemCTL Dayakan NGINX untuk membolehkan permulaan automatik Nginx pada permulaan sistem. Gunakan Status SistemCTL Nginx untuk mengesahkan bahawa permulaan berjaya. Lawati http: // localhost dalam pelayar web untuk melihat halaman selamat datang lalai.

Memulakan pelayan Nginx memerlukan langkah-langkah yang berbeza mengikut sistem operasi yang berbeza: Sistem Linux/Unix: Pasang pakej Nginx (contohnya, menggunakan apt-get atau yum). Gunakan SystemCTL untuk memulakan perkhidmatan Nginx (contohnya, SUDO SystemCTL Mula Nginx). Sistem Windows: Muat turun dan pasang fail binari Windows. Mula Nginx menggunakan nginx.exe executable (contohnya, nginx.exe -c conf \ nginx.conf). Tidak kira sistem operasi yang anda gunakan, anda boleh mengakses IP pelayan

Pelayan tidak mempunyai kebenaran untuk mengakses sumber yang diminta, mengakibatkan ralat NGINX 403. Penyelesaian termasuk: Periksa keizinan fail. Semak konfigurasi .htaccess. Semak konfigurasi Nginx. Konfigurasikan keizinan Selinux. Semak peraturan firewall. Menyelesaikan masalah lain seperti masalah penyemak imbas, kegagalan pelayan, atau kesilapan lain yang mungkin.

Terdapat dua cara untuk menyelesaikan masalah silang domain Nginx: Ubah suai tajuk tindak balas silang domain: Tambah arahan untuk membenarkan permintaan lintas domain, nyatakan kaedah dan tajuk yang dibenarkan, dan tetapkan masa cache. Gunakan modul CORS: Dayakan modul dan konfigurasikan peraturan CORS untuk membolehkan permintaan, kaedah, tajuk, dan masa cache domain.

Jawab kepada Soalan: 304 Tidak diubahsuai ralat menunjukkan bahawa penyemak imbas telah cache versi sumber terkini permintaan klien. Penyelesaian: 1. Kosongkan cache penyemak imbas; 2. Lumpuhkan cache penyemak imbas; 3. Konfigurasi nginx untuk membolehkan cache pelanggan; 4. Periksa keizinan fail; 5. Semak fail hash; 6. Lumpuhkan CDN atau cache proksi terbalik; 7. Mulakan semula nginx.
