Dengan pembangunan berterusan Internet, isu keselamatan rangkaian semakin mendapat perhatian. Sebagai seorang pengamal IT, analisis log dan pengauditan keselamatan adalah salah satu kemahiran yang mesti kita kuasai. Dalam artikel ini, kami akan memberi tumpuan kepada cara menggunakan alat analisis log Nginx untuk menjalankan amalan audit keselamatan HTTP/HTTPS.
1. Analisis log Nginx
Nginx, sebagai pelayan web berprestasi tinggi, menyediakan fungsi pengelogan yang kaya. Fail log Nginx terletak dalam direktori /usr/local/nginx/logs/ dan access.log ialah log akses yang paling biasa digunakan.
Format log akses Nginx sangat kaya Format biasa adalah seperti berikut:
$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"
Antaranya, $remote_addr mewakili alamat IP klien, $remote_user mewakili nama bagi. pengguna, $time_local mewakili masa capaian, $ request mewakili kandungan permintaan, $status mewakili status respons, $body_bytes_sent mewakili bilangan bait yang dihantar, $http_referer mewakili sumber rujukan, $http_user_agent mewakili Ejen Pengguna pelanggan dan $http_x_forwarded_for mewakili alamat IP pelayan proksi.
Dengan menganalisis log akses Nginx, kami dapat memahami laluan akses pengguna, jenis permintaan, jenis klien, kod status pemulangan dan maklumat lain, yang menyediakan asas yang baik untuk audit keselamatan seterusnya.
2. Amalan audit keselamatan HTTP/HTTPS
Rangkaian dibanjiri dengan sejumlah besar permintaan jahat, seperti SQL suntikan dan serangan XSS Dll., serangan ini sering menggunakan HTTP untuk menyampaikan data berbahaya. Dengan menganalisis log akses Nginx, kami boleh menemui permintaan hasad ini tepat pada masanya, dan kemudian memintas dan menghalangnya.
Kami boleh mengkonfigurasi format log dan laluan log melalui Nginx untuk memantau permintaan HTTP Kaedah konfigurasi biasa adalah seperti berikut:
log_format monitor '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
access_log /usr/local/nginx/logs/monitor.log monitor;
Dengan cara ini, kami boleh mengeluarkan log ke monitor . fail log untuk memudahkan analisis seterusnya.
Mekanisme penghantaran HTTPS yang disulitkan menjadikan permintaan berniat jahat lebih sukar untuk dikesan Kami perlu menggunakan kaedah analisis log yang lebih canggih untuk memantau permintaan HTTPS.
Nginx menyediakan log proses pengesahan jabat tangan dan sijil SSL Kami boleh mendayakan log ini dengan mengkonfigurasi ssl_protocols dan ssl_ciphers. Kaedah konfigurasi biasa adalah seperti berikut:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; # 开启SSL握手和证书验证日志 ssl_session_tickets off; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_stapling on; ssl_stapling_verify on; ssl_trusted_certificate /usr/local/nginx/conf/cert/ca.pem; ssl_certificate /usr/local/nginx/conf/cert/server.pem; ssl_certificate_key /usr/local/nginx/conf/cert/server.key; ssl_session_log /usr/local/nginx/logs/ssl_session.log;
Antaranya, ssl_session_log mendayakan jabat tangan SSL dan log pengesahan sijil, dan log boleh dioutputkan ke fail ssl_session.log untuk memudahkan analisis seterusnya.
Serangan rangkaian sering menggunakan Perujuk HTTP atau Ejen Pengguna HTTP untuk menipu pelayan dan mendapatkan kebenaran yang tidak sah. Oleh itu, kita perlu memantau sumber capaian tepat pada masanya untuk mengelakkan capaian berniat jahat.
Kami boleh mengkonfigurasi format log akses_log dan laluan log melalui Nginx untuk memantau sumber akses Kaedah konfigurasi biasa adalah seperti berikut:
log_format referer '$remote_addr [$time_local] "$request" "$http_referer" "$http_user_agent"';
access_log /usr/local/nginx/logs/referer.log referer;
Dengan cara ini, kami boleh menggabungkan Perujuk dan Ejen Pengguna. output ke fail referer.log untuk analisis seterusnya.
4. Ringkasan
Analisis log Nginx dan amalan audit keselamatan HTTP/HTTPS boleh meningkatkan keupayaan pencegahan keselamatan rangkaian dan membantu kami menemui dan mengendalikan kerentanan keselamatan dan permintaan berniat jahat tepat pada masanya. Melalui kaedah konfigurasi yang diperkenalkan dalam artikel ini, kami boleh memantau permintaan HTTP dan HTTPS dengan mudah dan menganalisis sumber akses. Saya harap semua orang dapat menggunakan alat ini dengan baik dalam kerja sebenar dan meningkatkan tahap keselamatan mereka sendiri.
Atas ialah kandungan terperinci Analisis log Nginx dan amalan audit keselamatan HTTP/HTTPS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!