


Kawalan akses HTTP dan kelemahan keselamatan biasa dalam Nginx
Jun 10, 2023 pm 04:46 PMDengan populariti Internet dan kepelbagaian aplikasi, keselamatan laman web telah menjadi tumpuan perhatian. Nginx, pelayan web yang cekap dan fleksibel serta pelayan proksi terbalik, juga berfungsi sebagai komponen penting untuk memastikan keselamatan laman web. Artikel ini akan menumpukan pada kawalan akses HTTP dan kelemahan keselamatan biasa dalam Nginx.
1. Kawalan akses HTTP
1. Proksi terbalik
Dalam operasi sebenar, kami sering mendapati bahawa beberapa keperluan memerlukan penggunaan proksi terbalik untuk kawalan akses. Proksi terbalik Nginx ialah fungsi yang berkuasa dan fleksibel yang boleh menghantar data antara rangkaian dalaman dan rangkaian awam.
Sebagai contoh, apabila syarikat perlu mengakses tapak web luaran, Nginx boleh digunakan untuk mengawal akses dan hanya membenarkan IP dalam syarikat mengakses tapak web. Kaedah ini berkesan boleh menghapuskan serangan daripada rangkaian awam dan meningkatkan keselamatan tapak web.
2. Pengesahan dan kebenaran
Nginx juga menyokong pengesahan asas HTTP dan pengesahan pencernaan. Pengesahan asas HTTP memastikan bahawa hanya pengguna yang diberi kuasa boleh mengakses sumber sasaran dengan menetapkan nama pengguna dan kata laluan. Pengesahan digest HTTP menggunakan algoritma digest untuk menyulitkan kata laluan, menjadikannya lebih selamat dan boleh dipercayai.
Sebagai contoh, kami boleh menambah kod berikut pada fail konfigurasi Nginx untuk melaksanakan pengesahan asas:
location /private { auth_basic "closed site"; auth_basic_user_file conf/users; }
di mana conf/users
menentukan maklumat pengesahan dan kata laluan pengguna. Dengan cara ini, hanya pengguna yang boleh memberikan nama pengguna dan kata laluan yang betul boleh mengakses laluan /private
.
3. Kawalan akses IP
Nginx juga menyediakan mekanisme kawalan yang sepadan untuk akses daripada IP tertentu. Sebagai contoh, anda boleh mengehadkan akses kepada hanya alamat IP dalam intranet syarikat.
Sebagai contoh, kami boleh menambah kod berikut pada fail konfigurasi Nginx untuk melaksanakan kawalan capaian IP:
location /private { deny all; allow 192.168.1.0/24; allow 10.0.0.0/8; allow 172.16.0.0/12; allow 127.0.0.1; allow ::1; deny all; }
Di sini, hak akses terhad kepada julat IP rangkaian dalaman syarikat, iaitu, 10.0.0.0 /8, 172.16.0.0/12 dan 192.168.1.0/24, sambil membenarkan akses daripada alamat IP yang dipercayai 127.0.0.1 dan ::1.
2. Kerentanan keselamatan biasa
- Konfigurasi yang tidak betul
Konfigurasi yang tidak betul ialah salah satu punca umum kelemahan keselamatan pelayan web. Pelayan Nginx tidak membetulkan semua kelemahan keselamatan secara lalai Jika langkah keselamatan yang mencukupi tidak diambil dalam fail konfigurasi, penyerang boleh mendapatkan kebenaran pelayan daripada permintaan berniat jahat dan kemudian mengawal keseluruhan pelayan.
- Suntikan SQL
Suntikan SQL juga merupakan kelemahan keselamatan web yang biasa. Penyerang menyuntik kod SQL ke dalam parameter dan menghantar kenyataan berniat jahat kepada pangkalan data untuk mendapatkan akses haram.
Untuk mengelakkan kelemahan keselamatan seperti suntikan SQL, input pengguna boleh disemak melalui ungkapan biasa untuk menapis kod hasad. Pada masa yang sama, menggunakan Tembok Api Aplikasi Web (WAF) juga merupakan langkah pencegahan yang lebih berkesan.
- Kerentanan XSS
Serangan skrip merentas tapak (XSS) ialah kelemahan keselamatan yang membenarkan serangan rangkaian dilakukan dengan menyerahkan kod haram. Dengan menyuntik kod HTML dan JavaScript tertentu ke dalam borang web, penyerang boleh mengawal sepenuhnya tapak web sasaran untuk mencuri data peribadi pengguna atau melakukan aktiviti haram yang lain.
Kaedah untuk menghalang kerentanan XSS adalah mudah, cuma hadkan input pengguna dalam borang web dan gunakan teknik pengekodan selamat dalam halaman HTML yang dikembalikan.
- Serangan CSRF
CSRF (Cross-Site Request Forgery) serangan pemalsuan permintaan silang tapak ialah sejenis pintasan yang menggunakan kod berniat jahat untuk meminta tapak web secara palsu untuk disembunyikan identiti penyerang Mekanisme keselamatan tapak web sasaran, menghasilkan kaedah serangan yang membawa kepada kelemahan keselamatan.
Secara umumnya, untuk mengelakkan serangan CSRF, anda boleh menambah token rawak pada borang web untuk memastikan permintaan itu datang daripada pengguna itu sendiri.
Ringkasan
Untuk memastikan keselamatan pelayan Nginx, bukan sahaja perlu menguruskan kawalan akses HTTP, tetapi juga memberi perhatian kepada pencegahan kelemahan keselamatan Web biasa. Antaranya, konfigurasi yang tidak betul, suntikan SQL, serangan XSS dan serangan CSRF adalah isu keselamatan yang agak biasa. Semasa membangunkan, menguji dan menerbitkan aplikasi web, pastikan anda mengambil langkah keselamatan yang diperlukan untuk melindungi pelayan web daripada sentiasa berfungsi dalam keadaan selamat.
Atas ialah kandungan terperinci Kawalan akses HTTP dan kelemahan keselamatan biasa dalam Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Kod PHP boleh dilaksanakan dengan banyak cara: 1. Gunakan baris arahan untuk terus memasukkan "nama fail php" untuk melaksanakan skrip; 2. Masukkan fail ke dalam direktori root dokumen dan mengaksesnya melalui penyemak imbas melalui pelayan web; 3. Jalankannya dalam IDE dan gunakan alat debugging terbina dalam; 4. Gunakan kotak pasir PHP dalam talian atau platform pelaksanaan kod untuk ujian.

