Bagaimana untuk menggunakan pelayan Linux untuk meningkatkan penapisan dan pemeriksaan antara muka web?
Sebagai pintu masuk utama ke aplikasi Internet, keselamatan antara muka Web sentiasa menarik perhatian ramai. Untuk melindungi antara muka web, kami biasanya mengambil pelbagai langkah untuk menapis dan memeriksa permintaan dan data tindak balas antara muka. Dalam artikel ini, kami akan memperkenalkan cara menggunakan pelayan Linux untuk meningkatkan penapisan dan pemeriksaan antara muka web, dan menyediakan contoh kod.
1. Gunakan Nginx untuk kawalan akses
Nginx ialah pelayan proksi terbalik HTTP berprestasi tinggi yang boleh digunakan sebagai pelayan hadapan untuk kawalan akses. Dengan mengkonfigurasi Nginx, kami boleh menyekat akses kepada alamat IP tertentu atau julat alamat IP untuk memastikan bahawa hanya permintaan yang sah boleh lulus.
Contoh fail konfigurasi adalah seperti berikut:
server { listen 80; server_name example.com; location /api { deny 192.168.0.0/24; allow all; } location / { root /var/www/html; index index.html; } }
Dalam konfigurasi di atas, permintaan di bawah laluan /api akan dihadkan, kecuali untuk segmen alamat IP 192.168.0.0/ 24 akses akan dibenarkan. Permintaan lain akan diubah hala ke fail index.html dalam direktori /var/www/html.
2. Gunakan Nginx untuk penapisan permintaan
Selain kawalan akses, kami juga boleh menggunakan Nginx untuk penapisan permintaan. Dengan mengkonfigurasi modul tulis semula Nginx dan proksi terbalik, kami boleh menapis beberapa permintaan berniat jahat atau parameter haram.
Contoh fail konfigurasi adalah seperti berikut:
server { listen 80; server_name example.com; location /api { if ($args ~ (?:[^=s&]+)(?:&[^=s&]+)*$) { return 403; } proxy_pass http://backend; } location / { root /var/www/html; index index.html; } }
Dalam konfigurasi di atas, jika parameter permintaan mengandungi aksara yang tidak sah atau format parameter tidak betul, ralat 403 akan dikembalikan . Permintaan yang sah akan dimajukan ke pelayan bahagian belakang.
3. Gunakan ModSecurity untuk firewall lapisan aplikasi
Cara lain untuk mengukuhkan penapisan dan pemeriksaan antara muka Web ialah menggunakan ModSecurity, yang merupakan tembok api lapisan aplikasi Web sumber terbuka. Dengan mengkonfigurasi ModSecurity, kami boleh melakukan pemeriksaan dan penapisan mendalam terhadap data permintaan dan tindak balas.
Fail konfigurasi sampel adalah seperti berikut:
SecRuleEngine On SecRequestBodyLimit 13107200 SecRequestBodyInMemoryLimit 13107200 SecRequestBodyNoFilesLimit 13107200 SecRequestBodyAccess On SecRule REQUEST_METHOD "POST" "id:1,phase:1,t:none,pass,nolog,ctl:requestBodyProcessor=XML" SecRule REQUEST_HEADERS:Content-Type "application/(?:json|xml)" "id:2,phase:1,t:none,pass,nolog,ctl:requestBodyProcessor=JSON" SecRule REQUEST_HEADERS:Content-Type "application/x-www-form-urlencoded" "id:3,phase:1,t:none,pass,nolog,ctl:requestBodyProcessor=UTF8" SecResponseBodyAccess Off SecDefaultAction "phase:2,log,auditlog,pass" <LocationMatch "^/api/"> SecRuleRemoveById 920140 </LocationMatch>
Dalam konfigurasi di atas, kami mendayakan enjin ModSecurity dan menetapkan had saiz badan permintaan dan tindak balas. Kemudian, kami memproses permintaan berdasarkan Jenis Kandungan permintaan dan menutup akses kepada badan respons. Akhir sekali, kami mengalih keluar peraturan khusus untuk membenarkan permintaan itu diteruskan.
Ringkasnya, dengan mengkonfigurasi Nginx dan ModSecurity pelayan Linux, kami boleh mengukuhkan penapisan dan pemeriksaan antara muka Web. Kaedah ini boleh melindungi aplikasi web kami dengan berkesan daripada permintaan dan serangan berniat jahat. Saya harap artikel ini dapat membantu semua orang meningkatkan keselamatan antara muka web dengan lebih baik.
(Tamat artikel ini)
Atas ialah kandungan terperinci Bagaimana untuk menggunakan pelayan Linux untuk meningkatkan penapisan dan pemeriksaan antara muka web?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!