Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Ihe fọrọ nke nta ka ọ bụrụ afọ 9 gara aga Cloudflare bụ obere ụlọ ọrụ, arụghịkwa m ya ọrụ, abụ m naanị onye ahịa. Otu ọnwa ka emechara Cloudflare, enwetara m ọkwa na webụsaịtị m jgc.orgDNS adịghị ka ọ na-arụ ọrụ. Cloudflare agbanweela Ihe nchekwa Protocol, ma enwere DNS gbajiri agbaji.

M degaara Matthew Prince akwụkwọ ozugbo na aha "Ebee ka DNS m dị?" ma zighachi azịza ogologo oge zuru oke na nkọwa ọrụ (teknuzu).gụọ akwụkwọ ozi niile ebe a), nke m zara ya:

Site: John Graham-Cumming
Ụbọchị: Ọktoba 7, 2010, 9:14
Isiokwu: Re: Ebee ka DNS m dị?
Nye: Matthew Prince

Akụkọ dị mma, daalụ. M ga-akpọrịrị ma ọ bụrụ na enwere nsogbu. O nwere ike ịbụ na ọ bara uru ịde akwụkwọ gbasara nke a ozugbo ị chịkọtara ozi teknụzụ niile. Echere m na ndị mmadụ ga-enwe mmasị na akụkọ na-emeghe na eziokwu. Karịsịa ma ọ bụrụ na ị na-etinye eserese na ya iji gosi ka okporo ụzọ si eto kemgbe mmalite.

Enwere m nlekota nke ọma na saịtị m, ana m enweta SMS banyere ọdịda ọ bụla. Nleba anya na-egosi na ọdịda ahụ sitere na 13:03:07 ruo 14:04:12. A na-eme ule kwa nkeji ise ọ bụla.

Eji m n'aka na ị ga-achọpụta ya. Ị ji n'aka na ị chọghị onye nke gị na Europe? 🙂

Ọ si:

Site na: Matthew Prince
Ụbọchị: Ọktoba 7, 2010, 9:57
Isiokwu: Re: Ebee ka DNS m dị?
Nye: John Graham-Cumming

Daalụ. Anyị zara onye ọ bụla dere. Anọ m na-aga ụlọ ọrụ ugbu a, anyị ga-ede ihe na blọọgụ ma ọ bụ tinye akwụkwọ ozi gọọmentị na bọọdụ mgbasa ozi anyị. Ekwenyere m kpamkpam, eziokwu bụ ihe niile.

Ugbu a Cloudflare bụ nnukwu ụlọ ọrụ, m na-arụ ọrụ maka ya, ma ugbu a, m ga-ede n'ezoghị ọnụ banyere mmejọ anyị, nsonaazụ ya na omume anyị.

Ihe omume nke Julaị 2

Na Julaị 2, anyị wepụrụ iwu ọhụrụ n'ime Iwu Jisiri maka WAF n'ihi ya Akụrụngwa CPU nọ na-agwụ na okporo ụzọ HTTP/HTTPS isi nhazi ọ bụla na netwọk Cloudflare zuru ụwa ọnụ. Anyị na-emeziwanye iwu jikwaa maka WAF mgbe niile na nzaghachi maka adịghị ike na egwu ọhụrụ. Na May, dịka ọmụmaatụ, anyị mere ngwa ngwa tinye iwuiji chebe megide nnukwu adịghị ike na SharePoint. Isi ihe niile nke WAF anyị bụ ikike ibuga iwu ngwa ngwa na n'ụwa niile.

Ọ dị nwute na mmelite Tọzdee gara aga nwere nkwupụta oge niile nke mefuru oke HTTP/HTTPS CPU na azụ azụ. Ndị isi proxy anyị, CDN na WAF tara ahụhụ n'ihi ya. Eserese ahụ na-egosi na akụrụngwa nrụpụta maka ijere okporo ụzọ HTTP/HTTPS ruru ihe fọrọ nke nta ka ọ bụrụ 100% na sava dị na netwọkụ anyị.

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019
Ojiji CPU n'otu ebe ọnụnọ n'oge ihe omume

N'ihi nke a, ndị ahịa anyị (na ndị ahịa ndị ahịa anyị) mechiri ibe mperi 502 na ngalaba Cloudflare. Emepụtara mperi 502 site na sava webụ n'ihu Cloudflare nke ka nwere cores efu mana enweghị ike iji usoro ejizi okporo ụzọ HTTP/HTTPS kpakọrịta.

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Anyị maara oke nsogbu nke a butere ndị ahịa anyị. Ihere na-eme anyị nke ukwuu. Ọdịda a mere ka anyị ghara imeri ihe ahụ merenụ nke ọma.

