- Pengenalan
- F5 iRule Asal
- RELIANOID Pendekatan Migrasi
- Disyorkan RELIANOID Seni bina
- Konfigurasi Peraturan WAF
- Bagaimana Peraturan Berfungsi
- Konfigurasi Fail Senarai Hitam
- Konfigurasikan peraturan melalui webUI
- Nota Operasi Penting
- Pengesahan dan Pengujian
- Keputusan Yang Diharapkan
- Penambahbaikan Pilihan: Mengembalikan HTTP 410
- Penyelesaian masalah
- Amalan Terbaik
- Ringkasan
Pengenalan #
Artikel ini menerangkan cara memindahkan iRule F5 BIG-IP yang digunakan untuk menyekat permintaan berdasarkan X-Forwarded-For Pengepala HTTP ke dalam RELIANOID menggunakan sistem bersepadu WAF/IPDS (Sistem Pencegahan dan Pengesanan Pencerobohan) dikuasakan oleh ModSecurity/OWASP yang serasi dengan set peraturan.
iRule asal memeriksa X-Forwarded-For pengepala dan mengembalikan HTTP 410 Gone apabila padanan ditemui dengan senarai alamat IP.
F5 iRule Asal #
apabila HTTP_REQUEST { jika { [HTTP::header values "X-Forwarded-For"] mengandungi "31.192.108.123" || [HTTP::header values "X-Forwarded-For"] mengandungi "65.103.109.21" || [HTTP::header values "X-Forwarded-For"] mengandungi "193.90.12.87" || [HTTP::header values "X-Forwarded-For"] mengandungi "208.100.0.117" || [HTTP::header values "X-Forwarded-For"] mengandungi "100.113.150.102" || [HTTP::header values "X-Forwarded-For"] mengandungi "176.10.99.200" || [HTTP::header values "X-Forwarded-For"] mengandungi "163.172.143.114" || [HTTP::header values "X-Forwarded-For"] mengandungi "163.172.209.46" || [HTTP::header values "X-Forwarded-For"] mengandungi "188.138.9.49" || [HTTP::header values "X-Forwarded-For"] mengandungi "217.23.13.129" || [HTTP::header values "X-Forwarded-For"] mengandungi "162.247.72.27" || [HTTP::header values "X-Forwarded-For"] mengandungi "194.67.208.57" || [Nilai HTTP::header "X-Forwarded-For"] mengandungi "41.216.186.114" } { HTTP::respond 410 } }
RELIANOID Pendekatan Migrasi #
In RELIANOID, logik ini boleh dilaksanakan menggunakan:
- Modul WAF/IPDS
- Peraturan tersuai ModSecurity/OWASP
- Fail padanan IP luaran
Pendekatan ini lebih berskala dan lebih mudah diselenggara daripada membenamkan berbilang perbandingan IP di dalam skrip.
Disyorkan RELIANOID Seni bina #
Migrasi menggunakan:
- Pemeriksaan pengepala HTTP X-Forwarded-For
- Fail senarai hitam luaran yang mengandungi alamat IP
- Pemadanan IP dinamik menggunakan operator set peraturan ModSecurity/OWASP
Kelebihan:
- Pengurusan IP yang lebih mudah
- Senarai hitam berpusat
- Tidak perlu mengedit peraturan untuk setiap perubahan IP
- Skalabiliti yang lebih baik
Konfigurasi Peraturan WAF #
Peraturan ModSecurity/OWASP berikut boleh dikonfigurasikan dalam Mod Mentah di dalam modul WAF/IPDS.
SecRule REQUEST_HEADERS:X-Dimajukan-Untuk "@ipMatchFromFile /usr/local/relianoid/config/ipds/waf/sets/xff_blacklist.data" "\ id:1001,\ msg:'Padanan Tersuai',\ fasa:1,\ nafi,\ nolog"
Bagaimana Peraturan Berfungsi #
Peraturan ini melaksanakan tindakan berikut:
REQUEST_HEADERS:X-Forwarded-For: Membaca pengepala HTTP X-Forwarded-For
@ipMatchFromFile: Membandingkan nilai pengepala dengan fail luaran
xff_blacklist.txtMengandungi senarai IP yang disekat
phase:1: Dilaksanakan semasa pemprosesan pengepala permintaan
deny: Menyekat permintaan yang sepadan
nolog: Melumpuhkan pengelogan untuk permintaan yang sepadan
Konfigurasi Fail Senarai Hitam #
Cipta fail senarai hitam:
/usr/local/relianoid/config/ipds/waf/sets/xff_blacklist.data
Contoh kandungan:
31.192.108.123 65.103.109.21 193.90.12.87 208.100.0.117 100.113.150.102 176.10.99.200 163.172.143.114 163.172.209.46 188.138.9.49 217.23.13.129 162.247.72.27 194.67.208.57 41.216.186.114
Konfigurasikan peraturan melalui webUI #
Cipta senarai data IP #
Cipta fail data WAF baharu dalam bahagian IPDS > WAF > Fail termasuk kandungan senarai IP:

