Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Hoo e ka bang lilemo tse 9 tse fetileng Cloudflare e ne e le k'hamphani e nyenyane, 'me ha kea ka ka e sebeletsa, ke ne ke le moreki feela. Khoeli ka mor'a ho qala Cloudflare, ke ile ka fumana tsebiso ea hore websaeteng ea ka jgc.orgDNS ha e bonahale e sebetsa. Cloudflare e entse phetoho ho Li-Buffers tsa Protocol, 'me ho ne ho e-na le DNS e robehileng.

Hang-hang ke ile ka ngolla Matthew Prince ka sehlooho se reng "DNS ea ka e hokae?" 'me a khutlisa karabo e telele e nang le lintlha tsa tekheniki (bala mangolo ohle mona), moo ke ileng ka araba:

Ho tsoa ho: John Graham-Cumming
Letsatsi: Mphalane 7, 2010, 9:14
Sehlooho: Re: DNS ea ka e hokae?
Ho: Matthew Prince

Tlaleho e ntle, kea leboha. Ka sebele ke tla letsetsa haeba ho na le mathata. Mohlomong ho bohlokoa ho ngola poso ka sena hang ha o se o bokelletse lintlha tsohle tsa tekheniki. Ke nahana hore batho ba tla thabela pale e bulehileng le e tšepahalang. Haholo-holo haeba u hokela li-graph ho eona ho bonts'a hore na sephethephethe se holile joang ho tloha ha se qala.

Ke na le tlhokomelo e ntle sebakeng sa ka sa marang-rang, 'me ke fumana SMS mabapi le ho hlōleha ho hong le ho hong. Tlhokomelo e bontša hore ho hloleha ho etsahetse ho tloha ka 13:03:07 ho isa ho 14:04:12. Liteko li etsoa metsotso e meng le e meng e mehlano.

Kea kholoa u tla e utloisisa. Na u na le bonnete ba hore ha u hloke motho oa hau Europe? 🙂

Mme a araba:

Ho tsoa ho: Matthew Prince
Letsatsi: Mphalane 7, 2010, 9:57
Sehlooho: Re: DNS ea ka e hokae?
Ho: John Graham-Cumming

Kea leboha. Re ile ra arabela e mong le e mong ea ngotseng. Ke tseleng e eang ofising hona joale, 'me re tla ngola ho hong ho blog kapa re kenye poso ea semmuso botong ea litaba. Ke lumellana ka ho feletseng, botšepehi ke ntho e 'ngoe le e' ngoe.

Hona joale Cloudflare ke k'hamphani e kholo haholo, ke e sebeletsa, 'me joale ke tlameha ho ngola ka bolokolohi ka phoso ea rona, liphello tsa eona le liketso tsa rona.

Liketsahalo tsa la 2 Phupu

Ka la 2 Phupu re thehile molao o mocha ho Melao e Laolehileng ea WAFs ka lebaka la eona Lisebelisoa tsa CPU li ne li fela ho processor e 'ngoe le e' ngoe e sebetsanang le sephethephethe sa HTTP/HTTPS marang-rang a Cloudflare lefatšeng ka bophara. Re lula re ntlafatsa melao e laoloang bakeng sa li-WAF ho arabela bofokoli bo bocha le litšokelo. Ka mohlala, ka May, re ile ra potlaka eketsa molaoho itšireletsa khahlanong le tlokotsi e tebileng ho SharePoint. Ntlha eohle ea WAF ea rona ke bokhoni ba ho tsamaisa melao ka potlako le lefatšeng ka bophara.

Ka bomalimabe, ntjhafatso ea Labone le fetileng e ne e na le polelo e tloaelehileng e ileng ea senya lisebelisoa tse ngata haholo tsa HTTP/HTTPS CPU mabapi le ho khutlela morao. Mosebetsi oa rona oa mantlha oa proxy, CDN, le WAF li ile tsa utloa bohloko ka lebaka leo. Setšoantšo se bontša hore lisebelisoa tsa processor bakeng sa ho sebeletsa sephethephethe sa HTTP/HTTPS li fihla hoo e ka bang 100% ho li-server tse marang-rang a rona.

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019
Tšebeliso ea CPU ka nako e le 'ngoe ea ho ba teng nakong ea ketsahalo

Ka lebaka leo, bareki ba rona (le bareki ba bareki ba rona) ba ile ba qetella ba e-na le leqephe la liphoso tsa 502 libakeng tsa Cloudflare. Liphoso tse 502 li hlahisitsoe ke li-server tsa Cloudflare tse ka pele tse neng li ntse li e-na le li-cores tse sa lefelloeng empa li sa khone ho buisana le mekhoa ea ho sebetsana le sephethephethe sa HTTP/HTTPS.

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Rea tseba hore na sena se bakile tšitiso e kae ho bareki ba rona. Re hlabiloe ke lihlong haholo. 'Me ho hlōleha hona ho ile ha re thibela ho sebetsana ka katleho le ketsahalo ena.