Ọ bụrụ na ị bụ otu n'ime ndị ahịa a, ị nwere ike ịtụ ụjọ, iwe na iwe. Ọzọkwa, anyị enwebeghị a ọgba aghara zuru ụwa ọnụ. Oriri CPU dị elu bụ n'ihi otu iwu WAF nwere okwu na-ezighi ezi mgbe niile nke butere azụ azụ gabiga ókè. Nke a bụ okwu ikpe mara: (?:(?:"|'|]|}||d|(?:nan|infinity|true|false|null|undefined|symbol|math)|`|-|+)+[)]*;?((?:s|-|~|!|{}||||+)*.*(?:.*=.*)))

Ọ bụ ezie na nke a na-adọrọ mmasị n'onwe ya (na m ga-ekwu maka ya n'ụzọ zuru ezu n'okpuru ebe a), ọrụ Cloudflare dị ala maka nkeji 27 ọ bụghị naanị n'ihi okwu ọjọọ mgbe niile. O were anyị obere oge iji kọwaa usoro ihe omume ndị butere ọdịda, yabụ anyị anaghị anabata ngwa ngwa. Na njedebe nke post ahụ, m ga-akọwa azụ azụ na nkwupụta mgbe niile ma gwa gị ihe ị ga-eme ya.

Kedu ihe mere

Ka anyị malite n'usoro. Oge niile ebe a bụ na UTC.

N'elekere 13:42 nke ehihie, otu injinia nọ n'òtù firewall mere obere mgbanwe na iwu nchọpụta. XSS iji usoro akpaka. N'ihi ya, e mepụtara tiketi arịrịọ mgbanwe. Anyị na-ejikwa tiketi ndị dị otú ahụ site na Jira (nseta ihuenyo dị n'okpuru).

Mgbe nkeji 3 gachara, ibe mbụ nke PagerDuty pụtara, na-akọ nsogbu na WAF. Nke a bụ ule sịntetik nke na-anwale ọrụ WAF (anyị nwere ọtụtụ narị ha) na mpụga Cloudflare iji nyochaa ọrụ nkịtị. Ihe sochiri nke a ozugbo ibe ọkwa ọkwa gbasara ule ọrụ njedebe ruo ọgwụgwụ ndị ọzọ Cloudflare na-ada, nsogbu okporo ụzọ zuru ụwa ọnụ, njehie 502 juru ebe niile, yana ọtụtụ akụkọ sitere na Points of Presence (PoP) na obodo dị gburugburu ụwa nke gosipụtara enweghị nke akụrụngwa CPU.

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Enwetara m ọtụtụ n'ime ọkwa ndị a, gbapụ na nzukọ, ma na-aga na tebụl mgbe onye isi ngalaba mmepe nke ngwọta anyị kwuru na anyị furu efu 80% nke okporo ụzọ anyị. M gbagara na ndị injinia SRE anyị, ndị na-arụ ọrụ na nsogbu ahụ. Na mbụ anyị chere na ọ bụ ụdị ọgụ a na-amaghị ama.

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Ndị injinia Cloudflare SRE na-agbasasị gburugburu ụwa ma na-enyocha ọnọdụ gburugburu elekere. Na-emekarị, ọkwa ọkwa ndị a na-eme ka ị mata maka nsogbu mpaghara nwere oke oke, a na-enyocha ya na dashboard dị n'ime, ma na-edozi ya ọtụtụ oge kwa ụbọchị. Mana ibe ndị a na ọkwa ọkwa gosipụtara ihe dị oke njọ, ndị injinia SRE kwuputara ozugbo ọkwa P0 siri ike wee kpọtụrụ ndị njikwa na ndị injinia sistemụ.

Ndị injinia London anyị nọ na-ege okwu nkuzi n’ime nnukwu ọnụ ụlọ nzukọ n’oge ahụ. Ekwesịrị ịkwụsị nkuzi ahụ, onye ọ bụla gbakọtara n'otu nnukwu ọnụ ụlọ ọgbakọ, a kpọkwara ndị ọkachamara ọzọ. Nke a abụghị ụdị nsogbu ndị SRE nwere ike ịnagide onwe ha. Ọ dị ngwa ngwa itinye ndị ọkachamara kwesịrị ekwesị.

Na 14:00 anyị kpebiri na nsogbu ahụ dị na WAF na enweghị mbuso agha. Ndị otu ọrụ ahụ wepụrụ data CPU wee doo anya na WAF bụ ụta. Onye ọrụ ọzọ kwadoro echiche a site na iji strace. Onye ọzọ hụrụ na ndekọ na enwere nsogbu na WAF. N'elekere 14:02 nke ehihie, ndị otu ahụ dum bịakwutere m mgbe a tụrụ aro iji igbu ọchụ zuru ụwa ọnụ, usoro arụnyere n'ime Cloudflare nke na-emechi otu akụrụngwa n'ụwa niile.

Otu anyị siri gbuo ụwa maka WAF bụ akụkọ dị iche. Ọ bụghị otú ahụ dị mfe. Anyị na-eji ngwaahịa nke anyị, yana kemgbe ọrụ anyị Access arụghị ọrụ, anyị enweghị ike ịchọpụta ma banye n'ime njikwa njikwa n'ime (mgbe edoziri ihe niile, anyị mụtara na ụfọdụ ndị otu egwuregwu furu efu n'ihi njirimara nchekwa nke na-ewepụ nzere ma ọ bụrụ na ejighị panel njikwa n'ime ya mee ihe. Otee aka).

Ma anyị enweghị ike ịbanye na ọrụ ime anyị, dị ka Jira ma ọ bụ sistemu ụlọ. Anyị chọrọ usoro nhazi, nke anyị na-ejikarị eme ihe (nke a ga-achọkwa ịrụ ọrụ). N'ikpeazụ, otu onye injinia jisiri ike gbanyụọ WAF na 14:07, na n'elekere 14:09, ọkwa okporo ụzọ na CPU laghachiri na nkịtị ebe niile. Usoro nchebe Cloudflare ndị ọzọ na-arụ ọrụ dị ka ihe nkịtị.

Mgbe ahụ, anyị malitere iweghachite WAF. Ọnọdụ ahụ abụghị nke nkịtị, n'ihi ya, anyị na-agba ọsọ ule na-adịghị mma (na-ajụ onwe anyị ma ọ bụrụ na mgbanwe ahụ bụ n'ezie nsogbu ahụ) na ule dị mma (na-ejide n'aka na rollback na-arụ ọrụ) n'otu obodo na-eji okporo ụzọ dị iche iche, na-ebufe ndị ahịa na-akwụ ụgwọ n'ebe ahụ.

Na 14:52 anyị kwenyesiri ike na anyị ghọtara ihe kpatara ya wee mee mgbazi, ma mee ka WAF nwee ike ọzọ.

Kedu ka Cloudflare si arụ ọrụ

Cloudflare nwere otu ndị injinia raara onwe ha nye ijikwa iwu maka WAFs. Ha na-agbalịsi ike imeziwanye ọnụọgụ nchọpụta, belata ihe ndị na-adịghị mma, ma na-anabata ngwa ngwa maka egwu ọhụrụ ka ha na-apụta. N'ime ụbọchị 60 gara aga, enweela arịrịọ mgbanwe 476 ahaziri maka iwu a na-achịkwa maka WAF (nkezi nke otu kwa awa 3).

Ọ dị mkpa ka etinyere mgbanwe a na ọnọdụ ịme anwansị, ebe ezigbo okporo ụzọ ndị ahịa na-agafe iwu, mana ọ nweghị ihe egbochiri. Anyị na-eji ọnọdụ a iji nwalee ịdị irè nke iwu ma tụọ ọnụego ụgha na-adịghị mma na ụgha. Ma ọbụlagodi na ọnọdụ ịme anwansị, a ga-emerịrị iwu ndị ahụ, na nke a, iwu ahụ nwere okwu mgbe niile nke na-eri ihe akụrụngwa processor.

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Dị ka ị nwere ike ịhụ site na arịrịọ mgbanwe dị n'elu, anyị nwere atụmatụ mbugharị, atụmatụ nlọghachi azụ, na njikọ nke usoro nhazi nke ime ụlọ (SOP) maka ụdị ntinye a. SOP maka ịgbanwe iwu na-enye ohere ka ebipụta ya n'ụwa niile. N'ezie, na Cloudflare, a na-eme ihe dị iche iche, na SOP na-ekwu na anyị na-ebu ụzọ buo ngwa ngwa maka nnwale na n'ime ime n'ime ebe ọnụnọ (PoP) (nke ndị ọrụ anyị na-eji), wee gaa na ọnụ ọgụgụ dị nta nke ndị ahịa. ebe dịpụrụ adịpụ, wee gaa na ọnụ ọgụgụ buru ibu nke ndị ahịa, na naanị mgbe ahụ na ụwa dum.

Nke a bụ otú ọ dị. Anyị na-eji git n'ime site na BitBucket. Ndị injinia na-arụ ọrụ na mgbanwe na-enyefe koodu, nke e wuru na TeamCity, na mgbe ihe owuwu ahụ gafere, a na-ekenye ndị nyocha. Ozugbo akwadoro arịrịọ ịdọrọ, a na-achịkọta koodu ahụ wee mee usoro ule (ọzọ).

Ọ bụrụ na owuwu na nwale zuru ezu nke ọma, a na-emepụta arịrịọ mgbanwe na Jira na onye njikwa ma ọ bụ ndu kwesịrị ekwesị ga-akwadorịrị mgbanwe ahụ. Mgbe nkwado gasịrị, mbugharị ga-apụta n'ime ihe a na-akpọ "PoP menagerie": Nkịta, PIG na Canary (nkịta, ezi na canary).

DOG PoP bụ Cloudflare PoP (dị ka obodo ndị ọzọ niile) nke naanị ndị ọrụ Cloudflare na-eji. PoP maka ojiji nke ime na-enye gị ohere ijide nsogbu tupu okporo ụzọ ndị ahịa amalite ịbanye na ngwọta. Ihe bara uru.

Ọ bụrụ na ule DOG na-aga nke ọma, koodu ahụ na-aga na ọkwa PIG (Guinea pig). Nke a bụ Cloudflare PoP, ebe obere ego nke okporo ụzọ ndị ahịa n'efu na-agafe na koodu ọhụrụ.
Ọ bụrụ na ihe niile dị mma, koodu na-abanye na Canary. Anyị nwere Canary PoP atọ n'akụkụ dị iche iche nke ụwa. N'ime ha, okporo ụzọ nke ndị ahịa na-akwụ ụgwọ na ndị n'efu na-agafe koodu ọhụrụ, na nke a bụ nlele ikpeazụ maka njehie.

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019
Usoro mwepụta ngwanrọ na Cloudflare

Ọ bụrụ na koodu ahụ dị mma na Canary, anyị na-ahapụ ya. Ịgafe usoro niile - Nkịta, PIG, Canary, ụwa dum - na-ewe ọtụtụ awa ma ọ bụ ụbọchị, dabere na mgbanwe koodu. N'ihi ụdị dị iche iche nke netwọkụ Cloudflare na ndị ahịa, anyị na-anwale koodu nke ọma tupu anyị ahapụ ya zuru ụwa ọnụ nye ndị ahịa niile. Mana WAF anaghị agbaso usoro a kpọmkwem n'ihi na ọ dị mkpa ka e meghachi omume egwu ngwa ngwa.

WAF egwu
N'ime afọ ole na ole gara aga, enwere mmụba dị ukwuu na egwu egwu na ngwa ngwa. Nke a bụ n'ihi na enwere ọtụtụ ngwaọrụ nyocha ngwanrọ. Dị ka ihe atụ, anyị dere na nso nso a na-eju anya).

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019
isi: https://cvedetails.com/