Cipta syarat peraturan #
Cipta set peraturan WAF baharu dalam bahagian tersebut IPDS > WAF > Peraturan termasuk syarat IP padanan:

Dayakan peraturan di ladang #
Dayakan set peraturan dan tetapkan kepada ladang yang diperlukan.

Nota Operasi Penting #
Sebarang pengubahsuaian fail senarai hitam memerlukan:
- Menghentikan peraturan WAF
- Memulakan semula peraturan WAF
Ini memuatkan semula peraturan dan menggunakan senarai IP yang dikemas kini. Ini hanya akan menjejaskan peraturan WAF yang diperiksa di ladang yang terjejas, tidak menjejaskan trafik sebenar yang melalui pengimbang beban.
Pengesahan dan Pengujian #
Perintah berikut boleh digunakan untuk mengesahkan tingkah laku peraturan:
curl -k -H "X-Diteruskan-Untuk: IP_ADDRESS" https://LB_VIP -v
Contoh:
curl -k -H "X-Diteruskan-Untuk: 31.192.108.123" https://192.168.1.100 -v
Keputusan Yang Diharapkan #
Apabila IP sepadan dengan senarai hitam:
- Permintaan ditolak oleh WAF
- Respons ralat HTTP dikembalikan
Penambahbaikan Pilihan: Mengembalikan HTTP 410 #
F5 iRule asal secara eksplisit mengembalikan:
HTTP 410 Hilang
Secara lalai, tindakan penolakan set peraturan ModSecurity/OWASP mungkin mengembalikan HTTP 403 Forbidden.
Jika pariti tingkah laku yang tepat diperlukan, peraturan tersebut boleh dipertingkatkan untuk mengembalikan 410.
Contoh:
SecRule REQUEST_HEADERS:X-Dimajukan-Untuk "@ipMatchFromFile /usr/local/relianoid/config/ipds/waf/xff_blacklist.txt" "\ id:1001,\ msg:'Padanan Tersuai',\ fasa:1,\ nafi,\ status:410,\ nolog"
Penyelesaian masalah #
Peraturan Tidak Mencetuskan #
Sahkan:
- WAF/IPDS diaktifkan di ladang
- Peraturan dimuatkan dengan betul
- Pengepala wujud dalam permintaan
- Peraturan dimulakan semula selepas perubahan fail
Permintaan Tidak Disekat #
Semak:
- Pemformatan IP di dalam fail
- Tiada ruang tambahan atau aksara tersembunyi
- Kebenaran fail yang betul
Pengepala Hilang #
Sesetengah proksi huluan mungkin tidak menghantar X-Forwarded-ForSahkan dengan:
curl -k -H "X-Diteruskan-Untuk: 1.2.3.4" https://LB_VIP -v
Pembalakan Diperlukan untuk Penyelesaian Masalah #
Alih keluar sementara:
nolog
Ini membolehkan pengelogan set peraturan ModSecurity/OWASP untuk tujuan penyahpepijatan.
Amalan Terbaik #
- Kekalkan fail senarai hitam secara berpusat
- Gunakan automasi untuk kemas kini senarai hitam
- Semak IP yang disekat secara berkala
- Lindungi fail peraturan WAF dengan kebenaran yang betul
- Lebih suka fail luaran berbanding peraturan berkod keras untuk kebolehskalaan
Ringkasan #
F5 iRules berfungsi X-Forwarded-For penapisan boleh dipindahkan dengan cekap ke dalam RELIANOID menggunakan modul WAF/IPDS bersepadu dan peraturan ModSecurity.
Pendekatan ini menyediakan:
- Pengurusan IP berpusat
- Skalabiliti yang lebih baik
- Penyelenggaraan lebih mudah
- Integrasi WAF asli
- Kerumitan skrip yang dikurangkan