Nginx ialah pelayan web sumber terbuka, proksi terbalik dan pengimbang beban yang sangat popular dan digunakan secara meluas dalam aplikasi Internet dan aplikasi peringkat perusahaan. Oleh kerana fleksibiliti dan kebolehpercayaannya, banyak syarikat dan perusahaan menggunakan Nginx sebagai pelayan web dan proksi terbalik mereka. Walau bagaimanapun, disebabkan oleh tahap penyesuaian dan fleksibiliti Nginx yang tinggi, kebimbangan keselamatan juga mungkin timbul. Oleh itu, amalan terbaik pengurusan keselamatan Nginx yang betul adalah sangat penting.
Berikut ialah beberapa amalan terbaik pengurusan keselamatan Nginx yang biasa:
Nginx harus dijalankan berdasarkan prinsip keistimewaan yang paling sedikit. Ini bermakna proses Nginx hanya perlu mempunyai kebenaran yang diperlukan untuk dijalankan, sebagai contoh, jika aplikasi anda hanya perlu membaca fail statik, anda tidak perlu memberikan kebenaran menulis dan melaksanakan kepada Nginx. Melakukannya mengurangkan kelemahan yang boleh dieksploitasi oleh penyerang dan mengurangkan potensi risiko keselamatan.
Arahan kemasukan fail dalam fail konfigurasi Nginx boleh digunakan oleh penyerang untuk membaca fail sensitif pada sistem. Oleh itu, anda harus melumpuhkan fail sertakan arahan atau pastikan ia hanya termasuk laluan fail yang anda percayai. Sebagai contoh, arahan berikut boleh ditambah pada fail konfigurasi Nginx anda untuk mengelakkan serangan kemasukan fail:
location / { try_files $uri $uri/ =404; internal; }
Dalam fail konfigurasi Nginx, Salah arahan dan parameter boleh menyebabkan isu keselamatan. Oleh itu, anda harus menyemak semula fail konfigurasi Nginx anda dan pastikan ia betul. Anda boleh menggunakan arahan "nginx -t" untuk menguji fail konfigurasi anda dan melihat jika terdapat sebarang ralat sintaks atau mesej amaran.
Distributed denial of service attack (DDoS) ialah kaedah serangan biasa yang mungkin menyebabkan perkhidmatan berhenti bertindak balas. Untuk mengelakkan serangan DDoS, anda boleh menggunakan modul pengehad kadar Nginx. Modul ini membolehkan anda menetapkan had kadar yang mengehadkan bilangan dan kadar permintaan. Anda boleh mendayakan modul pengehad kadar menggunakan arahan berikut:
location / { limit_req zone=mylimit burst=5; }
Dalam contoh di atas, kami menetapkan had permintaan kepada maksimum 5 permintaan sesaat setiap alamat IP.
Anda boleh melindungi tapak web anda dengan menggunakan arahan kawalan akses Nginx. Sebagai contoh, arahan berikut akan membolehkan kawalan akses untuk pelanggan dengan alamat IP 192.168.1.1:
location /admin { allow 192.168.1.1; deny all; }
Dalam contoh di atas, kami hanya membenarkan pelanggan dengan alamat IP 192.168.1.1 untuk mengakses direktori /admin dan Tolak akses kepada pelanggan lain.
Nginx menyokong protokol SSL/TLS dan menyediakan sokongan untuk protokol HTTPS. Anda boleh mendayakan SSL/TLS untuk tapak web anda untuk memastikan data disulitkan semasa penghantaran. Untuk melindungi tapak web anda, anda harus menggunakan kata laluan yang kukuh dan algoritma penyulitan seperti AES dan RSA. Anda juga harus menetapkan protokol SSL/TLS kepada versi terkini untuk memastikan keselamatan maksimum. Anda boleh mendayakan SSL/TLS untuk tapak web anda menggunakan arahan berikut:
listen 443 ssl; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/cert.key;
Dalam contoh di atas, arahan "ssl_certificate" mengandungi sijil SSL/TLS anda, yang boleh diperoleh daripada pihak berkuasa yang mengeluarkan. Arahan "ssl_certificate_key" mengandungi kunci peribadi anda.
Ringkasnya, amalan terbaik pengurusan keselamatan Nginx melibatkan banyak aspek, termasuk prinsip keistimewaan paling rendah, mencegah serangan kemasukan fail, mencegah serangan DDoS, kawalan akses selamat dan protokol SSL/TLS, dsb. Dengan mengikuti amalan terbaik ini, anda boleh mengurangkan risiko serangan pada pelayan Nginx anda dan memastikan keselamatan tapak web dan aplikasi anda.
Atas ialah kandungan terperinci Amalan terbaik pengurusan keselamatan Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!