Tuiltean sgriobadaire air a’ phlana an-asgaidh aig Cloudflare: dè a chuir stad air, agus dè a dh’fhàg sinn dheth
Obrachadh
Aon mhadainn, stad làrach liostaichean againn a bhith a’ fosgladh. Sheall Cloudflare 524 do luchd-tadhail, bha an t-òrain a’ toirt dhà gu sia mionaidean gach duilleag, agus cha robh dad ag innse dhuinn airson mu dheich uairean a thìde. B’ e an t-adhbhar sgriobadair a’ dol tro phrogsaidhean còmhnaidh aig mu 225 iarrtasan san diog.
Cruth an tuiltean
- Mìltean de sheòlaidhean, aon gu trì iarrtasan gach fear. Ceanglaichean bann-leathainn dachaigh anns na SA, an Spàinn, an Fhraing, a’ Bhraisil, an Rìoghachd Aonaichte agus àiteachan eile, an seòrsa trafaig a bhios lìonra progsaidh còmhnaidh a’ màlachadh.
- Uidheaman-cleachdaidh Chrome air Mac, le àireamhan dreach bho 103 gu 151.
- Cha mhòr gun cookie no Referer. De 2,697 iarrtasan a ghabh sinn sampall aig an fhrithealaiche, bha cookie aig 4 agus Referer aig 4.
- Dà sheòrsa cliant. Bha mu leth dhiubh gun cheann-cinn
Sec-Fetch-*agus gun chomharran cliant: sgriobt le sreang uidheam-cleachdaidh air a chopaigeadh. Bha ceann-cinn brabhsair slàn aig an leth eile: brabhsair gun cheann.
Chaidh gach duilleag a thogail airson gach iarrtas, agus mar sin chuir gach neach-obrach ceudan de thogail ann an loidhne agus bhuail e a chrìoch CPU.
Carson nach b’ urrainn do chrìochan gach seòladh cuideachadh
Tha crìoch reat a’ cunntadh iarrtasan gach seòladh. Le aon gu trì iarrtasan bho gach fear de mhìltean de sheòlaidhean, cha tig seòladh sam bith faisg air crìoch. Bhadh bacadh air dùthchannan air cur bacadh air ar luchd-tadhail. Cha b’ urrainn don sgriobadair a bhith ga ghiùlan fhèin mar bhrabhsair a bha air an làrach roimhe gun chosgais mhòr.
Aig oir Cloudflare: trì riaghailtean an-asgaidh
Leigidh am Plana an-asgaidh le còig riaghailtean gnàthaichte WAF gach sòn. Chleachd sinn trì, uile le dùbhlan riaghlaidh seach bacadh, gus am bi neach a thèid a ghlacadh le mearachd a’ briogadh troimhe:
- Brabhsair meallta: GET aig a bheil uidheam-cleachdaidh a’ toirt a-steach
Chrome/agus nach eil ceann-cinnSec-Fetch-Modeaige. Bidh gach Chrome bho 2019 ga chur. - Nuadhraichean sgriobadaire: iarrtas duilleag bho lìonraidhean Alibaba, Tencent agus Huawei Cloud, far an tàinig mòran den rud a chuir sinn dùbhlan air.
- Èiginn, dheth mar bhun-roghainn: GET gun cookie idir agus gun Referer. Bidh neach a bha air an làrach roimhe, no a thig tro cheangal, a’ dol seachad gun bhuaidh; bidh sgriobadair nach glèidh cookies a’ coinneachadh ri dùbhlan air gach iarrtas. Cuiridh sinn air a-mhàin rè tuiltean, oir cuiridh e dùbhlan cuideachd air neach a sgrìobhas an seòladh a-steach do bhrabhsair ùr.
Leigidh an trì dhiubh troimhe botan dearbhte Cloudflare, buidhnean-cleachdaiche a chanas robotan riutha fhèin, na seòlaidhean againn fhèin, slighean API agus webhook, agus faidhlichean nach eil nan duilleagan. Dhà latha an dèidh sin bha an tuil fhathast a’ dol: ann an aon uair a thìde chuir an riaghailt brabhsair-brèige dùbhlan air barrachd air 10,000 iarrtas. Thàinig na 10,000 tachartas a thilleas Cloudflare gach ceist bho 9,627 seòlaidhean, gun gin le barrachd air 4.
Aig an tùs: geata san aplacaid
Tha cinn-bhrabhsair slàn aig an leth headless, mar sin cha ghlac na riaghailtean oir a-mhàin e fhad ‘s a tha an riaghailt èiginn dheth. San aplacaid fhèin chuir sinn middleware beag air beulaibh an neach-rendair duilleig:
- gheibh buidheann-cleachdaiche Chrome gun
Sec-Fetch-Modeno comharran teachdaiche 403 mus dèanar obair sam bith; - thèid neach-coigich, gun na cookies againn agus gun Referer, a fhrithealadh a-mhàin fhad ‘s a tha comas-fàilligeadh aig an neach-obrach, aig beagan dhuilleagan san diog. Os cionn sin, suidhichidh duilleag 503 de 400 bytes cookie agus ath-luchdaichidh i às dèidh dà dhiog. Gheibh neach an duilleag air an dàrna feuchainn; cha gheibh scraper nach glèidh cookies i gu bràth.
Anns a’ chiad mhionaid dhi chàin an geata mu 6,700 brabhsair-brèige agus thionndaidh i air falbh mu 6,700 neach-coigich, fhad ‘s a bha i a’ frithealadh mu 9 duilleagan san diog do luchd-coigich. Thuit iarrtasan slaodach gu neoni, thuit CPU nan luchd-obrach bhon chrìoch aca gu 12 gu 15 ceudameatair, agus an cuimhne aca bho 4 gu 5 GB gach fear gu 0.65 GB.
Na dh’fhàg sinn dheth
- Bot Fight Mode. Bidh e a’ cur dùbhlan air trafaig fèin-ghluasadach agus cha ghabh a leum le riaghailt gnàthaichte air a’ phlana Free, agus ghlac e webhooks ar solaraiche pàighidh.
- Under Attack mode airson an raoin gu lèir. Bidh e a’ cur gach neach-tadhail, neach-dèiligidh API agus webhook tron eadar-dhuilleag. Nì an riaghailt èiginn an aon obair airson iarrtasan duilleig luchd-coigich a-mhàin.
- Riaghailt cuingealachaidh reat a’ phlana Free. Bidh i a’ cunntadh gach seòladh, rud nach cuir an tuil seo gu gnìomh gu bràth.
- Bacadh luchd-sgrùdaidh AI. Tha sinn ag iarraidh gun lorg luchd-cuideachaidh rannsachaidh AI sinn, agus cha robh na luchd-sgrùdaidh sin nan duilgheadas.
An teachdaireachd
Tha tuil tro phrogsaidhean còmhnaidh furasta aithneachadh leis na tha a dhìth oirre: cinn-bhrabhsair fetch, cookies agus Referers. Cuir dùbhlan air sin aig an oir, cum luchd-coigich taobh a-staigh na as urrainn do luchd-obrach agad a reandaradh, agus dèan cinnteach gun toir rudeigin taobh a-muigh an fhrithealaiche an aire nuair a stadas duilleag a’ fosgladh. Night Watch a’ pacadh an trì dhiubh: an coileanach, na riaghailtean le suidse fèin-ghluasadach airson an tè èiginn, agus an geata airson aplacaidean-lìn Python.