Ọtụtụ mgbe, a na-emepụta ihe akaebe nke echiche wee bipụta ya ozugbo na Github ka ndị otu na-eji ngwa ahụ wee nwalee ya ngwa ngwa wee hụ na echekwara ya nke ọma. Ya mere, Cloudflare chọrọ ikike ịzaghachi mwakpo ọhụrụ ngwa ngwa o kwere mee ka ndị ahịa nwee ohere iji dozie ngwanrọ ha.

Otu ezigbo ihe atụ nke nzaghachi ngwa ngwa Cloudflare bụ ntinye nke nchekwa adịghị ike nke SharePoint na Mee (gụọ ebe a). Ihe fọrọ nke nta ka ọ bụrụ ozugbo ọkwa ahụ gasịrị, anyị hụrụ ọtụtụ mgbalị iji jiri adịghị ike na nrụnye SharePoint ndị ahịa anyị. Ụmụ okorobịa anyị na-enyocha ihe egwu ọhụrụ na iwu ide ihe mgbe niile iji chebe ndị ahịa anyị.

Iwu nke kpatara nsogbu ahụ na Tọzdee kwesịrị ichebe site na ederede saịtị (XSS). Mwakpo dị otú ahụ abụrụkwa nke ukwuu n'afọ ndị na-adịbeghị anya.

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019
isi: https://cvedetails.com/