Haeba u ne u le e mong oa bareki bana, mohlomong u ne u tšohile, u halefile ebile u ferekane. Ho feta moo, ha re so ka ra ba le a pherekano lefatšeng ka bophara. Tšebeliso e phahameng ea CPU e bakiloe ke molao o le mong oa WAF o nang le polelo e tloaelehileng e sa bueng hantle e bakileng ho khutlela morao ho feteletseng. Mona ke maikutlo a molato: (?:(?:"|'|]|}||d|(?:nan|infinity|true|false|null|undefined|symbol|math)|`|-|+)+[)]*;?((?:s|-|~|!|{}||||+)*.*(?:.*=.*)))

Le hoja sena se thahasellisa ka botsona ('me ke tla bua ka eona ka ho qaqileng ka tlase), tšebeletso ea Cloudflare e ne e theohile ka metsotso ea 27 eseng feela ka lebaka la polelo e mpe ea kamehla. Ho ile ha re nka nako ho hlalosa tatellano ea liketsahalo tse entseng hore re hlōlehe, kahoo re ne re lieha ho arabela. Qetellong ea poso, ke tla hlalosa ho khutlela morao ka polelo e tloaelehileng ebe ke u joetsa hore na u etse eng ka eona.

Tse etsahetseng

Ha re qaleng ka tatellano. Ka linako tsohle mona ke UTC.

Ka 13:42 p.m., moenjiniere oa sehlopha sa li-firewall o ile a etsa phetoho e nyenyane melaong ea ho lemoha. XSS ho sebedisa mokgoa o itirisang. Ka hona, ho entsoe tekete ea kopo ea phetoho. Re laola litekete tse joalo ka Jira (screenshot ka tlase).

Kamora metsotso e 3, leqephe la pele la PagerDuty le ile la hlaha, le tlaleha bothata ka WAF. Ena e ne e le teko ea maiketsetso e lekang ts'ebetso ea WAFs (re na le makholo a bona) ka ntle ho Cloudflare ho shebella ts'ebetso e tloaelehileng. Sena se ile sa lateloa hang-hang ke maqephe a litemoso mabapi le liteko tse ling tsa Cloudflare tsa ho qetela tse sa atleheng, litaba tsa sephethephethe lefatšeng ka bophara, liphoso tse atileng tse 502, le litlaleho tse ngata tse tsoang ho Lintlha tsa Boteng ba rona (PoP) metseng ea lefats'e ho pota tse bonts'itseng khaello. ea lisebelisoa tsa CPU.

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Ke ile ka fumana litemoso tse 'maloa tsa tsena, ke tsoile sebokeng,' me ke le tseleng ea ho ea tafoleng ha hlooho ea lefapha la rona la ntlafatso ea tharollo e re re lahlehetsoe ke 80% ea sephethephethe sa rona. Ke ile ka mathela ho baenjiniere ba rona ba SRE, ba neng ba se ba ntse ba sebetsana le bothata boo. Qalong re ne re nahana hore ke mofuta o mong oa tlhaselo e sa tsejoeng.

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Baenjineri ba Cloudflare SRE ba hasane lefatšeng ka bophara 'me ba lekola maemo bosiu le motšehare. Ka tloaelo, litlhokomeliso tsena li u tsebisa ka litaba tse itseng tsa lehae tsa sebaka se lekanyelitsoeng, li lateloa ho li-dashboard tsa ka hare, 'me li rarolloa hangata ka letsatsi. Empa maqephe ana le litemoso li bonts'itse ho hong ho tebileng, mme baenjiniere ba SRE hang-hang ba phatlalatsa boemo ba boima ba P0 mme ba ikopanya le batsamaisi le baenjiniere ba sistimi.

Lienjiniere tsa rōna tsa London li ne li mametse puo holong e khōlō ka nako eo. Puo e ile ea tlameha ho emisoa, bohle ba bokana ka phaposing e khōlō ea liboka, ’me ha bitsoa litsebi tse eketsehileng. Ena e ne e se bothata bo tloaelehileng boo li-SRE li ka sebetsanang le bona. Ho ne ho potlakile ho kenyelletsa litsebi tse nepahetseng.

Ka 14:00 re ile ra etsa qeto ea hore bothata bo ne bo le ho WAF mme ha ho na tlhaselo. Sehlopha sa ts'ebetso se ile sa hula lintlha tsa CPU mme ho ile ha hlaka hore WAF e ne e le molato. Mosebeletsi e mong o tiisitse khopolo ena a sebelisa strace. Motho e mong o bone ka har'a likutu hore ho na le bothata ka WAF. Ka 14:02 p.m., sehlopha sohle se ile sa tla ho 'na ha ho etsoa tlhahiso ea ho sebelisa polao ea lefats'e, mochine o hahiloeng ho Cloudflare o koalang karolo e le' ngoe lefatšeng ka bophara.

Hore na re bolaile WAF lefatšeng ka bophara joang ke pale e fapaneng. Ha ho bonolo hakaalo. Re sebelisa lihlahisoa tsa rona, le ho tloha tšebeletsong ea rona Access ha ea sebetsa, ha rea ​​​​ka ra khona ho netefatsa le ho kena ka har'a phanele ea taolo ea kahare (ha tsohle li ne li lokisitsoe, re ithutile hore litho tse ling tsa sehlopha li lahlehetsoe ke phihlello ka lebaka la karolo ea ts'ireletso e timang lintlha haeba phanele ea taolo ea kahare e sa sebelisoe nako e telele).

'Me ha rea ​​khona ho fihla lits'ebeletso tsa rona tsa kahare, joalo ka Jira kapa sistimi ea kaho. Re ne re hloka mokhoa oa ho lokisa, oo re neng re o sebelisa khafetsa (le ona o tla hloka ho sebetsoa). Qetellong, moenjiniere e mong o ile a khona ho tima WAF ka 14:07, 'me ka 14:09, maemo a sephethephethe le CPU a ne a khutlela ho tloaelehileng hohle. Mekhoa e meng ea ts'ireletso ea Cloudflare e ile ea sebetsa e le ntho e tloaelehileng.

Ebe re qala ho khutlisetsa WAF. Boemo bo ne bo sa tloaeleha, kahoo re ile ra etsa liteko tse mpe (re ipotsa hore na phetoho e hlile e le bothata) le liteko tse ntle (ho etsa bonnete ba hore ho khutlela morao ho sebetsa) motseng o le mong ho sebelisa sephethephethe se arohaneng, ho fetisetsa bareki ba lefang ho tloha moo.

Ka 14:52 re ne re kholisehile hore re utloisisa lebaka mme re entse khalemelo, mme ra lumella WAF hape.

Kamoo Cloudflare e sebetsang kateng

Cloudflare e na le sehlopha sa baenjiniere ba inehetseng ho laola melao ea WAFs. Ba ikitlaelletsa ho ntlafatsa litekanyetso tsa ho lemoha, ho fokotsa maikutlo a fosahetseng, le ho arabela ka potlako litšokelo tse ncha ha li hlaha. Matsatsing a 60 a fetileng, ho bile le likopo tse 476 tsa phetoho tse sebetsitsoeng bakeng sa melao e laoloang bakeng sa WAF (karolelano ea e le 'ngoe ea lihora tse ling le tse ling tse 3).

Phetoho ena e khethehileng e ne e hloka ho sebelisoa ka mokhoa oa ho etsisa, moo sephethephethe sa bareki ba sebele se fetang molaong, empa ha ho letho le thibetsoeng. Re sebelisa mokhoa ona ho lekola katleho ea melao le ho lekanya litekanyetso tse fosahetseng le tse fosahetseng. Empa esita le ka mokhoa oa ho etsisa, melao e tlameha ho etsoa, ​​'me tabeng ena molao o ne o e-na le polelo e tloaelehileng e neng e ja lisebelisoa tse ngata haholo tsa processor.

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Joalo ka ha u bona ho tsoa kopong ea phetoho e kaholimo, re na le moralo oa phepelo, moralo oa ho khutlisa, le sehokelo sa mokhoa oa tšebetso o tloaelehileng oa kahare (SOP) bakeng sa mofuta ona oa phepelo. SOP ea ho fetola molao e lumella hore e phatlalatsoe lefatšeng ka bophara. Ha e le hantle, ho Cloudflare, lintho li etsoa ka tsela e fapaneng ka ho feletseng, 'me SOP e laela hore re qale ho romela software bakeng sa tlhahlobo le tšebeliso ea ka hare ho sebaka sa ka hare sa ho ba teng (PoP) (eo basebetsi ba rona ba e sebelisang), ebe ho palo e nyenyane ea bareki. sebaka se ka thōko, joale ho palo e kholo ea bareki, 'me feela ho lefats'e lohle.

Sena ke kamoo se shebahalang kateng. Re sebelisa git kahare ka BitBucket. Baenjiniere ba sebetsang ka liphetoho ba fana ka khoutu, e hahiloeng ho TeamCity, 'me ha mohaho o feta, bahlahlobi ba abeloa. Hang ha kopo ea ho hula e amoheloa, khoutu e bokelloa 'me letoto la liteko li tsamaisoa (hape).

Haeba moaho le liteko li phethiloe ka katleho, kopo ea phetoho e etsoa Jira mme molaoli ea loketseng kapa moetapele o tlameha ho amohela phetoho eo. Kamora tumello, thomello e etsahala ho seo ho thoeng ke "PoP menagerie": NTJA, PIG le. Canary (ntja, kolobe le canary).

DOG PoP ke Cloudflare PoP (joaloka e 'ngoe le e' ngoe ea litoropo tsa rona) e sebelisoang feela ke basebetsi ba Cloudflare. PoP bakeng sa ts'ebeliso ea kahare e u lumella ho ts'oara mathata pele sephethephethe sa bareki se qala ho phalla tharollong. Ntho e sebetsang.

Haeba tlhahlobo ea NTJA e atlehile, khoutu e fallela sethaleng sa PIG (guinea pig). Ena ke Cloudflare PoP, moo palo e nyane ea sephethephethe sa bareki ba mahala e phallang ka khoutu e ncha.
Haeba tsohle li lokile, khoutu e kena Canary. Re na le li-Canary PoP tse tharo likarolong tse fapaneng tsa lefats'e. Ho tsona, sephethephethe sa bareki ba lefuoang le ba mahala se feta khoutu e ncha, 'me ena ke tlhahlobo ea ho qetela ea liphoso.

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019
Ts'ebetso ea Phallo ea Software ho Cloudflare

Haeba khoutu e lokile Canary, rea e lokolla. Ho pholletsa le mekhahlelo eohle - NTJA, PIG, Canary, lefats'e lohle - ho nka lihora tse 'maloa kapa matsatsi, ho itšetlehile ka phetoho ea khoutu. Ka lebaka la mefuta-futa ea marang-rang a Cloudflare le bareki, re hlahloba khoutu ka botlalo pele re e lokolla lefatšeng ka bophara ho bareki bohle. Empa WAF ha e latele ts'ebetso ena ka kotloloho hobane litšokelo li hloka ho arajoa kapele.

Litšokelo tsa WAF
Lilemong tse 'maloa tse fetileng, ho bile le keketseho e kholo ea litšokelo lits'ebetsong tse tloaelehileng. Sena se bakoa ke boteng bo boholo ba lisebelisoa tsa tlhahlobo ea software. Ka mohlala, re sa tsoa ngola ka fuzzing).

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019
Source: https://cvedetails.com/

Hangata, bopaki ba mohopolo oa bōptjoa 'me oa phatlalatsoa hang-hang ho Github e le hore lihlopha tse bolokang kopo li ka li hlahloba kapele le ho netefatsa hore li sireletsehile ka ho lekaneng. Ka hona, Cloudflare e hloka bokhoni ba ho arabela litlhaselo tse ncha kapele kamoo ho ka khonehang e le hore bareki ba be le monyetla oa ho lokisa software ea bona.

Mohlala o motle oa karabelo e potlakileng ea Cloudflare ke ho romelloa ha ts'ireletso ea ts'ireletso ea SharePoint ka Mots'eanong (bala mona). Hoo e ka bang hang ka mor'a hore liphatlalatso li etsoe, re ile ra hlokomela boiteko bo bongata ba ho sebelisa monyetla oa ho ba kotsing ea ho kenya SharePoint ea bareki ba rona. Bashemane ba rona ba lula ba lekola litšokelo tse ncha le ho ngola melao ho sireletsa bareki ba rona.

Molao o bakileng bothata ka Labone o ne o lokela ho sireletsa khahlanong le mongolo oa marang-rang (XSS). Litlhaselo tse joalo le tsona li atile haholo lilemong tsa morao tjena.

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019
Source: https://cvedetails.com/

Mokhoa o tloaelehileng oa ho fetola molao o laoloang bakeng sa WAF ke ho etsa tlhahlobo e tsoelang pele ea ho kopanya (CI) pele e romelloa lefatšeng ka bophara. Labone le fetileng re ile ra etsa tjena ra ba ra ntša melaoana. Ka 13:31 p.m., moenjiniere o ile a kenya kopo e amohetsoeng ea ho hula ka phetoho.

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Ka 13:37 TeamCity e ile ea bokella melao, ea matha liteko 'me ea fana ka tumello. Sehlopha sa liteko sa WAF se leka ts'ebetso ea mantlha ea WAF mme se na le palo e kholo ea liteko tsa yuniti bakeng sa ts'ebetso ea motho ka mong. Kamora liteko tsa yuniti, re ile ra leka melao ea WAF re sebelisa palo e kholo ea likopo tsa HTTP. Likōpo tsa HTTP li hlahloba hore na ke likōpo life tse lokelang ho thibeloa ke WAF (ho thibela tlhaselo) le tse ka lumelloang ho feta (e le hore u se ke ua thibela ntho e 'ngoe le e' ngoe le ho qoba mekhoa ea bohata). Empa ha rea ​​ka ra etsa liteko bakeng sa ts'ebeliso e feteletseng ea CPU, 'me ho hlahloba lits'oants'o tsa WAF tse fetileng ho bonts'a hore nako ea tlhahlobo ea molao ha ea ka ea eketseha,' me ho ne ho le thata ho belaela hore ho ke ke ha ba le lisebelisoa tse lekaneng.

Liteko li ile tsa feta mme TeamCity e ile ea qala ho sebelisa phetoho ka bo eona ka 13:42 p.m.

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Quicksilver

Melao ea WAF e shebana le tokiso ea hang-hang ea litšokelo, kahoo re e sebelisa re sebelisa lebenkele la Quickilver le ajoang la bohlokoa, le phatlalatsang liphetoho lefatšeng ka bophara ka metsotsoana. Bareki bohle ba rona ba sebelisa theknoloji ena ha ba fetola tlhophiso ho dashboard kapa ka API, 'me ke ka lebaka leo re arabelang liphetohong ka lebelo la lehalima.

Ha re so bue haholo ka Quicksilver. Pele re ne re sebelisa Kyoto Tycoon joalo ka lebenkele le ajoang lefatšeng ka bophara la lipara tsa bohlokoa, empa ho bile le mathata a ts'ebetso ka eona, 'me re ile ra ngola lebenkele la rona, le hatisitsoeng metseng e fetang 180. Hona joale re sebelisa Quicksilver ho sutumelletsa liphetoho tsa tlhophiso ho bareki, ho ntlafatsa melao ea WAF, le ho aba khoutu ea JavaScript e ngotsoeng ke bareki ho Cloudflare Workers.

Ho nka metsotsoana e seng mekae feela ho tloha ho tobetsa konopo ho dashboard kapa ho letsetsa API ho etsa phetoho ea tlhophiso lefatšeng ka bophara. Bareki ba ratile lebelo lena la ho seta. 'Me Basebetsi ba ba fa phepelo ea software ea lefats'e ka nako e batlang e lekana. Ka karolelano, Quicksilver e phatlalatsa liphetoho tse ka bang 350 motsotsoana.

Mme Quicksilver e potlakile haholo. Ka kakaretso, re fihletse karolo ea 99 lekholong ea metsotsoana e 2,29 ho phatlalatsa liphetoho komporong e ngoe le e ngoe lefatšeng ka bophara. Hangata lebelo ke ntho e ntle. Ntle le moo, ha o nolofalletsa ts'ebetso kapa o hlakola cache, e etsahala hang hang le hohle. Ho romella khoutu ka Cloudflare Workers ho etsahala ka lebelo le ts'oanang. Cloudflare e tšepisa bareki ba eona lintlafatso tse potlakileng ka nako e nepahetseng.

Empa tabeng ena, lebelo le ile la etsa motlae o sehlōhō ho rona, 'me melao e fetohile hohle ka metsotsoana. Mohlomong u hlokometse hore khoutu ea WAF e sebelisa Lua. Cloudflare e sebelisa Lua haholo tlhahiso le lintlha Lua ka WAF мы e seng e tšohliloe. Lua WAF e sebelisa PCRE ka hare mme e sebetsa ka morao bakeng sa ho nyallana. Ha e na mekhoa ea ho itšireletsa khahlanong le lipolelo tse tsoa taolong. Ka tlase ke tla bua haholoanyane ka sena le seo re se etsang ka sona.

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Pele melao e sebelisoa, ntho e 'ngoe le e' ngoe e ile ea tsamaea hantle: kopo ea ho hula e ile ea bōptjoa 'me ea amoheloa, pipeline ea CI / CD e ile ea bokella le ho lekoa khoutu, kopo ea phetoho e ile ea romelloa ho latela SOP e laolang ho romelloa le ho khutlisetsoa morao, 'me ho tsamaisoa ho phethiloe.

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019
Cloudflare WAF Deployment Process

Ho bile le phoso
Joalokaha ke boletse, re fana ka melao e mengata e mecha ea WAF beke e 'ngoe le e 'ngoe, 'me re na le mekhoa e mengata ea ho itšireletsa khahlanong le liphello tse mpe tsa phepelo e joalo. 'Me ha ho hong ho sa tsamaee hantle, hangata ke motsoako oa maemo a 'maloa ka nako e le' ngoe. Haeba u fumana lebaka le le leng feela, sena, ehlile, sea u khothatsa, empa hase kamehla e leng ’nete. Ana ke mabaka ao 'moho a lebisitseng ho hloleheng ha ts'ebeletso ea rona ea HTTP/HTTPS.

  1. Moenjiniere e mong o ile a ngola polelo e tloaelehileng e ka fellang ka ho feteletseng kgutlela morao.
  2. Sebopeho se ka beng se ile sa thibela polelo e tloaelehileng ho senya CPU e ngata haholo e ile ea tlosoa ka phoso ha ho tsosolosoa WAF libeke tse 'maloa pejana-ho ne ho hlokahala hore WAF e sebelise lisebelisoa tse fokolang.
  3. Enjene ea kamehla ea polelo e ne e se na litiiso tse rarahaneng.
  4. Sehlopha sa teko ha se khone ho bona tšebeliso e feteletseng ea CPU.
  5. SOP e lumella liphetoho tsa melao e sa potlakang hore li phatlalatsoe lefatšeng ka bophara ntle le ts'ebetso ea mehato e mengata.
  6. Moralo oa ho khutlisa o ne o hloka ho tsamaisa WAF e felletseng habeli, e nkile nako e telele.
  7. Tlhokomeliso ea pele mabapi le mathata a sephethephethe lefatšeng ka bophara e hlahisitsoe morao haholo.
  8. Re nkile nako ho ntlafatsa leqephe la boemo.
  9. Re bile le mathata a ho fihlella litsamaiso ka lebaka la glitch, mme mokhoa oa ho kheloha o ne o sa theoa hantle.
  10. Baenjiniere ba SRE ba ile ba lahleheloa ke monyetla oa ho fumana lits'ebetso tse ling hobane mangolo a bona a ile a felloa ke nako ka lebaka la mabaka a ts'ireletso.
  11. Bareki ba rona ba ne ba sa khone ho fumana dashboard ea Cloudflare kapa API hobane ba feta sebakeng sa Cloudflare.

Ke eng e fetohileng ho tloha ka Labone le fetileng

Taba ea pele, re emisitse ka botlalo mosebetsi oohle mabapi le litokollo tsa WAF mme re etsa tse latelang:

  1. Re khutlisetsa ts'ireletso ea ts'ebeliso e feteletseng ea CPU eo re e tlositseng. (E lokile)
  2. Ho hlahloba ka bouena melao eohle e 3868 melaong e laoloang bakeng sa WAF ho fumana le ho lokisa linyeoe tse ling tse ka bang teng tsa ho khutlela morao ho feteletseng. (Tiiso e phethiloe)
  3. Re kenyelletsa profiling ea ts'ebetso bakeng sa melao eohle ho sete ea liteko. (Ho lebelletsoe: Phupu 19)
  4. E fetohela ho enjine e tloaelehileng ea polelo re2 kapa mafome - ka bobeli li fana ka tiisetso ea nako ea ho sebetsa. (Ho lebelletsoe: Phupu 31)
  5. Re ngola hape SOP ho kenya melao ka mekhahlelo, joalo ka software e 'ngoe ho Cloudflare, empa ka nako e ts'oanang re na le bokhoni ba ho romelloa lefats'e ka tšohanyetso haeba litlhaselo li se li qalile.
  6. Re ntse re ntlafatsa bokhoni ba ho tlosa ka potlako dashboard ea Cloudflare le API sebakeng sa Cloudflare.
  7. Lintlafatso tsa leqephe la othomathike Boemo ba Cloudflare.

Nako e telele re tloha hole le Lua WAF eo ke e ngotseng lilemong tse 'maloa tse fetileng. Ho tsamaisa WAF ho sistimi e ncha ea firewall. Ka tsela ena WAF e tla potlaka mme e fumane boemo bo eketsehileng ba tšireletso.

fihlela qeto e

Ho hloleha hona ho ile ha bakela rona le bareki ba rona mathata. Re ile ra nka khato ka potlako ho lokisa boemo 'me hona joale re ntse re sebetsana le mefokolo ea mekhoa e bakileng ho oa, hammoho le ho cheka ho teba le ho feta ho itebela khahlanong le mathata a ka bang teng ka lipolelo tse tloaelehileng nakong e tlang ha re fallela theknoloji e ncha.

Re hlajoa ke lihlong haholo ka ho tima hona 'me re kopa tšoarelo ho bareki ba rona. Re tšepa hore liphetoho tsena li tla netefatsa hore ntho e kang ena ha e etsahale hape.

Kopo. Ho khutlisetsa morao lipolelo tse tloaelehileng

Ho utloisisa hore na poleloana e reng:

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

e jele lisebelisoa tsohle tsa CPU, o hloka ho tseba hanyane ka hore na enjene e tloaelehileng ea polelo e sebetsa joang. Bothata mona ke paterone .*(?:.*=.*). (?: le tse tsamaisanang ) ke sehlopha se sa hapiloeng (ke hore, polelo e masakaneng e hlophisoa joalo ka polelo e le 'ngoe).

Boemong ba tšebeliso e feteletseng ea CPU, mokhoa ona o ka hlalosoa e le .*.*=.*. Ka foromo ena, mohlala o shebahala o rarahane ho sa hlokahale. Empa habohlokoa le ho feta, lefatšeng la 'nete, lipolelo (joaloka lipolelo tse rarahaneng melaong ea WAF) tse kopang enjene ho ts'oanela sekhechana se lateloang ke sekhechana se seng se ka lebisa ho kotlong e mpe. Mme ke ka baka leo.

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Ka polelo ea kamehla . ho bolela hore o hloka ho ts'oana le sebapali se le seng, .* - bapisa litlhaku tsa zero kapa ho feta "ka meharo", ke hore, ho hapa batho ba bangata haholo, e le hore .*.*=.* e bolela ho bapisa litlhaku tse zero kapa ho feta, ebe o bapisa lefela kapa ho feta, fumana tlhaku ea sebele =, e bapisa lefela kapa ho feta.

Ha re nke mohala oa teko x=x. E lumellana le polelo .*.*=.*. .*.* pele letšoao le lekanang le bapa le la pele x (e 'ngoe ea lihlopha .* e lumellana le x, le litlhaku tsa bobeli - zero). .* ka mor'a = lipapali tsa ho qetela x.

Papiso ena e hloka mehato e 23. Sehlopha sa pele .* в .*.*=.* e sebetsa ka meharo mme e tsamaisana le khoele eohle x=x. Enjene e fallela sehlopheng se latelang .*. Ha re sa na litlhaku tse ling tseo re ka li bapisang, kahoo sehlopha sa bobeli .* e tsamaellana le litlhaku tse zero (sena se lumelletsoe). Ebe enjene e fallela letšoao =. Ha ho sa na matšoao (sehlopha sa pele .* e sebelisitse poleloana eohle x=x), ha ho papiso e etsahalang.

'Me joale enjene e tloaelehileng ea polelo e khutlela qalong. O fetela sehlopheng sa pele .* le ho e bapisa с x= (sebakeng sa x=x), ebe o nka sehlopha sa bobeli .*. Sehlopha sa bobeli .* e bapisoa le ea bobeli x, 'me ha re sa na litlhaku tse setseng. Mme ha enjene e fihla hape = в .*.*=.*, ha ho letho le sebetsang. 'Me o khutlela morao hape.

Lekhetlong lena sehlopha .* e ntse e tšoana x=, empa sehlopha sa bobeli .* ha e sa le eo x, le litlhaku tse zero. Enjene e leka ho fumana motho oa sebele = pateroneng .*.*=.*, empa ha e tsoe (ka mor'a tsohle, sehlopha sa pele se se se e nkile .*). 'Me o khutlela morao hape.

Lekhetlong lena sehlopha sa pele .* e nka feela x ea pele. Empa sehlopha sa bobedi .* "ka meharo" e hapa =x. Na u se u ntse u nahanne hore na ho tla etsahala eng? Enjene e leka ho tsamaisana le ea sebele =, e hloleha mme e etsa tšitiso e 'ngoe hape.

Sehlopha sa pele .* e ntse e tšoana le ea pele x. Ea bobeli .* nka feela =. Ke ’nete hore enjene e ke ke ea tšoana le ea sebele =, hobane sehlopha sa bobeli se se se entse sena .*. Le ho khutlela morao hape. 'Me re leka ho bapisa letoto la litlhaku tse tharo!

Ka lebaka leo, sehlopha sa pele .* e lumellana le ea pele feela x, ea bobeli .* - e nang le litlhaku tsa zero, 'me qetellong enjene e lumellana le ea sebele = ka polelo с = e mocheng. E latelang ke sehlopha sa ho qetela .* e bapisoa le ea ho qetela x.

23 mehato feela bakeng sa x=x. Shebella video e khuts'oane mabapi le ho sebelisa Perl Regexp::Debugger, e bontšang hore na mehato le ho khutlela morao ho etsahala joang.

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Hona e se e ntse e le mosebetsi o mongata, empa ho thoe'ng haeba ho e-na le hoo x=x re tla ba le x=xx? Ke mehato e 33. Mme haeba x=xxx? 45. Kamano ha e na moeli. Kerafo e bontša papiso ho tloha x=x ho x=xxxxxxxxxxxxxxxxxxxx (20 x после =). Haeba re na le 20 x kamora =, enjene e phethela ho bapisa ka mehato e 555! (Ho feta moo, haeba re lahlehetsoe x= 'me khoele e na le 20 feela x, enjene e tla nka mehato ea 4067 ho utloisisa hore ha ho na lipapali).

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Video ena e bonts'a likarolo tsohle tsa morao-rao bakeng sa papiso x=xxxxxxxxxxxxxxxxxxxx:

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Bothata ke hore ha boholo ba khoele bo ntse bo eketseha, nako ea ho bapisa e ntse e hola ka mokhoa o fetisisang. Empa lintho li ka mpefala le ho feta haeba polelo e tloaelehileng e fetotsoe hanyane. Ha re re re bile le eona .*.*=.*; (ke hore, ho ne ho e-na le semicolon ea sebele qetellong ea paterone). Ka mohlala, ho bapisa polelo e kang foo=bar;.

'Me mona ho khutlela morao e ka ba tlokotsi ea sebele. Bakeng sa papiso x=x e tla nka mehato e 90, eseng e 23. Mme palo eo e ntse e hola ka potlako. Ho bapisa x= le 20 x, ho hlokahala mehato e 5353. Chate ke ena. Sheba litekanyetso tsa axis Y ha e bapisoa le chate e fetileng.

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Haeba u na le thahasello, sheba mehato eohle e 5353 e hlōlehileng x=xxxxxxxxxxxxxxxxxxxx и .*.*=.*;

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Ka ho sebelisa botsoa ho e-na le ho bapisa ka meharo, tekanyo ea ho khutlela morao e ka laoloa. Haeba re fetola polelo ea pele ho .*?.*?=.*?, ho bapisa x=x e tla nka mehato e 11 (eseng 23). Ha e le x=xxxxxxxxxxxxxxxxxxxx. Kaofela hobane ? после .* e bolella enjene ho bapisa palo e fokolang ea litlhaku pele e fetela pele.

Empa limmapa tse botsoa ha li rarolle bothata ba ho khutlela morao ka botlalo. Haeba re nka sebaka sa mohlala oa tlokotsi .*.*=.*; mabapi le .*?.*?=.*?;, nako ea ho bolaoa e tla lula e tšoana. x=x e ntse e hloka mehato e 555, le x= le 20 x - 5353.

Ntho feela e ka etsoang (ntle le ho ngola sebopeho bocha ka botlalo) ke ho lahla enjene ea kamehla ea polelo ka mochini oa eona oa ho khutlisa. Sena ke seo re tla be re se etsa libekeng tse 'maloa tse tlang.

Tharollo ea bothata bona e tsejoa ho tloha 1968, ha Kent Thompson a ngola sehlooho Mekhoa ea ho etsa mananeo: Mokhoa oa ho batla oa kamehla oa polelo ("Mekhoa ea ho Rulahanya: Mokhoa o Tloaelehileng oa Patlo ea Mantsoe"). Sengoloa se hlalosa mokhoa o u lumellang hore u fetole polelo e tloaelehileng hore e be mechini ea boemo bo sa lekanyetsoang, 'me ka mor'a hore boemo bo fetohe mecheng ea maemo a sa lekanyetsoang, sebelisa algorithm eo nako ea eona ea ts'ebetso e itšetlehileng ka mohala o tšoanang.

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Mekhoa ea ho etsa mananeo
Algorithm ea Patlo e Tloaelehileng
Ken Thompson

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

E hlalosa mokhoa oa ho batla letoto le itseng la litlhaku mongolong 'me e tšohla ts'ebetsong ea mokhoa ona ka mokhoa oa ho bokella. Moqapi o nka polelo e tloaelehileng joalo ka khoutu ea mohloli mme o hlahisa lenaneo la IBM 7094 joalo ka khoutu ea ntho. Lenaneo la ntho le kenya letsoho ka mokhoa oa mongolo oa ho batla 'me le hlahisa lets'oao nako le nako ha tatellano ea mongolo e nyallana le polelo e tloaelehileng. Sengoliloeng se fana ka mehlala, mathata le tharollo.

Algorithm
Litaolo tse fetileng tsa patlo li felletse ka morao haeba patlisiso e atlehileng hanyane e hlolehile ho hlahisa sephetho.

Ka mokhoa oa ho bokella, algorithm ha e sebetse le matšoao. E fetisa litaelo ho khoutu e hlophisitsoeng. Phethahatso e potlakile haholo - ka mor'a ho fetisetsa data holimo lethathamong la hajoale, e batla ka bo eona litlhaku tsohle tse latellanang polelong e tloaelehileng.
Algorithm ea ho bokella le ho batla e kenyellelitsoe ho mohlophisi oa mongolo oa ho arolelana nako e le patlo ea maemo. Ha e le hantle, sena ha se hole le ts'ebeliso feela ea mokhoa o joalo oa ho batla. Mohlala, mofuta o mong oa algorithm ena o sebelisoa e le patlo ea matšoao tafoleng e kopaneng.
Ho nahanoa hore 'mali o tloaelane le lipolelo tse tloaelehileng le puo ea lenaneo la k'homphieutha ea IBM 7094.

Mokopanyi
Mokopanyi o na le methati e meraro e tsamaeang ka tjantjello. Mokhahlelo oa pele ke ho sefa ha li-syntax, tse lumellang feela hore mantsoe a tloaelehileng a nepahetseng a fete. Mohato ona hape o kenya "·" opareitara ho tsamaisana le lipolelo tse tloaelehileng. Mohato oa bobeli, polelo e tloaelehileng e fetoloa ho foromo ea postfix. Mothating oa boraro, khoutu ea ntho e etsoa. Mehato ea pele ea 2 e hlakile, 'me re ke ke ra lula ho eona.

Sengoloa sa Thompson ha se bue ka mechini e sa lekanyetsoang ea mmuso, empa e hlalosa algorithm ea nako ea linear hantle mme e fana ka lenaneo la ALGOL-60 le hlahisang khoutu ea puo ea kopano bakeng sa IBM 7094. Ts'ebetsong e qhekella, empa mohopolo o bonolo haholo.

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

tsela ea hajoale ea ho batla. E emeloa ke ⊕ letšoao le nang le kenyeletso e le 'ngoe le liphetho tse peli.
Setšoantšo sa 1 se bontša mesebetsi ea mohato oa boraro oa ho bokella ha o fetola mohlala o tloaelehileng oa polelo. Litlhaku tse tharo tsa pele mohlaleng ke a, b, c, 'me e mong le e mong o theha S[i] ea stack le tšimo ea NNODE.

NNODE ho khoutu e teng ho hlahisa polelo e tloaelehileng e hlahang ka har'a stack e le 'ngoe (bona Setšoantšo sa 5)

Sena ke kamoo polelo e tloaelehileng e ka shebahalang kateng .*.*=.*, haeba u nahana joalo ka litšoantšo tse tsoang sehloohong sa Thompson.

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Ho sa feiga. 0 ho na le mebuso e mehlano e qalang ho 0, le lisaekele tse 3 tse qalang ho tloha ho 1, 2 le 3. Lipokotho tsena tse tharo li lumellana le tse tharo. .* ka puo e tloaelehileng. Li-oval tse 3 tse nang le matheba li lumellana le letšoao le le leng. Oval e nang le letšoao = e tsamaellana le motho ya itseng =. State 4 ke ea ho qetela. Haeba re fihla ho eona, joale polelo e tloaelehileng e tsamaisana.

Ho bona hore na sets'oants'o se joalo sa boemo se ka sebelisoa joang bakeng sa ho bapisa polelo e tloaelehileng .*.*=.*, re tla sheba ho bapisa likhoele x=x. Lenaneo le qala ho tloha mmusong oa 0, joalo ka ha ho bonts'itsoe ho Fig. 1.

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Hore algorithm ena e sebetse, mochini oa mmuso o tlameha ho ba liprofinseng tse 'maloa ka nako e le ngoe. Mochini o sa lekanyetsoang o tla etsa liphetoho tsohle tse ka khonehang ka nako e le 'ngoe.

Pele e e-ba le nako ea ho bala lintlha tse kentsoeng, e ea libakeng tse peli tsa pele (1 le 2), joalo ka ha ho bonts'itsoe ho Feiga. 2.

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Ho sa feiga. 2 e bontša se etsahalang ha a sheba ea pele x в x=x. x e ka 'mapa ho ea holimo, ho tloha sebakeng sa 1 le ho khutlela sebakeng sa 1. Kapa x o ka etsa 'mapa ho fihla ntlheng e ka tlase, ho tloha seterekeng sa 2 ho khutlela seterekeng sa 2.

Ka mor'a ho lumellana le ea pele x в x=x re ntse re le boemong ba 1 le 2. Ha re khone ho fihla seterekeng sa 3 kapa sa 4 hobane re hloka sebopeho sa sebele. =.

Joale algorithm ea ho nahana = в x=x. Joalo ka x pele ho eona, e ka bapisoa le e 'ngoe ea lilou tse peli tse holimo ho tloha seterekeng sa 1 ho ea ho 1 kapa ho tloha seterekeng sa 2 ho isa seterekeng sa 2, empa algorithm e ka tsamaisana le ea sebele. = 'me u tlohe sebakeng sa 2 ho ea sebakeng sa 3 ('me hang-hang 4). Sena se bontšoa ho Feiga. 3.

Lintlha mabapi le ho tima ha Cloudflare ka Phupu 2, 2019

Joale algorithm e fetela ho ea ho qetela x в x=x. Ho tloha seterekeng sa 1 le sa 2 liphetoho tse tšoanang lia khoneha ho khutlela sebakeng sa 1 le sa 2. Ho tloha seterekeng sa 3 x e ka bapisa ntlha e ka ho le letona ebe e khutlela sebakeng sa 3.

Mothating ona, e mong le e sebapali x=x ho nahanoa, 'me kaha re fihlile seterekeng sa 4, polelo e tloaelehileng e lumellana le khoele eo. Sebapali se seng le se seng se sebetsoa hang, kahoo algorithm ena e mela ka bolelele ba khoele ea ho kenya. 'Me ha ho na ho khutlela morao.

Ho hlakile hore ka mor'a ho fihla seterekeng sa 4 (ha algorithm e lumellana x=) polelo eohle e tloaelehileng e tsamaisana, 'me algorithm e ka emisa ntle le ho e nahana ho hang x.

Algorithm ena e itšetlehile ka ho latela boholo ba khoele ea ho kenya.

Source: www.habr.com

Eketsa ka tlhaloso