Contents [show]
Gambaran Keseluruhan
Artikel berikut menerangkan kes penggunaan sebenar untuk penyedia ISP atau penyedia hosting, di mana proksi terbalik HTTP / S Load Balancer adalah titik utama akses kepada semua perkhidmatan web awam, konfigurasi ini menunjukkan betapa mudahnya untuk mengkonfigurasi WAF yang maju dan berkuasa ruleset untuk mengamankan aplikasi web berdasarkan alamat IP sumber hitam senarai hitam, di mana masing-masing VirtualHost mengurus senarai hitamnya sendiri dengan cara satu IP Awam boleh dilarang untuk menyambung ke domain web seperti www.company1.com tetapi dibenarkan untuk menyambung ke www.company2.com.
Kami akan memfokuskan artikel dalam dua bahagian, di bahagian utama konfigurasi profil HTTPS akan berfungsi sebagai proksi terbalik dengan senarai perkhidmatan yang berbeza, dan bahagian kedua akan menjelaskan cara mengkonfigurasi Firewall Aplikasi Web ruleset yang akan menguruskan senarai hitam yang berbeza bagi setiap Perkhidmatan HTTP / S.
alam Sekitar
Gambarajah berikut menggambarkan dalaman Weven ZAF. Seperti yang ditunjukkan, lapisan pertama adalah modul WAF yang matlamatnya adalah untuk memastikan pada peringkat awal bahawa hanya permintaan yang selamat dibenarkan untuk lulus ke modul pengimbangan beban dan kemudian mengemukakan permintaan ke belakang.
Pertama, HTTP Tuan rumah header dievaluasi dan IP pelanggan diperiksa dalam senarai hitam yang sudah dikonfigurasi. Sekiranya Tuan rumah header dan alamat IP pelanggan yang cocok maka sambungan dijatuhkan dan a Larangan 403 Sambutan HTTP dihantar kepada pelanggan, tetapi dalam hal klien IP dan diminta Tuan rumah header tidak sepadan maka lalu lintas dikenal pasti tidak berniat jahat dan diteruskan ke modul load balancer, di mana destinasi dipilih berdasarkan permintaan HTTP Tuan rumah header dan akhirnya dihantar ke pelayan backend yang tersedia.
Di sini anda boleh mencari skema dalaman Aplikasi Web Firewall untuk contoh yang diberikan.
Konfigurasi perkhidmatan maya HTTP
Konfigurasikan satu yang didedikasikan Alamat IP maya, dalam contoh kita 192.168.100.58, dengan melayari Rangkaian> Antaramuka maya> Buat Muka Maya seperti yang ditunjukkan di bawah:
Sekarang mari kita pergi untuk mengkonfigurasi perkhidmatan pengimbangan beban HTTP, pergi ke LSLB> Ladang dan kemudian klik pada butang Buat Ladang dan masukkan butiran perkhidmatan maya seperti yang ditunjukkan di bawah:
Kemudian tekan Buat.
Sekarang klik pada Tab atas Perkhidmatan dan buat banyak perkhidmatan sebagai laman web yang berbeza yang anda uruskan klik pada butang Perkhidmatan Baru, dalam kes kami, kami akan membuat dua perkhidmatan yang berbeza, satu untuk menguruskan perkhidmatan tersebut www.mycompany1.com dan satu lagi untuk www.mycompany2.com.
Setelah perkhidmatan dibuat, tambahkan Hos Maya penapis dan bahagian belakang seperti ditunjukkan dalam imej di bawah.
Sekiranya anda mempunyai beberapa laman web, anda hanya perlu menambah lebih banyak perkhidmatan untuk menentukan satu perkhidmatan khusus untuk mengurus setiap web dari alamat IP yang sama.
Sekarang konfigurasi mengimbangi beban telah dilakukan, membolehkan untuk mengkonfigurasi mod Aplikasi Web IPDS Firewall.
Konfigurasi senarai hitam
Kami akan membuat satu senarai hitam untuk setiap perkhidmatan web untuk memasukkan setiap senarai hitam alamat IP yang dikehendaki untuk menyekat akses. Dalam contoh kami, kami akan membuat dua senarai hitam yang berbeza dengan nama itu blacklistmycompany1 and blacklistmycompany2, satu perkhidmatan setiap satu.
Senarai hitam ini akan disimpan dalam laluan /usr/local/zevenet/config/ipds/blacklists/lists/Blacklistmycompany1.txt.
Kami termasuk alamat IP 2 untuk tujuan ujian, sila pertimbangkan untuk menambah IP yang diperlukan. Juga, sudah ada Senarai hitam dalam IPDS modul boleh digunakan.
Senarai hitam kedua ini akan disimpan di jalan /usr/local/zevenet/config/ipds/blacklists/lists/Blacklistmycompany2.txt.
Ambil perhatian bahawa dalam senarai hitam ini kami memasukkan alamat IP 192.168.1.191, IP ini akan digunakan untuk tujuan pengujian sahaja, dari mana kami akan menjalankan permintaan HTTP.
Konfigurasi kaedah firewall Web Application
Tujuan konfigurasi ini adalah untuk mengekalkan senarai hitam IP yang berbeza bagi setiap laman web, untuk mengelakkan untuk menyimpan senarai hitam yang sama untuk keseluruhan titik akses ladang.
Kami akan mengkonfigurasi a peraturan, yang merupakan kumpulan peraturan, dengan nama HostingBlacklisting. Aturan ini akan disusun oleh dua peraturan mudah (rule ID 1000 dan ID ID 1001 dalam contoh kita), setiap peraturan ditakrifkan sebagai perlawanan dan tindakan, jika jika keadaan cocok maka tindakan itu dilaksanakan. Dalam contoh kami, kami akan menggunakan tindakan yang sama dalam kedua-dua peraturan, jika keadaan sepadan dengan Tolak Tindakan dilaksanakan dengan a Akses 403 ditolak tindak balas.
Pergi ke IPDS> WAF, kemudian klik Buat peraturan WAF dan tetapkan nama peraturan yang bersifat deskriptif, dalam contoh kami HostingBlacklisting.
Mengkonfigurasi medan Fasa lalai kepada Permintaan pengepala diterima. Bidang ini bermakna bahawa modul WAF akan menganalisis tajuk permintaan masuk dari klien.
Kemudian pergi ke tab peraturan dan buat yang pertama peraturan jenis Tindakan seperti yang ditunjukkan di bawah.
Sekarang peraturan pertama peraturan dibuat, membolehkan untuk mewujudkan syarat-syarat untuk memadankan IP klien dalam senarai hitam untuk setiap Tuan rumah kepala. Pergi ke Syarat dan mewujudkan keadaan mengikut REMOTE_ADDR pembolehubah seperti yang ditunjukkan di bawah.
Kemudian buat satu lagi keadaan untuk Hos Maya perlawanan mengikut SERVER_NAME pembolehubah seperti berikut:
Pada ketika ini, laman web yang dihoskan pertama www.mycompany1.com mengurus alamat IP blacklist aplikasi web dari senarai hitam yang sudah dikonfigurasikan, dirujuk Blacklistmycompany1.txt.
Mari buat peraturan lain untuk laman web kedua www.mycompany2.com dan ulangi konfigurasi yang sama seperti konfigurasi peraturan sebelumnya tetapi dalam kes ini, anda perlu mengubahnya SERVER_NAME kepada mycompany2.com dan lakukan merujuk kepada yang berikut blacklist2.txt.
Lihat keseluruhan konfigurasi peraturan WAF yang dikompaun:
Akhirnya, tambahkan peraturan ini ke ladang yang sudah dibuat, pergi ke tab Farms dan bergerak ladang hosting, dalam contoh kami, kepada Ladang yang dihidupkan seksyen seperti yang ditunjukkan di bawah.
Sekarang mula peraturan WAF untuk ladang, klik tindakan bermain di bahagian atas sebelah kiri tetingkap ini, dan sistem akan mula menapis trafik HTTP untuk Ladang hosting.
Menguji aturan Web Firewall Aplikasi Web
IP pelanggan 192.168.1.191 akan meminta laman web tersebut http://www.mycompany1.com and http://www.mycompany2.com dan, mengikut konfigurasi kami, sistem WAF akan membenarkan menyambung ke perkhidmatan pertama dengan nama yang sama tetapi sambungan akan ditolak mycompany2.com kerana IP ini telah dimasukkan ke dalam senarai hitam dengan nama Blacklistmycompany2.
Dari alamat IP 192.168.1.191 ke VIP yang meminta laman web www.mycompany1.com melalui pengimbang beban:
root@192.168.1.191:# curl -H "Host: www.mycompany1.com" http://192.168.100.58 -v * Rebuilt URL to: http://192.168.100.58/ * Trying 192.168.100.58... * TCP_NODELAY set * Connected to 192.168.100.58 (192.168.100.58) port 80 (#0) > GET / HTTP/1.1 > Host: www.mycompany1.com > User-Agent: curl/7.52.1 > Accept: */* > < HTTP/1.1 200 OK < Server: nginx/1.10.3 < Date: Tue, 10 Sep 2019 15:36:22 GMT < Content-Type: text/html < Content-Length: 11383 < Last-Modified: Thu, 13 Dec 2018 11:01:49 GMT < Connection: keep-alive < ETag: "5c123c1d-2c77" < Accept-Ranges: bytes <
Dari alamat IP 192.168.1.191 ke VIP yang meminta laman web www.mycompany2.com melalui pengimbang beban:
root@192.168.1.191:# curl -H "Host: www.mycompany2.com" http://192.168.100.58 -v * Rebuilt URL to: http://192.168.100.58/ * Trying 192.168.100.58... * TCP_NODELAY set * Connected to 192.168.100.58 (192.168.100.58) port 80 (#0) > GET / HTTP/1.1 > Host: www.mycompany2.com > User-Agent: curl/7.52.1 > Accept: */* > * HTTP 1.0, assume close after body < HTTP/1.0 403 Request forbidden < Content-Type: text/html < Content-Length: 17 < Expires: now < Pragma: no-cache < Cache-control: no-cache,no-store < * Curl_http_done: called premature == 0 * Closing connection 0 replied forbiddenp
Sebaik sahaja Larangan Sambutan dijana, modul WAF memaklumkan penolakan dalam fail pengimbang beban Syslog.
root@zva6000:# tail -f /var/log/syslog Sep 10 15:38:44 zva6000 pound: Hosting, ModSecurity: Warning. Matched "Operator `StrMatch' with parameter `mycompany2.com' against variable `SERVER_NAME' (Value: `www.mycompany2.com' ) [file "/usr/local/zevenet/config/ipds/waf/sets/HostingBlacklisting.conf"] [line "17"] [id "1001"] [rev ""] [msg "Custom Match 2"] [data ""] [severity "0"] [ver ""] [maturity "0"] [accuracy "0"] [hostname "192.168.100.58"] [uri "/"] [unique_id "156812992458.770641"] [ref "v0,13v21,18"] Sep 10 15:38:44 zva6000 pound: Hosting, [WAF,service mycompany2, backend 192.168.100.22:80,] (7f6cfac3c700) [client 192.168.1.191] ModSecurity: Access denied with code 403 (phase 1). Matched "Operator `StrMatch' with parameter `mycompany2.com' against variable `SERVER_NAME' (Value: `www.mycompany2.com' ) [file "/usr/local/zevenet/config/ipds/waf/sets/HostingBlacklisting.conf"] [line "17"] [id "1001"] [rev ""] [msg "Custom Match 2"] [data ""] [severity "0"] [ver ""] [maturity "0"] [accuracy "0"] [hostname "192.168.100.58"] [uri "/"] [unique_id "156812992458.770641"] [ref "v0,13v21,18"] Sep 10 15:38:44 zva6ktpl1 pound: Hosting, service mycompany2, backend 192.168.100.25:80, (7f6cfac3c700) WAF denied a request from 192.168.1.191
Sekarang anda boleh membina peraturan firewall khusus anda untuk melindungi aplikasi web anda menggunakan teknik pemeriksaan paket HTTP / S yang mendalam.