Usoro ọkọlọtọ maka ịgbanwe iwu a na-achịkwa maka WAF bụ ịme ule ntinye aka na-aga n'ihu (CI) tupu ebuga ụwa. Tọzdee gara aga anyị mere nke a wee wepụta iwu. N'elekere 13:31 nke ehihie, otu injinia nyefere arịrịọ ịdọrọ akwadoro yana mgbanwe.

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Na 13:37 TeamCity chịkọtara iwu, na-agba ọsọ ule ma nye aka n'ihu. Ụlọ nyocha WAF na-anwale isi ọrụ WAF ma nwee ọnụ ọgụgụ dị ukwuu nke ule otu maka ọrụ onye ọ bụla. Mgbe ule otu nkeji gasịrị, anyị nwalere iwu maka WAF site na iji ọnụ ọgụgụ dị ukwuu nke arịrịọ HTTP. Arịrịọ HTTP lelee arịrịọ ndị WAF kwesịrị igbochi ya (iji gbochie mwakpo ahụ) yana nke enwere ike ịhapụ ya (ka ọ ghara igbochi ihe niile wee zere ezigbo ụgha). Mana anyị anwaleghị maka ojiji CPU gabigara ókè, na inyocha ndekọ nke WAF gara aga na-ewuli na-egosi na oge mmezu nke iwu abawanyela, ọ na-esikwa ike iche na agaghị enwe akụrụngwa zuru oke.

Nnwale ndị ahụ gafere na TeamCity malitere itinye mgbanwe ahụ na-akpaghị aka na 13:42 pm

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Quicksilver

Iwu WAF na-elekwasị anya na mmezi ihe iyi egwu ozugbo, yabụ anyị na-ebuga ha site na iji ngwa ahịa igodo uru kesara Quicksilver, nke na-agbasa mgbanwe n'ụwa niile na sekọnd. Ndị ahịa anyị niile na-eji teknụzụ a mgbe ha na-agbanwe nhazi na dashboard ma ọ bụ site na API, ọ bụkwa maka ya na anyị na-anabata mgbanwe na ọkụ ọkụ.

Anyị ekwubeghị ọtụtụ ihe gbasara Quicksilver. Na mbụ anyị na-eji Kyoto Tycoon dị ka ụlọ ahịa igodo ọnụ ahịa na-ekesa zuru ụwa ọnụ, mana enwere nsogbu arụmọrụ na ya, anyị dekwara ụlọ ahịa nke anyị, nke a na-emegharị n'ihe karịrị obodo 180. Anyị na-eji Quicksilver ugbu a ịkwanye mgbanwe nhazi na ndị ahịa, melite iwu WAF, ma kesaa koodu Javascript nke ndị ahịa dere na ndị ọrụ Cloudflare.

Ọ na-ewe naanị sekọnd ole na ole site na ịpị bọtịnụ na dashboard ma ọ bụ ịkpọ API iji mee mgbanwe nhazi n'ụwa nile. Ndị ahịa hụrụ ọsọ nhazi a n'anya. Na ndị ọrụ na-enye ha ihe fọrọ nke nta ka ọ bụrụ ngwa ngwa ngwa ngwa zuru ụwa ọnụ. Na nkezi, Quicksilver na-agbasa ihe dị ka mgbanwe 350 kwa nkeji.

Na Quicksilver dị ngwa ngwa. Na nkezi, anyị nwetara 99th percentile nke 2,29 sekọnd iji gbasaa mgbanwe na kọmputa ọ bụla n'ụwa nile. Ọsọ na-abụkarị ihe dị mma. E kwuwerị, mgbe ị na-eme ka ọrụ ma ọ bụ kpochapụ cache, ọ na-eme ihe fọrọ nke nta ka ọ bụrụ ozugbo na ebe niile. Koodu izipu site na ndị ọrụ Cloudflare na-eme n'otu ọsọ ahụ. Cloudflare na-ekwe ndị ahịa ya nkwa mmelite ngwa ngwa n'oge kwesịrị ekwesị.