Memahami laluan fail konfigurasi Nginx dan tetapan awal sangat penting kerana ia adalah langkah pertama dalam mengoptimumkan dan menguruskan pelayan web. 1) Laluan fail konfigurasi biasanya /etc/nginx/nginx.conf. Sintaks boleh didapati dan diuji menggunakan arahan NGINX-T. 2) Tetapan awal termasuk tetapan global (seperti pengguna, worker_processes) dan tetapan HTTP (seperti termasuk, log_format). Tetapan ini membolehkan penyesuaian dan lanjutan mengikut keperluan. Konfigurasi yang salah boleh membawa kepada isu prestasi dan kelemahan keselamatan.

Sistem Linux mengehadkan sumber pengguna melalui perintah ULIMIT untuk mengelakkan penggunaan sumber yang berlebihan. 1.Ulimit adalah arahan shell terbina dalam yang boleh mengehadkan bilangan deskriptor fail (-N), saiz memori (-V), kiraan thread (-u), dan lain-lain, yang dibahagikan kepada had lembut (nilai berkesan semasa) dan had keras (had atas maksimum). 2. Gunakan perintah ULIMIT secara langsung untuk pengubahsuaian sementara, seperti ULIMIT-N2048, tetapi hanya sah untuk sesi semasa. 3. Untuk kesan tetap, anda perlu mengubah suai /etc/security/limits.conf dan fail konfigurasi PAM, dan tambah sessionrequiredpam_limits.so. 4. Perkhidmatan SystemD perlu menetapkan LIM dalam fail unit

