Päästä CoreDashin botit CDN:n tai palomuurin läpi
Joskus palomuurin tai CDN:n asetus estää CoreDashin botit. Tämä sivu näyttää, miten korjaat sen.
Päästä molemmat CoreDashin botit CDN:n tai palomuurin läpi
Lyhyesti
- Molemmat CoreDashin botit käyttävät
CoreDash/-alkuista user agentia, joten yksi sääntö päästää sekä cRUM-auditoinnin että uptime-tarkistuksen läpi. - Projektisi bot-tokeniin perustuva sääntö on tästä turvallisempi versio.
- Cloudflaren Free-sopimuksen Bot Fight Mode ohittaa sääntösi, joten se vaatii oman korjauksensa.
CoreDashilla on kaksi sivustollasi vierailevaa bottia: cRUM-auditointi ja uptime-tarkistus. Jotta saat CoreDashista kaiken irti, CDN:n tai palomuurin on päästettävä molemmat läpi. Joskus jokin asetus estää ne. Tämä sivu näyttää, miten hoidat asian kuntoon Cloudflaressa ja AWS WAF:issa yhdellä molemmat botit kattavalla säännöllä.
Mitä nämä kaksi bottia tekevät:
- cRUM-auditointi. Kun valitset sivun CoreDash-valikon kohdasta cRUM (beta), CoreDash avaa sivun auditointipalvelimellaan Chromessa kävijän tavoin ja näyttää, mikä sitä hidastaa. Sen user agent on
CoreDash/1.0 (audit; +https://www.coredash.app/bot). - Uptime-tarkistus. CoreDash tekee 30 minuutin välein pyynnön jokaiselle valvomallesi sivustolle omilta palvelimiltaan ja ilmoittaa heti, jos jokin niistä kaatuu. Se lähettää user agentin
CoreDash/1.0 (uptime; +https://www.coredash.app/bot).
User agent on nimi, jonka selain tai botti lähettää jokaisen pyynnön mukana kertoakseen, mikä se on. Molempien CoreDash-bottien user agent alkaa merkkijonolla CoreDash/, ja juuri sitä sääntösi tarkkailee.
Miltä estetty auditointi tai uptime-tarkistus näyttää
Palomuuri tai CDN näkee konesalista tulevan kävijän, jonka user agent ei kuulu selaimelle. Se pitää kävijää epäluotettavana bottina ja vastaa virhekoodilla tai challenge-sivulla. Kumpikin botti näyttää tämän omalla tavallaan.
Estetty cRUM-auditointi pysähtyy ilmoitukseen "Audit failed" ja virheviestiin sen alla. Toinen vaihtoehto on, että se ajaa auditoinnin estesivusta: silloin Page load filmstrip näyttää oman sivusi sijaan challenge- tai virhesivun, ja kaikki auditoinnin luvut koskevat tuota sivua.
Uptime-monitorin tilana lukee Blocked, ja sen ilmoitus "A firewall blocks the checker" kertoo tarkistusten saaman tilakoodin sekä alkamisajan. CoreDash jättää estetyn tarkistuksen pois käyttökatkoista, joten esto ei laske uptime-lukemaasi. Mutta niin kauan kuin jokainen tarkistus estetään, yksikään ei pääse sivustollesi asti. Monitori ei silloin pysty ilmoittamaan sivuston kaatumisesta.

Sivuston example-shop.com monitorisivu, kun Cloudflare vastaa jokaiseen uptime-tarkistukseen tilakoodilla 403.
Miten palomuuri tunnistaa CoreDashin
Teet palomuuriin tai CDN:ään yhden poikkeuksen CoreDashille. Useimmiten se tehdään user agentin perusteella: yksi sääntö merkkijonolle CoreDash/ päästää auditoinnin ja uptime-tarkistuksen läpi. Projektisi bot-token tekee säännöstä tiukemman, koska vain oman projektisi botit lähettävät sen. CoreDashin IP-osoitteita käytetään vasta silloin, kun mikään muu ei pääse läpi. Ne muuttuvat aina, kun CoreDash lisää tai siirtää palvelimen, joten IP-sääntöä on pidettävä itse ajan tasalla.
Palomuurin loki kertoo, mikä asetus vaatii poikkeuksen. Cloudflaren loki käydään läpi seuraavassa osiossa. AWS WAF:ia varten siirry alempana olevaan osioon "Salli CoreDash AWS WAF:issa Bot Controlin yläpuolella".
Selvitä, mikä pysäytti CoreDashin Cloudflaressa
Avaa verkkotunnuksesi Cloudflaressa ja mene kohtaan Security › Analytics ja välilehdelle Events. Etsi kohdasta Sampled logs pyyntö, jossa on CoreDashin user agent. Vilkkaalla sivustolla klikkaa Filter, valitse kentäksi User agent ja liitä arvoksi koko user agent: CoreDash/1.0 (uptime; +https://www.coredash.app/bot) uptime-tarkistukselle tai CoreDash/1.0 (audit; +https://www.coredash.app/bot) auditoinnille.
Klikkaa pyyntö auki. Sen Service-rivi nimeää Cloudflaren toiminnon, joka pysäytti sen.

Browser Integrity Check esti tämän uptime-tarkistuksen sivustolla example-shop.com.
Tuo Service-rivi ratkaisee korjaustavan:
- Bot fight mode: tämä on Cloudflaren Free-sopimuksen bottisuojaus, jolle omat säännöt eivät voi tehdä poikkeusta. Hyppää suoraan alempana olevaan Bot Fight Mode -osioon.
- Mikä tahansa muu, kuten kuvassa näkyvä Browser integrity check, managed rule tai Super Bot Fight Mode: tee alla kuvattu Skip-sääntö.
Päästä CoreDash Cloudflaren läpi Skip-säännöllä
Skip-sääntö käskee Cloudflarea jättämään CoreDashin user agentilla tulevat pyynnöt rauhaan valitsemiesi toimintojen osalta. Se kattaa auditoinnin ja uptime-tarkistuksen kerralla, ja sen voi luoda millä tahansa Cloudflare-sopimuksella.
- Mene kohtaan Security › Security rules. Klikkaa kohdasta Custom rules painiketta Create rule.

Sivuston example-shop.com Security rules -näkymä ennen ensimmäistä mukautettua sääntöä.
- Anna säännölle nimeksi CoreDash. Klikkaa kohdassa "When incoming requests match" linkkiä "Edit expression" ja liitä tämä rivi avautuvaan tekstikenttään.
http.user_agent contains "CoreDash/"

Säännön nimi ja lauseke "Edit expression" -klikkauksen jälkeen. Vinoviiva CoreDash-sanan perässä kuuluu asiaan.
- Valitse kohdassa "Then take action" toiminnoksi Skip ja valitse, mitä Cloudflare ohittaa CoreDashin kohdalla. Rastita kohdassa "WAF components to skip" vaihtoehdot "All managed rules" ja "All Super Bot Fight Mode Rules". Avaa "More components to skip" ja rastita myös "Browser Integrity Check". Jätä "Log matching requests" päälle, jotta näet säännön toiminnan myöhemmin Events-lokista.

Toimintona Skip ja kolme ruutua valittuna.
- Klikkaa Deploy. Jos verkkotunnuksellasi on jo muita mukautettuja sääntöjä, Cloudflare kysyy mihin kohtaan tämä sijoitetaan: laita se ensimmäiseksi.

Ilman muita mukautettuja sääntöjä järjestystä ei tarvitse valita, joten Deploy on viimeinen klikkaus.
- Tarkista, että CoreDash pääsee läpi. Kun seuraava auditointi tai uptime-tarkistus saapuu, Cloudflaren Events listaa sen toiminnolla Skip. Tarkista CoreDashissa käyttämäsi botti tai molemmat.
cRUM-auditoinnin kohdalla valitse sivu uudelleen kohdasta cRUM (beta) tai lataa avoinna oleva selainvälilehti uudelleen, jolloin uusi auditointi käynnistyy. Kun se pääsee läpi, Page load filmstrip näyttää oman sivusi latautumisen Chromessa ruutu ruudulta.

Valmis auditointi, jossa TTFB, FCP, LCP ja CLS on merkitty ruutuihin.
Uptime-tarkistus ei vaadi klikkailua: CoreDash tekee tarkistuksen tasatunnein ja puolelta, joten 30 minuutin kuluessa monitorin tilaksi vaihtuu Up ja uudet palkit muuttuvat vihreiksi.

example-shop.com on taas Up-tilassa: 38 tarkistusta sai koodin 403, ja säännön luomisen jälkeen jokainen tarkistus on saanut koodin 200.
Turvallisempi Cloudflare-sääntö CoreDashin bot-tokenilla
Kuka tahansa voi lähettää CoreDash/-alkuisen user agentin, joten CoreDashiksi tekeytyvä haittabotti pääsee myös Skip-säännön läpi. Projektisi bot-token on salaisuus: jokainen auditointi ja uptime-tarkistus lähettää sen X-CoreDash-Bot-nimisessä headerissä. Tuohon tokeniin perustuva sääntö päästää läpi vain oman projektisi botit.
Saat sen auki CoreDashissa kohdasta Project settings välilehdeltä "CoreDash bot token". Vain projektin omistaja pääsee tähän näkymään. Jos monitorin tilana on Blocked, sen ilmoituksessa oleva linkki "View your CoreDash bot token" vie myös suoraan sinne. Klikkaa "Copy Cloudflare rule": saat leikepöydälle valmiin lausekkeen, jossa tokenisi on mukana.

"Copy Cloudflare rule" kopioi tokenisi sisältävän lausekkeen leikepöydälle.
Jos teit jo Skip-säännön, mene kohtaan Security › Security rules ja avaa CoreDash-sääntö. Korvaa sen lausekkeessa oleva user agent -rivi kopioimallasi tekstillä ja tallenna sääntö. Toiminto ja valitut ruudut pysyvät ennallaan. Jos sääntöä ei vielä ole, seuraa edellisen osion ohjeita ja liitä token-rivi vaiheessa 2.
Token lähetetään vain projektisi omalle sivustolle ja sen aliverkkotunnuksille. Toisen domainin sivulle tehty monitori tai auditointi ei lähetä tokenia, joten kyseisellä domainilla pidetään voimassa user agent -sääntö. Jos token koskaan päätyy vääriin käsiin, klikkaa "Make a new token". Vanha token lakkaa toimimasta heti, joten päivitä uusi token Cloudflare-sääntöösi heti perään.
Cloudflaren Free-sopimuksen Bot Fight Mode
Tämä osio koskee sinua, jos Events-lokin Service-rivillä luki Bot fight mode.

CoreDashin uptime-tarkistus, jossa toimintona on Managed Challenge ja Service-arvona Bot fight mode.
Bot Fight Mode asettaa haasteen (challenge) pilvipalvelimilla pyöriville yksinkertaisille boteille, ja Cloudflaren silmissä molemmat CoreDashin botit kuuluvat tähän joukkoon. Cloudflaren dokumentaation mukaan Skip- ja Allow-säännöt eivät vaikuta siihen lainkaan. Sinulla on kaksi vaihtoehtoa: kytke se pois päältä tai pidä se päällä ja päästä CoreDashin IP-osoitteet sen ohi.
Kytke Bot Fight Mode pois päältä
Mene kohtaan Security › Settings ja rajaa näkymä arvolla Bot traffic. Etsi rivi "Bot fight mode" ja käännä sen kytkin pois päältä. Tämän jälkeen Cloudflare ei enää haasta kyseisiä yksinkertaisia botteja millään sivustosi osalla. Jos haluat pitää suojauksen päällä, Pro-sopimuksessa on sen sijaan Super Bot Fight Mode, joka noudattaa Skip-sääntöä. Kun kytkin on pois päältä, tee lisäksi yllä kuvattu Skip-sääntö, jottei Browser Integrity Check tai jokin managed rule pysäytä CoreDashia seuraavaksi.

Bot fight moden kytkin on Status-sarakkeessa. Tässä kuvassa se on jo pois päältä.
Pidä Bot Fight Mode päällä ja salli CoreDashin IP-osoitteet
Ennen kuin aloitat: nämä osoitteet eivät ole kiinteitä. Luomasi IP access -säännöt pysyvät juuri sellaisina kuin kirjoitit ne, mutta ajantasainen lista löytyy aina osoitteesta app.coredash.app/bot/ips.json. Jos CoreDash estetään joskus uudelleen, vertaa sääntöjäsi ensin tuohon listaan.
IP access -sääntö päästää yhden IP-osoitteen palomuurisääntöjen ohi, ja Bot Fight Mode jättää pyynnön rauhaan, jos tällainen sääntö täsmäsi siihen ensin. Mene kohtaan Security › Security rules ja klikkaa Create rule kohdassa IP access rules. Jos Cloudflare ehdottaa säännön tekemistä mukautettuna sääntönä (custom rule), valitse "No, go to IP access rules". Syötä 51.195.222.219, valitse Allow ja "This website" ja klikkaa Create. Tee yksi sääntö kutakin osoitetta kohti: 51.195.222.219 ja 51.195.222.220 uptime-tarkistukselle sekä 135.125.202.210 cRUM-auditoinnille.

Yksi IP access -sääntö kullekin CoreDashin osoitteelle asetuksella Allow on this website.
Tarkista kummankin korjaustavan jälkeen, että CoreDash pääsee läpi, samalla tavalla kuin Skip-säännön vaiheessa 5.
Salli CoreDash AWS WAF:issa Bot Controlin yläpuolella
AWS WAF:issa CoreDashin pysäyttää yleensä Bot Control, joka on AWS:n hallittu sääntöryhmä botteja vastaan. Ongelma korjataan CoreDashin user agentille tehdyllä Allow-säännöllä, joka sijoitetaan Bot Controlin yläpuolelle. Yksi sääntö päästää sekä auditoinnin että uptime-tarkistuksen läpi. Tämän sivun AWS-kuvakaappaukset on otettu acme-aws.com-sivustoa varten tehdystä demoympäristöstä.
- Avaa AWS WAF -konsolissa sivustosi web ACL (sitä suojaava sääntökokoelma) ja mene välilehdelle Sampled requests. Klikkaa pyynnön URIa nähdäksesi sen headerit: CoreDashin pyynnöissä user agent alkaa merkkijonolla
CoreDash/. Sarake "Rule inside rule group" nimeää säännön, joka esti ne.

Bot Controlin sääntö SignalNonBrowserUserAgent estää CoreDashin uptime-tarkistukset sivustolla acme-aws.com.
- Klikkaa web ACL -näkymässä Add rules › "Add my own rules and rule groups" avataksesi Rule builderin (uudessa AWS-konsolissa sen nimi on Custom rule). Täytä lomake kuvakaappauksen mukaisesti: tavallinen sääntö nimeltä CoreDash, joka tarkistaa user-agent-headerin ja sallii kaikki pyynnöt, joissa se alkaa merkkijonolla
CoreDash/. Vieritä sitten lomakkeen alle ja klikkaa "Add rule".

CoreDash-sääntö: Single header user-agent, Starts with string CoreDash/, toimintona Allow.
- AWS avaa seuraavaksi näkymän "Set rule priority". Valitse CoreDash, klikkaa "Move up", kunnes se on ylimpänä, ja klikkaa Save. AWS suorittaa säännöt ylhäältä alaspäin. Allow-sääntöön täsmäävä pyyntö ei etene pidemmälle, joten Bot Control ei koskaan edes näe CoreDashin pyyntöä.

CoreDash ylimpänä, Bot Control -sääntöryhmän yläpuolella.
- Tarkista, että CoreDash pääsee läpi. Välilehdellä Sampled requests uusimmissa CoreDashin pyynnöissä näkyy nyt luomasi CoreDash-sääntö toiminnolla Allow.

Uusimmat CoreDash-tarkistukset sivustolla acme-aws.com täsmäävät CoreDash-sääntöön ja pääsevät läpi.
Tarkista käyttämäsi botti CoreDashissa samalla tavalla kuin Cloudflaren Skip-säännön vaiheessa 5: uusi auditointi näyttää oman sivusi Page load filmstripissä ja monitori siirtyy Up-tilaan seuraavan uptime-tarkistuksen jälkeen.
Kuten Cloudflaressa, projektisi bot-token tekee myös tästä säännöstä turvallisemman. Syy tähän sekä tieto siitä, mitkä sivustot saavat tokenin, löytyvät ylempää Cloudflare-tokenia käsittelevästä osiosta. Näin vaihdat AWS-säännön käyttämään tokenia:
- Avaa CoreDashissa Project settings, mene välilehdelle "CoreDash bot token" ja klikkaa "Copy token".
- Avaa AWS WAF:issa web ACL -säännöistäsi jälleen CoreDash-sääntö. Se on sama lomake kuin ylemmässä Rule builder -kuvakaappauksessa.
- Vaihda otsakekentän nimeksi
user-agent-arvon tilallex-coredash-bot. AWS ei erota pieniä ja suuria kirjaimia otsakkeiden nimissä, joten tämä vastaaX-CoreDash-Bot-headeriä. - Aseta täsmäystyypiksi "Exactly matches string", liitä tokenisi täsmättäväksi merkkijonoksi ja tallenna sääntö.
Origin-tarkistus päättyy timeoutiin CDN:n takana
Tämä osio koskee vain uptime-tarkistusta ja silloinkin vain, jos täytit kentän Origin IP kohdasta Advanced monitoria asettaessasi. Tällöin CoreDash tarkistaa palvelimesi myös suoraan CDN:n ohi. Jotkin palvelimet hyväksyvät pyyntöjä ainoastaan CDN:n omista osoitteista. Monitori menee silloin Down-tilaan ilmoituksella "The origin check fails: Connect timeout", vaikka kävijät saavat sivut edelleen normaalisti CDN:stä.

CDN tarjoilee edelleen välimuistiin tallennettuja sivuja, mutta suoraan palvelimeen kohdistuva tarkistus päättyy timeoutiin.
User agentiin tai tokeniin perustuva sääntö ei auta tässä: palvelin hylkää tarkistuksen sen alkuperän perusteella ennen kuin se lukee yhtäkään headeriä. Palvelimen on siis tunnistettava CoreDash IP-osoitteista. Salli kaksi uptime-osoitetta, 51.195.222.219 ja 51.195.222.220, palvelimesi palomuurissa tai pyydä palveluntarjoajaasi tekemään se. Jos origin-tarkistus alkaa myöhemmin taas päättyä timeoutiin, tarkista ensin ajantasainen lista: osoitteet ovat saattaneet muuttua.
CoreDash on edelleen estetty
Jos monitorin tilana on edelleen Blocked tai auditointi epäonnistuu yhä, avaa loki uudelleen ja klikkaa uusinta CoreDashin pyyntöä: Cloudflaressa Events, AWS:ssä Sampled requests. Lokin ilmoittama syy on se, mikä pysäyttää CoreDashin nyt. Tässä yleisimmät syyt:
- Eri toiminto kuin aiemmin, esimerkiksi Browser integrity check sen jälkeen kun Bot Fight Mode kytkettiin pois päältä. Tee myös Skip-sääntö.
- Sääntö ei ole aktiivinen tai se ei ole AWS:ssä ylimpänä. Cloudflaren Custom rules -kohdassa CoreDash-säännön tilana pitää olla Active. AWS:ssä sen on oltava ylimpänä näkymässä "Set rule priority".
- Sääntö on kirjoitettu eri tavalla kuin ohjeessa. Cloudflare vaatii ehdon contains ja arvon
CoreDash/vinoviivoineen; AWS vaatii headerin user-agent ja ehdon "Starts with string". - Jokin oma Cloudflare-sääntösi, kuten maakohtainen esto. Skip-sääntö jättää omat mukautetut säännöt voimaan, joten muokkaa kyseistä sääntöä niin, että se ohittaa CoreDashin. Events-loki näyttää, mistä maasta pyyntö tuli.
- Under Attack Mode. Se asettaa haasteen (challenge) jokaiselle kävijälle, myös CoreDashille, kunnes kytket sen pois päältä.
- Pyyntö meni läpi tai CoreDashin pyyntöä ei näy lainkaan. Tällöin Cloudflaren tai AWS:n edessä tai takana on toinen palomuuri, kuten palveluntarjoajasi palomuuri tai sääntö omalla palvelimellasi. Salli
CoreDash/-user agent myös siellä.
Etkö päässyt eteenpäin? Ota yhteyttä CoreDashiin ja liitä mukaan monitorin tai auditoidun sivun URL sekä eston ajankohta.
Tieto siitä, mitä molemmat botit lähettävät ja miksi, löytyy CoreDashin bottisivulta. Lisätietoa monitoreista: uptime-valvonta ja skripteille Uptime API.