Ma n'okwu a, ọsọ na-egwu anyị egwu egwu, na iwu gbanwere ebe niile n'ime ihe dị ka sekọnd. O nwere ike ịbụ na ị chọpụtala na koodu WAF na-eji Lua. Cloudflare na-eji Lua ọtụtụ ihe na mmepụta na nkọwapụta Lua na WAF mu atụleworị. Lua WAF na-eji PCRE n'ime ma tinye backtracking maka dakọtara. Ọ nweghị usoro iji kpuchido okwu ndị na-apụ apụ. N'okpuru ebe a, m ga-ekwukwu banyere nke a na ihe anyị na-eme banyere ya.

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Tupu ebuga iwu ahụ, ihe niile na-aga nke ọma: a na-emepụta arịrịọ ịdọrọ ma kwado ya, CI / CD pipeline anakọtara ma nwalee koodu ahụ, a na-etinye arịrịọ mgbanwe ahụ dịka SOP nke na-achịkwa ntinye na nlọghachi azụ, na ntinye ọrụ ahụ agwụla.

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019
Usoro ntinye WAF Cloudflare

Ọ nwere ihe adịghị mma
Dịka m kwuru, anyị na-ebuga ọtụtụ iwu WAF ọhụrụ kwa izu, na anyị nwere ọtụtụ usoro iji chebe pụọ na nsonaazụ ọjọọ sitere na mbugharị dị otú ahụ. Ma mgbe ihe na-adaba adaba, ọ na-abụkarị ngwakọta nke ọnọdụ dị iche iche n'otu oge. Ọ bụrụ na ịchọta nanị otu ihe kpatara ya, nke a, n'ezie, na-emesi obi ike, ma ọ bụghị mgbe nile ka ọ bụ eziokwu. Ndị a bụ ihe kpatara ọnụ butere ọdịda nke ọrụ HTTP/HTTPS anyị.

  1. Otu injinia dere okwu mgbe nile nke nwere ike ime ka ọ ghara ịdị oke azụ azụ.
  2. Otu ihe nwere ike igbochi okwu oge niile ka ọ ghara imebi CPU buru ibu ka ewepụrụ n'ụzọ ezighi ezi na nhazigharị nke WAF ọtụtụ izu tupu mgbe ahụ - a chọrọ nrụgharị ahụ iji mee ka WAF na-eri obere ihe.
  3. Igwe okwu okwu oge niile enweghị nkwa mgbagwoju anya.
  4. Ụlọ nyocha ahụ enweghị ike ịchọpụta oke oriri CPU.
  5. SOP na-enye ohere ịgbanwe mgbanwe iwu na-adịghị ngwa ngwa n'ụwa niile na-enweghị usoro ọtụtụ nzọụkwụ.
  6. Atụmatụ nlọghachite chọrọ ịgba ọsọ WAF zuru ezu ugboro abụọ, nke were ogologo oge.
  7. Mkpesa mbụ banyere nsogbu okporo ụzọ zuru ụwa ọnụ kpalitere n'oge.
  8. Anyị were oge iji melite ibe ọkwa.
  9. Anyị nwere nsogbu ịnweta sistemu n'ihi glitch, na usoro ngafe eguzobebeghị nke ọma.
  10. Ndị injinia SRE tụfuru ụzọ ụfọdụ n'ihi na nzere ha agwụla n'ihi ihe nchekwa.
  11. Ndị ahịa anyị enweghị ohere ịnweta dashboard Cloudflare ma ọ bụ API n'ihi na ha na-agafe mpaghara Cloudflare.

Ihe gbanwere kemgbe Tọzdee gara aga

Nke mbụ, anyị kwụsịrị ọrụ niile na mwepụta maka WAF ma na-eme ihe ndị a:

  1. Anyị na-eweghachite nchedo ngafe nke CPU nke anyị wepụrụ. (Njikere)
  2. Iji aka na-enyocha iwu 3868 niile dị n'ime iwu a na-achịkwa maka WAF ka ịchọta ma mezie okwu ikpe ndị ọzọ nwere ike ịkpata oke azụ azụ. (Emechara nkwenye)
  3. Anyị na-agụnye profaịlụ arụmọrụ maka iwu niile na nhazi ule. (Atụmatụ: Julaị 19)
  4. Ịgbanwe na igwe okwu mgbe niile re2 ma ọ bụ nchara na- - ha abụọ na-enye nkwa oge ojiri gaa. (Atụmatụ: Julaị 31)
  5. Anyị na-edegharị SOP iji wepụta iwu na usoro, dị ka ngwanrọ ndị ọzọ na Cloudflare, mana n'otu oge ahụ nwere ike ibuga ngwa ngwa n'ụwa niile ma ọ bụrụ na mwakpo amalitelarị.
  6. Anyị na-azụlite ikike iwepụ ngwa ngwa Cloudflare dashboard na API na mpaghara Cloudflare.
  7. Mmelite ibe na-akpaghị aka Ọnọdụ Cloudflare.

Ogologo oge, anyị na-apụ na Lua WAF nke m dere afọ ole na ole gara aga. Na-ebugharị WAF na ọhụrụ firewall usoro. Otu a WAF ga-adị ngwa ngwa ma nweta ọkwa nchebe ọzọ.

nkwubi