Apabila mengkonfigurasi Nginx pada sistem Debian, berikut adalah beberapa petua praktikal: struktur asas fail konfigurasi Global Fail: Tentukan parameter tingkah laku yang mempengaruhi keseluruhan perkhidmatan Nginx, seperti bilangan thread pekerja dan kebenaran pengguna yang sedang berjalan. Bahagian Pengendalian Acara: Memutuskan bagaimana Nginx berurusan dengan sambungan rangkaian adalah konfigurasi utama untuk meningkatkan prestasi. Bahagian Perkhidmatan HTTP: Mengandungi sejumlah besar tetapan yang berkaitan dengan perkhidmatan HTTP, dan boleh membenamkan beberapa pelayan dan blok lokasi. Pilihan Konfigurasi Teras Worker_Connections: Tentukan bilangan maksimum sambungan yang setiap thread pekerja boleh mengendalikan, biasanya ditetapkan ke 1024. Multi_accept: Aktifkan mod penerimaan pelbagai sambungan dan tingkatkan keupayaan pemprosesan serentak. s

NginxserveswebcontentandactsasareVerseProxy, loadbalancer, andmore.1) itefficientlyservesstaticcontentlikehtmlandimages.2) itfunctionsasareverseProxyandloadalancer, distributingtrafficacrosservers.3)

Diagnosis dan penyelesaian untuk kesilapan biasa Nginx termasuk: 1. Lihat fail log, 2. Laraskan fail konfigurasi, 3 mengoptimumkan prestasi. Dengan menganalisis log, menyesuaikan tetapan masa tamat dan mengoptimumkan cache dan mengimbangi beban, kesilapan seperti 404, 502, 504 dapat diselesaikan dengan berkesan untuk meningkatkan kestabilan dan prestasi laman web.

Kemahiran pengoptimuman SEO Debianapache2 meliputi pelbagai peringkat. Berikut adalah beberapa kaedah utama: Penyelidikan Kata Kunci: Gunakan alat (seperti Alat Magic Kata Kunci) untuk melombong kata kunci teras dan tambahan halaman. Penciptaan Kandungan Berkualiti Tinggi: Menghasilkan kandungan yang berharga dan asli, dan kandungan perlu dijalankan penyelidikan mendalam untuk memastikan bahasa yang lancar dan format yang jelas. Susun atur kandungan dan Pengoptimuman Struktur: Gunakan tajuk dan sari kata untuk membimbing bacaan. Tulis perenggan dan ayat yang ringkas dan jelas. Gunakan senarai untuk memaparkan maklumat utama. Menggabungkan multimedia seperti gambar dan video untuk meningkatkan ekspresi. Reka bentuk kosong meningkatkan bacaan teks. Tahap Teknikal Penambahbaikan SEO: Robots.txt Fail: Menentukan hak akses crawler enjin carian. Mempercepatkan Laman Web Memuat: Dioptimumkan dengan bantuan mekanisme caching dan konfigurasi Apache

Langkah -langkah untuk memulakan konfigurasi nginx adalah seperti berikut: 1. Buat fail perkhidmatan Systemd: Sudonano/etc/SystemD/System/nginx.service, dan tambah konfigurasi yang relevan. 2. Muat semula konfigurasi Systemd: SudosystemCtldaemon-Reload. 3. Dayakan Nginx untuk boot secara automatik: sudosystemctlenablenginx. Melalui langkah -langkah ini, NGINX akan dijalankan secara automatik apabila sistem dimulakan, memastikan kebolehpercayaan dan pengalaman pengguna laman web atau aplikasi.
