Pengenalan #
Artikel ini menerangkan cara memindahkan iRule F5 BIG-IP yang digunakan untuk menyekat saiz muat naik HTTP ke dalam RELIANOID menggunakan sistem bersepadu WAF (Tembok Api Aplikasi Web) powered by ModSecurity dan OWASP CRS.
iRule asal memeriksa:
- Kaedah HTTP (
POST) Content-Lengthheader
Dan blok muat naik lebih besar daripada 200 MB dengan HTTP 413 Payload Too Large tindak balas.
F5 iRule Asal #
apabila HTTP_REQUEST { jika { [HTTP::method] persamaan "POST" } { tetapkan panjang_isi [HTTP::header "Panjang_isi"] jika { $panjang_isi ne "" && $panjang_isi > 200000000 } { # Tolak permintaan melebihi 200 MB HTTP::respond 413 kandungan "Saiz muat naik melebihi had." acara lumpuhkan } } }
RELIANOID Pendekatan Migrasi #
In RELIANOID, fungsi ini boleh dilaksanakan menggunakan:
- Modul WAF / IPDS
- Peraturan ModSecurity
- Integrasi CRS OWASP
Pendekatan ini menyediakan:
- Penguatkuasaan keselamatan berpusat
- Pembalakan dan keterlihatan yang lebih baik
- Penyelenggaraan lebih mudah
- Pemeriksaan permintaan HTTP asli
Pelaksanaan melalui set peraturan manual #
RELIANOID Contoh Konfigurasi WAF #
Di bawah laluan /usr/local/relianoid/config/ipds/waf/sets/ buat fail conf dengan kandungan:
## mulakan konfigurasi SecRuleEngine pada SecDefaultAction "pass,log,logdata:'client:%{REMOTE_ADDR}',phase:1" SecDefaultAction "pass,log,logdata:'client:%{REMOTE_ADDR}',phase:2" SecDefaultAction "pass,log,logdata:'client:%{REMOTE_ADDR}',phase:3" SecDefaultAction "pass,log,logdata:'client:%{REMOTE_ADDR}',phase:4" ## akhiri konfigurasi SecRule REQUEST_METHOD "POST" \ "id:910001,\ phase:1,\ t:none,\ chain,\ deny,\ status:413,\ msg:'Saiz muat naik melebihi had.',\ log" SecRule REQUEST_HEADERS:Panjang-Kandungan "@gt 200000000"
Bagaimana Peraturan Berfungsi #
Peraturan ini melaksanakan logik berikut:
REQUEST_METHOD "POST"Memeriksa hanya permintaan POST
REQUEST_HEADERS:Content-Length: Membaca saiz muat naik
@gt 200000000: Memeriksa sama ada saiz melebihi 200 MB
deny,status:413: Menolak permintaan
msg:'Upload size exceeds limit.': Menghasilkan mesej log audit
Pemetaan Tingkah Laku Setara dari F5 iRule ke RELIANOID WAF #
HTTP::method: REQUEST_METHOD
HTTP::header "Content-Length": REQUEST_HEADERS:Content-Length
HTTP::respond 413: deny,status:413
event disable: Immediate WAF deny
Pelaksanaan melalui WebUI #
Konfigurasi ini juga boleh digunakan secara langsung melalui RELIANOID UI Web.
Laluan Konfigurasi WebUI #
Navigasi ke IPDS > WAF > Peraturan
Kemudian Buat set peraturan WAF dengan peraturan dengan 2 syarat seperti yang ditunjukkan di bawah.

Pengesahan #
Uji dengan CURL #
Contoh permintaan:
curl -k -X POST -H "Panjang Kandungan: 250000000" https://LB_VIP/upload -v
Keputusan Yang Diharapkan #
Respons tersebut sepatutnya kembali:
HTTP/1.1 413 Muatan Terlalu Besar
Dan permintaan itu harus disekat sebelum sampai ke bahagian belakang.
Pengesahan Pembalakan #
Semak log WAF untuk:
Saiz muat naik melebihi had.
Nota Penting #
Kebergantungan Panjang Kandungan #
Peraturan ini bergantung pada pelanggan yang menghantar maklumat yang sah Content-Length pengepala. Jika muat naik menggunakan pengekodan pemindahan terkumpul atau muat naik penstriman, perlindungan tambahan mungkin diperlukan.
Hadkan URL Tertentu Sahaja #
Peraturan ini boleh dirangkaikan dengan pengesahan URI.
Contoh:
SecRule REQUEST_URI "@beginsWith /muat naik"
Penyelesaian masalah #
Peraturan Tidak Mencetuskan #
Sahkan:
- WAF diaktifkan di ladang
- Peraturan dilampirkan dengan betul
- Kaedah permintaan ialah POST
- Pengepala Panjang Kandungan ada
Muat Naik Masih Mencapai Bahagian Belakang #
Sebab yang mungkin:
- WAF tidak digunakan untuk ladang yang betul
- Isu sintaks peraturan
- Muat naik menggunakan pengekodan terkumpul
Positif Palsu #
Sesetengah aplikasi mungkin secara sah memerlukan muat naik yang besar.
Syor:
- Cipta pengecualian khusus aplikasi
- Laraskan ambang batas dengan teliti
Amalan Terbaik #
- Gunakan had muat naik khusus aplikasi
- Gabungkan dengan pengehadan kadar apabila boleh
- Pantau log WAF secara berkala
- Elakkan ambang muat naik yang terlalu tinggi
- Sahkan tingkah laku muat naik selepas pelaksanaan
Ringkasan #
F5 iRules yang digunakan untuk menyekat saiz muat naik boleh dipindahkan ke RELIANOID menggunakan peraturan WAF/ModSecurity asli yang disepadukan dengan OWASP CRS.
Pendekatan ini menyediakan:
- Penguatkuasaan dasar berpusat
- Pembalakan dan keterlihatan yang lebih baik
- Skalabiliti yang lebih mudah
- Kerumitan skrip yang dikurangkan
- Pemeriksaan permintaan berasaskan piawaian