Ọdịda a butere anyị na ndị ahịa anyị nsogbu. Anyị mere ngwa ngwa iji dozie ọnọdụ ahụ ma na-arụ ọrụ ugbu a na mmejọ nke usoro ndị kpatara ihe mberede ahụ, yana igwu ala ọbụna karị iji chebe nsogbu ndị nwere ike ime na nkwupụta mgbe niile n'ọdịnihu mgbe ị na-akwaga na nkà na ụzụ ọhụrụ.

Ọpụpụ a na-eme anyị ihere ma rịọ ndị ahịa anyị mgbaghara. Anyị nwere olileanya na mgbanwe ndị a ga-eme ka ihe dị otú a ghara ime ọzọ.

Ngwa. Ntughari okwu oge niile

Iji ghọta ka okwu a:

(?:(?:"|'|]|}||d
(?:nan|infinity|true|false|null|undefined|symbol|math)|`|-
|+)+[)]*;?((?:s|-|~|!|{}||||+)*.*(?:.*=.*)))

riecha ihe niile CPU, ị ga-achọ ịma ntakịrị maka etu igwe okwu okwu oge niile si arụ ọrụ. Nsogbu ebe a bụ ụkpụrụ .*(?:.*=.*). (?: na kwekọrọ ) bụ otu na-adịghị ejide (ya bụ, a na-achịkọta okwu dị na mbike dị ka otu okwu).

N'ọnọdụ nke oke oriri CPU, enwere ike ịkọwa ụkpụrụ a dị ka .*.*=.*. N'ụdị a, ụkpụrụ ahụ dị mgbagwoju anya na-enweghị isi. Mana nke kachasị mkpa, n'ime ụwa n'ezie, okwu (dị ka okwu mgbagwoju anya na iwu WAF) nke na-arịọ engine ka ọ dakọtara na mpempe akwụkwọ ọzọ na-esote nwere ike iduga n'azụ azụ azụ. Ya mere.

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Na okwu mgbe niile . pụtara na ị ga-adakọrịrị otu agwa, .* - dakọtara efu ma ọ bụ karịa mkpụrụedemede "n'anyaukwu", ya bụ, iwepụta mkpụrụedemede kachasị, yabụ .*.*=.* pụtara dakọtara efu ma ọ bụ karịa mkpụrụedemede, wee dakọtara efu ma ọ bụ karịa mkpụrụedemede, chọta nke nkịtị = agwa, efu efu ma ọ bụ karịa mkpụrụedemede.

Ka anyị were akara ule x=x. O kwekọrọ na okwu ahụ .*.*=.*. .*.* tupu akara nhata dabara na nke mbụ x (otu n'ime otu .* kwekọrọ x, na nke abụọ - efu odide). .* mgbe = egwuregwu ikpeazụ x.

Ntụnyere a chọrọ usoro iri abụọ na atọ. Otu nke mbụ .* в .*.*=.* na-eme ihe anyaukwu ma kwekọọ na eriri dum x=x. Igwe ahụ na-aga n'òtù na-esote .*. Anyị enweghị mkpụrụedemede ọzọ anyị ga-adakọ, yabụ otu nke abụọ .* dakọtara mkpụrụedemede efu (a kwere). Mgbe ahụ, engine na-aga na akara =. Enweghị akara ọzọ (otu mbụ .* ji dum okwu x=x), enweghị ntụnyere adịghị eme.

Na mgbe ahụ okwu engine na-alaghachi na mmalite. Ọ gara n'òtù nke mbụ .* na-atụnyere ya с x= (kama x=x), wee banye n'ìgwè nke abụọ .*. Otu nke abụọ .* e ji tụnyere nke abụọ x, ma anyị enweghị ọzọ agwa fọdụrụ. Na mgbe engine erute ọzọ = в .*.*=.*, ọ dịghị ihe na-arụ ọrụ. Ọ laghachi azụ ọzọ.

Oge a otu .* ka na-adakọ x=, ma ìgwè nke abụọ .* achọghị ọzọ x, na mkpụrụedemede efu. Injin ahụ na-agbalị ịchọta agwa nkịtị = na ụkpụrụ .*.*=.*, ma ọ pụtaghị (mgbe niile, otu nke mbụ ejirila ya .*). Ọ laghachi azụ ọzọ.

Oge a bụ otu nke mbụ .* na-ewe naanị x mbụ. Ma ìgwè nke abụọ .* "ejiri anyaukwu" na-ejide =x. Ị chetụla ihe ga-eme? Injin ahụ na-anwa ka ọ dabara na nke nkịtị =, na-ada ma na-eme ka azụ azụ ọzọ.

Ndi otu mbu .* ka dabara na nke mbụ x. Nke abụọ .* na-ewe naanị =. N'ezie, engine enweghị ike ikwekọ na nke nkịtị =, n'ihi na ìgwè nke abụọ emeworị ihe a .*. Na ọzọ backtracking. Ma anyị na-agbalị ka ọ dakọtara na eriri nke mkpụrụedemede atọ!

N'ihi ya, ndị mbụ otu .* dabara naanị nke mbụ x, nke abụọ .* - na efu odide, na engine emesị kwekọọ na nkịtị = na nkwupụta с = n'ahịrị. Nke na-esote bụ otu ikpeazụ .* e jiri ya tụnyere nke ikpeazụ x.

23 nzọụkwụ naanị maka x=x. Lelee obere vidiyo gbasara iji Perl Regexp :: Onye nbibi, nke na-egosi ka nzọụkwụ na azụ azụ si eme.

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Nke a abụrụlarị ọtụtụ ọrụ, mana gịnị ma ọ bụrụ kama x=x anyị ga-enwe x=xx? Nke ahụ bụ nzọụkwụ 33. Ma ọ bụrụ x=xxx? 45. Mmekọrịta abụghị ahịrị. Eserese na-egosi ntụnyere si x=x ka x=xxxxxxxxxxxxxxxxxxxx (20 x после =). Ọ bụrụ na anyị nwere 20 x mgbe =, injin ahụ mezuru nha nha na usoro 555! (Ọzọkwa, ọ bụrụ na anyị efuola x= na eriri naanị nwere 20 x, injin ahụ ga-eme usoro 4067 iji ghọta na ọ nweghị egwuregwu).

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Vidiyo a na-egosi azụ azụ niile maka ntụnyere x=xxxxxxxxxxxxxxxxxxxx:

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Nsogbu bụ na ka eriri eriri na-abawanye, oge nhata na-eto nke ukwuu. Mana ihe nwere ike ịka njọ ma ọ bụrụ na emezigharịrị okwu mgbe niile. Ka anyị kwuo na anyị nwere .*.*=.*; (ya bụ, e nwere a nkịtị semicolon na njedebe nke ụkpụrụ). Dịka ọmụmaatụ, iji kwekọọ n'okwu dị ka foo=bar;.

Na ebe a ịlaghachi azụ ga-abụ ezigbo ọdachi. Maka ntụnyere x=x ọ ga-ewe nzọụkwụ 90, ọ bụghị 23. Ọnụ ọgụgụ ahụ na-eto ngwa ngwa. Iji tụnyere x= na 20 x, 5353 nzọụkwụ dị mkpa. Nke a bụ eserese ahụ. Lelee ụkpụrụ axis Y tụnyere chaatị gara aga.

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Ọ bụrụ na ị nwere mmasị, lelee usoro 5353 niile dabara adaba x=xxxxxxxxxxxxxxxxxxxx и .*.*=.*;

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Site n'iji umengwụ kama ijikọ anyaukwu, enwere ike ịchịkwa oke azụ azụ. Ọ bụrụ na anyị agbanwee okwu izizi ka ọ bụrụ .*?.*?=.*?, maka ntụnyere x=x ọ ga-ewe nzọụkwụ 11 (ọ bụghị 23). Banyere x=xxxxxxxxxxxxxxxxxxxx. Ihe niile n'ihi ? после .* na-agwa injin ka ọ dakọtara ọnụ ọgụgụ kacha nta nke mkpụrụedemede tupu ịga n'ihu.

Mana eserese dị umengwụ anaghị edozi nsogbu azụ azụ kpamkpam. Ọ bụrụ na anyị dochie ihe atụ ọdachi .*.*=.*; on .*?.*?=.*?;, oge ogbugbu ga-adị otu. x=x ka na-achọ 555 nzọụkwụ, na x= na 20 x - 5353.

Naanị ihe enwere ike ime (ewezuga idegharị ụkpụrụ ahụ maka nkọwa ka ukwuu) bụ ịhapụ igwe okwu mgbe niile na usoro azụghachi ya. Nke a bụ ihe anyị ga-eme n'ime izu ole na ole na-abịa.

A maara ihe ngwọta maka nsogbu a kemgbe 1968, mgbe Kent Thompson dere akụkọ Usoro mmemme: algọridim nchọ okwu mgbe niile ("Ụzọ mmemme: Algorithm na-achọ okwu mgbe niile"). Isiokwu ahụ na-akọwa usoro nke na-enye gị ohere ịmegharị okwu mgbe niile n'ime igwe ndị na-adịghị deterministic njedebe steeti, na mgbe mgbanwe steeti na igwe na-abụghị nke njedebe nke steeti, jiri algọridim nke oge igbu ya dabere na linearly na eriri dakọtara.

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Ụzọ mmemme
Algorithm ọchụchọ okwu mgbe niile
Ken Thompson

Bell Telephone Laboratories, Inc., Murray Hill, New Jersey

Ọ na-akọwa usoro a na-achọ otu eriri mkpụrụedemede na ederede ma na-atụle mmejuputa usoro a n'ụdị nchịkọta. Onye nchịkọta na-ewere okwu oge niile dị ka koodu isi mmalite wee mepụta mmemme IBM 7094 dị ka koodu ihe. Mmemme ihe a na-ewe ntinye n'ụdị ederede ọchụchọ wee na-ewepụta akara oge ọ bụla eriri ederede dakọtara na nkwupụta oge niile. Isiokwu ahụ na-enye ihe atụ, nsogbu na ngwọta.

Algorithm
Algọridim ọchụchọ ndị gara aga rụpụtara azụ azụ ma ọ bụrụ na nchọta na-aga nke ọma arụpụtaghị nsonaazụ.

Na ụdị nchịkọta, algọridim anaghị arụ ọrụ na akara. Ọ na-agafe ntuziaka na koodu achịkọtara. Mkpebi na-adị ngwa ngwa - mgbe ọ gafechara data n'elu ndepụta dị ugbu a, ọ na-achọgharị mkpụrụedemede niile na-akpaghị aka na nkwupụta oge niile.
Nchikota na algọridim nchọ a gụnyere n'ime ndezi ederede nkekọrịta oge dịka nchọgharị ọnọdụ. N'ezie, nke a dị anya na naanị ngwa nke usoro ọchụchọ dị otú ahụ. Dịka ọmụmaatụ, a na-eji ihe dị iche iche nke algọridim a dị ka ihe nchọta akara na tebụl na mgbakọ.
A na-eche na onye na-agụ ya maara nke ọma okwu mgbe niile na asụsụ mmemme kọmputa nke IBM 7094.

Onye nchịkọta
Ihe nchịkọta nwere usoro atọ na-agba ọsọ n'otu oge. Usoro nke mbụ bụ nzacha syntax, nke na-enye ohere naanị okwu ziri ezi mgbe niile ka ọ gafere. Nzọụkwụ a na-etinyekwa onye ọrụ "·" ka ọ dabara na okwu oge niile. Na nzọụkwụ nke abụọ, a na-atụgharị okwu mgbe niile ka ọ bụrụ ụdị postfix. Na ọkwa nke atọ, a na-emepụta koodu ihe. Nkeji 2 nke mbụ doro anya, anyị agaghị ebikwa na ha.

Edemede Thompson anaghị ekwu maka igwe anaghị achọpụta njedebe steeti, mana ọ na-akọwa usoro algorithm nke linear nke ọma ma na-enye mmemme ALGOL-60 nke na-ewepụta koodu asụsụ mgbakọ maka IBM 7094. Mmejuputa a dị aghụghọ, mana echiche ahụ dị mfe.

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

ụzọ ọchụchọ dị ugbu a. Akara ngosi ⊕ nwere otu ntinye na ntinye abụọ nọchiri anya ya.
Ọgụgụ 1 na-egosi ọrụ nke usoro nchịkọta nke atọ mgbe ị na-agbanwe ihe atụ okwu mgbe niile. Mkpụrụedemede mbụ atọ dị na ọmụmaatụ bụ a, b, c, nke ọ bụla na-emepụta ntinye nchịkọta S[i] na ubi NNODE.

NNODE gaa na koodu dị ka iwepụta okwu oge niile n'otu ntinye nchịkọta (lee foto 5)

Nke a bụ ihe okwu mgbe niile ga-adị ka .*.*=.*, ma ọ bụrụ na ị na-eche ya ka ọ dị na foto ndị sitere na akụkọ Thompson.

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Na fig. 0 enwere steeti ise na-amalite site na 0, na okirikiri 3 na-amalite site na steeti 1, 2 na 3. Usoro okirikiri atọ a kwekọrọ na atọ. .* na okwu mgbe nile. 3 ovals nwere ntụpọ kwekọrọ na otu akara. Oval nwere akara = dabara agwa nkịtị =. Steeti 4 bụ nke ikpeazụ. Ọ bụrụ na anyị erute ya, mgbe ahụ, a na-ejikọta okwu mgbe niile.

Iji hụ ka enwere ike iji eserese steeti dị otú ahụ maka mmekọ okwu mgbe niile .*.*=.*, anyị ga-ele anya na eriri kenha x=x. Mmemme na-amalite site na steeti 0, dị ka egosiri na fig. 1.

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Ka algọridim a wee rụọ ọrụ, igwe steeti ga-abụrịrị n'ọtụtụ steeti n'otu oge. Igwe njedebe na-adịghị ekpebi ga-eme mgbanwe niile nwere ike ime n'otu oge.

Tupu enwee oge ịgụ data ntinye, ọ na-abanye na steeti mbụ (1 na 2), dịka egosiri na Fig. 2.

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Na fig. 2 na-egosi ihe na-eme mgbe ọ lere anya na mbụ x в x=x. x nwere ike maapụ ruo n'elu isi, na-aga site na steeti 1 wee laghachi na steeti 1. Ma ọ bụ x nwere ike maapụ ruo n'ókè dị n'okpuru, na-esi na steeti 2 laghachi azụ gaa na steeti 2.

Mgbe emechara nke mbụ x в x=x anyị ka nọ na steeti 1 na 2. Anyị enweghị ike iru steeti 3 ma ọ bụ 4 n'ihi na anyị chọrọ agwa nkịtị. =.

Algọridim wee tụlee = в x=x. Dị ka x n'ihu ya, enwere ike ijikọ ya na nke ọ bụla n'ime loops abụọ kachasị elu site na steeti 1 ruo steeti 1 ma ọ bụ site na steeti 2 ruo steeti 2, mana algọridim nwere ike dabara na nke nkịtị. = wee si na steeti 2 gaa na steeti 3 (na ozugbo 4). E gosipụtara nke a na fig. 3.

Nkọwa nke mwepu Cloudflare na Julaị 2, 2019

Algọridim wee gaa n'ihu na nke ikpeazụ x в x=x. Site na steeti 1 na 2 otu mgbanwe ahụ ga-ekwe omume ịlaghachi na steeti 1 na 2. Site na steeti 3 x nwere ike dakọtara isi ihe dị n'aka nri wee laghachi na steeti 3.

N'oge a, onye ọ bụla agwa x=x tụlere, na ebe ọ bụ na anyị erutela steeti 4, okwu oge niile dabara na eriri ahụ. A na-ahazi agwa ọ bụla otu ugboro, yabụ algọridim a bụ ahịrị n'ogologo eriri ntinye. Ọ dịghịkwa azụ azụ.

N'ụzọ doro anya, mgbe ị rutere steeti 4 (mgbe algọridim dabara na ya x=) A na-ejikọta okwu niile oge niile, na algọridim nwere ike ịkwụsị n'echeghị ya ma ọlị x.

Algọridim a dabere n'ahịrị n'ogo nke eriri ntinye.

isi: www.habr.com

Tinye a comment