Ülevaade #
Järgnev artikkel kirjeldab reaalset kasutusjuhtu internetiteenuse pakkuja või majutusteenuse pakkuja jaoks, kus HTTP/S koormuse tasakaalustaja pöördproksi on peamine juurdepääsupunkt kõigile avalikele veebiteenustele. See konfiguratsioon näitab, kui lihtne on konfigureerida täiustatud ja võimsat WAF-reeglistikku, et kaitsta veebirakendusi musta nimekirja allika IP-aadresside põhjal, kus iga virtuaalhost haldab oma musta nimekirja nii, et ühel avalikul IP-aadressil saab keelata ühenduse loomise veebidomeeniga nagu www.company1.com , kuid lubada ühenduse loomise www.company2.com- iga.
Artiklis jagame kaks osa. Põhiosas töötab HTTPS-profiili konfiguratsioon pöördproksina koos erinevate teenuste loendiga ja teises osas selgitatakse, kuidas konfigureerida veebirakenduse tulemüüri reegleid, mis haldavad iga HTTP/S-teenuse puhul erinevat musta nimekirja.
keskkond #
Järgmine diagramm kirjeldab RELIANOID WAF sisemised osad. Nagu näidatud, on esimene kiht WAF-moodul, mille eesmärk on tagada varajases staadiumis, et koormuse tasakaalustamise moodulisse lubatakse edastada ainult turvalisi päringuid ja seejärel päringud taustaprogrammidele edastada.
Esmalt hinnatakse HTTP hosti päist ja kontrollitakse kliendi IP-aadressi juba konfigureeritud mustas nimekirjas. Kui hosti päis ja kliendi IP-aadress ühtivad, siis ühendus katkeb ja kliendile saadetakse 403 Forbidden HTTP vastus, kuid juhul, kui kliendi IP ja taotletud hosti päis ei ühti, siis tuvastatakse liiklus mittepahatahtlikuks ja edastatakse koormuse tasakaalustaja moodulile, kus sihtkoht valitakse HTTP-päringu hosti päise põhjal ja lõpuks edastatakse saadaolevale serverile.
Siit leiate antud näites veebirakenduse tulemüüri sisemuste skeemi.
HTTP virtuaalse teenuse konfiguratsioon #
Konfigureerige üks pühendatud virtuaalne IP-aadress , meie näites 192.168.100.58 , sirvides Võrk > Virtuaalsed liidesed > Loo virtuaalne liides, nagu allpool näidatud:
Nüüd asume HTTP koormuse tasakaalustamise teenuse seadistama, minge LSLB > Farms ja seejärel klõpsake nuppu Create Farm ning sisestage virtuaalse teenuse üksikasjad, nagu allpool näidatud:
Seejärel vajutage nuppu Loo.
Nüüd klõpsa ülemisel vahekaardil „Teenused“ ja loo nii palju teenuseid, kui erinevaid veebisaite sa haldad, klõpsa nupul „ Uus teenus“ . Meie puhul loome kaks erinevat teenust: ühe www.mycompany1.com teenuse haldamiseks ja teise www.mycompany2.com teenuse haldamiseks.
Kui teenus on loodud, lisage virtuaalse hosti filter ja taustaprogrammid, nagu on näidatud alloleval pildil.
Kui teil on mitu veebisaiti, peate lisama ainult uusi teenuseid, et määratleda üks spetsiaalne teenus, mida hallata iga veebi samal IP-aadressil.
Nüüd on koormuse tasakaalustamise konfiguratsioon tehtud, mis võimaldab konfigureerida IPDS-i veebirakenduse tulemüüri mooduli.
Musta nimekirja seadistamine #
Loome iga veebiteenuse kohta ühe musta nimekirja, et sisestada igasse musta nimekirja soovitud IP-aadressid juurdepääsu blokeerimiseks. Meie näites loome kaks erinevat musta nimekirja nimedega blacklistmycompany1 ja blacklistmycompany2 , vastavalt iga teenuse kohta ühe.
See must nimekiri salvestatakse teele /usr/local/relianoid/config/ipds/blacklists/lists/Blacklistmycompany1.txt.
Testimise eesmärgil lisasime kaks IP-aadressi, palun kaaluge nii paljude IP-de lisamist kui vaja. Samuti saab kasutada IPDS- mooduli juba olemasolevaid musti nimekirju .
See teine must nimekiri salvestatakse teele /usr/local/relianoid/config/ipds/blacklists/lists/Blacklistmycompany2.txt.
Arvestage, et sellesse musta nimekirja lisasime IP-aadressi 192.168.1.191 . Seda IP-aadressi kasutatakse ainult testimise eesmärgil, kust käivitame HTTP-päringuid.
Veebirakenduse tulemüüri reeglistiku konfiguratsioon #
Selle konfiguratsiooni eesmärk on säilitada veebisaidi kohta erinevaid IP-mustaid nimekirju, et vältida kogu farmi pääsupunkti sama musta nimekirja pidamist.
Me konfigureerime reeglistiku , mis on reeglite rühm nimega „HostingBlacklisting “. See reeglistik koosneb kahest lihtsast reeglist (meie näites reegli ID 1000 ja reegli ID 1001), iga reegel on defineeritud vastena ja toiminguna, kus tingimuse sobivuse korral käivitatakse toiming. Meie näites kasutame mõlemas reeglis sama toimingut. Kui tingimus sobib, käivitatakse tagasilükkamise toiming vastusega 403 Access Denied.
Mine IPDS > WAF ja seejärel klõpsa nupul „Loo WAF-i reeglistik” ning määra kirjeldav reeglistiku nimi, meie näites HostingBlacklisting.
Konfigureeri väli „Vaikimisi faas“ väärtuseks „ Päringu päised on vastu võetud “. See väli tähendab, et WAF-moodul analüüsib kliendilt saabuvaid päringu päiseid.
Seejärel minge vahekaardile Reeglid ja looge esimene reegel tüübiga Toiming , nagu allpool näidatud.
Nüüd, kui reeglistiku esimene reegel on loodud, loome tingimused, et iga hosti päise jaoks sobiks mustas nimekirjas olev kliendi IP-aadress. Minge jaotisse „Tingimused” ja looge tingimus vastavalt muutujale REMOTE_ADDR, nagu allpool näidatud.
Seejärel looge virtuaalse hosti vaste jaoks teine tingimus vastavalt muutujale SERVER_NAME järgmiselt:
Sel hetkel haldab esimene hostitud veebisait www.mycompany1.com veebirakenduse musta nimekirja IP-aadressi juba konfigureeritud mustast nimekirjast, millele viidatakse failile Blacklistmycompany1.txt.
Loome teise reegli teise veebisaidi www.mycompany2.com jaoks ja kordame sama konfiguratsiooni mis eelmise reegli puhul, aga sel juhul peate muutma SERVER_NAME väärtuseks mycompany2.com ja vaatama järgmist blacklist2.txt faili.
Vaadake ühendatud WAF-i reeglistiku kogu konfiguratsiooni:
Lõpuks lisa see reeglistik juba loodud farmile, mine vahekaardile Farmid ja liiguta farmi „ Majutamine ” meie näites jaotisse „Lubatud farmid” , nagu allpool näidatud.
Nüüd käivitage farmi WAF-reeglistik, klõpsake selle akna vasakus ülanurgas toimingut „Esita“ ja süsteem hakkab farmi hostimise HTTP-liiklust filtreerima.
Veebirakenduse tulemüüri reeglistiku testimine #
Kliendi IP 192.168.1.191 taotleb veebisaite http://www.mycompany1.com ja http://www.mycompany2.com ning meie konfiguratsiooni kohaselt lubab WAF-süsteem ühenduse luua esimese samanimelise teenusega, kuid ühendus mycompany2.com -iga keelatakse , kuna see IP on kantud musta nimekirja nimega Blacklistmycompany2.
Alates IP-aadressist 192.168.1.191 kuni VIP-ni veebisaidi www.mycompany1.com taotlemisel koormuse tasakaalustaja kaudu:
root@192.168.1.191:# curl -H "Host: www.mycompany1.com" http://192.168.100.58 -v * URL ümber ehitatud aadressile: http://192.168.100.58/ * Proovin 192.168.100.58... * TCP_NODELAY komplekt * Ühendatud 192.168.100.58 (192.168.100.58) pordiga 80 (#0) > GET / HTTP/1.1 > Host: www.mycompany1.com > Kasutaja-agent: curl/7.52.1 > Nõustu: */* > HTTP / 1.1 200 OK < Server: nginx/1.10.3 < Kuupäev: teisipäev, 10. september 2019 15:36:22 GMT < Sisu tüüp: text/html < Sisu pikkus: 11383 < Viimati muudetud: neljapäev, 13. detsember 2018 11:01: 49 GMT < Ühendus: hoia elus < ETag: "5c123c1d-2c77" < Aktsepteeri vahemikud: baidid
Alates IP-aadressist 192.168.1.191 kuni VIP-ni veebisaidi www.mycompany2.com taotlemisel koormuse tasakaalustaja kaudu:
root@192.168.1.191:# curl -H "Host: www.mycompany2.com" http://192.168.100.58 -v * URL on ümber ehitatud aadressile: http://192.168.100.58/ * Proovin 192.168.100.58... TCP_NODELAY komplekt * Ühendatud 192.168.100.58 (192.168.100.58) pordiga 80 (#0) > GET / HTTP/1.1 > Host: www.mycompany2.com > Kasutaja-agent: curl/7.52.1 > Nõustu: */* > * HTTP 1.0, eeldame, et see on lähedal kehaosale HTTP/1.0 403 Päring keelatud < Content-Type: text/html < Content-Length: 17 < Aegub: nüüd < Pragma: ilma vahemälu < Cache-control: no-cache,no-store < * Curl_http_done: callis enneaegse == 0 * Ühenduse sulgemine 0 vastas keelatudp
Kui keelatud vastus on genereeritud, teavitab WAF-moodul tagasilükkamisest koormuse tasakaalustaja süsteemilogifailis.
root@zva6000:# tail -f /var/log/syslog Sep 10 15:38:44 zva6000 pound: Hosting, ModSecurity: Hoiatus. Vastas "Operator `StrMatch" parameetriga "mycompany2.com" muutujale "SERVER_NAME" (väärtus: "www.mycompany2.com") [fail "/usr/local/relianoid/config/ipds/waf/sets/HostingBlacklisting.conf "] [rida "17"] [id "1001"] [rev ""] [msg "Custom Match 2"] [data ""] [raskusaste "0"] [ver ""] [küpsus "0"] [täpsus "0"] [hostinimi "192.168.100.58"] [uri "/"] [unikaalne_id "156812992458.770641"] [viide "v0,13v21,18"] 10. september 15:38:44 zva6000 naela: hostimine, [WAF,teenindus minu ettevõte2, taustaprogramm 192.168.100.22:80,] (7f6cfac3c700) [klient 192.168.1.191:403 juurdepääsukoodiga Mo.dSecurity1]. 2 (2. faas). Vastas "Operator `StrMatch" parameetriga "mycompany17.com" muutujale "SERVER_NAME" (väärtus: "www.mycompany1001.com") [fail "/usr/local/relianoid/config/ipds/waf". /sets/HostingBlacklisting.conf"] [rida "2"] [id "0"] [rev ""] [msg "Custom Match 0"] [data ""] [raskusaste "0"] [ver ""] [tähtaeg "192.168.100.58"] [täpsus "156812992458.770641"] [hostinimi "0,13. 21,18"] [uri "/"] [unikaalne_id "10"] [viide "v15v38"] 44. september 6:1:2 zva192.168.100.25ktpl80 nael: hostimine, teenus minuettevõte7, taustaprogramm 6:3, (700f192.168.1.191cfacXNUMXcXNUMX) WAF lükkas tagasi taotluse XNUMX.
Nüüd saate luua oma veebirakenduste kaitsmiseks kohandatud tulemüürireeglid, kasutades HTTP / S sügavate pakettide kontrollimise tehnikaid.












