Rumah > Artikel > Operasi dan penyelenggaraan > Kawalan akses HTTP dan kelemahan keselamatan biasa dalam Nginx
Dengan 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 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 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.
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.
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!