Släpp igenom CoreDash-bottarna genom ditt CDN eller din brandvägg

Ibland blockerar en inställning i brandväggen eller ditt CDN CoreDash-bottarna. Den här sidan visar hur du löser det.

Trusted by market leaders · Client results

loopearplugswhowhatwearmarktplaatsvpnkpnmonarchcomparenestleperionebaydpg mediaharvardaleteiaadevintamy work featured on web.devhappyhorizonsaturnnina careerasmusmcsnvfotocasaworkiva

Släpp igenom båda CoreDash-bottarna genom ditt CDN eller din brandvägg

I korthet

  • Båda CoreDash-bottarna identifierar sig med en user agent som börjar med CoreDash/, så en regel för den släpper igenom både cRUM-auditen och uptime-kontrollen.
  • En regel med ditt projekts bot-token är en säkrare variant av den regeln.
  • Bot Fight Mode i Cloudflares Free-plan ignorerar dina regler och kräver en egen lösning.

CoreDash har två bottar som besöker din webbplats: cRUM-auditen och uptime-kontrollen. För att få ut maximalt av CoreDash måste ditt CDN eller din brandvägg släppa in båda. Ibland blockeras de av en inställning där. Den här sidan visar hur du löser det i Cloudflare och AWS WAF med en enda regel som täcker båda bottarna.

Vad de två bottarna gör:

  • cRUM-auditen. När du väljer en sida under cRUM (beta) i CoreDash-menyn öppnar CoreDash sidan i Chrome på sin audit-server, precis som en besökare gör, och visar vad som gör den långsam. Dess user agent är CoreDash/1.0 (audit; +https://www.coredash.app/bot).
  • Uptime-kontrollen. Var 30:e minut anropar CoreDash varje webbplats du övervakar från sina egna servrar och meddelar om någon går ner. Den skickar CoreDash/1.0 (uptime; +https://www.coredash.app/bot).

En user agent är namnet som en webbläsare eller bot skickar med varje request för att berätta vem den är. Båda CoreDash-varianterna börjar med CoreDash/, och det är vad din regel ska leta efter.

Så ser en blockerad audit eller uptime-kontroll ut

Din brandvägg eller ditt CDN ser en besökare från ett datacenter, med en user agent som inte tillhör en webbläsare. Den tar besökaren för en bot den inte litar på och svarar med en felkod eller en challenge-sida. Bottarna visar detta på olika sätt.

En blockerad cRUM-audit stannar med meddelandet ”Audit failed” och ett fel under. Eller så körs den ändå, fast mot blockeringssidan: då visar Page load filmstrip en challenge- eller felsida i stället för din, och alla mätvärden i auditen tillhör den sidan.

Uptime-monitorn visar Blocked, och meddelandet ”A firewall blocks the checker” anger vilken statuskod kontrollerna fick och sedan när. CoreDash räknar bort blockerade kontroller från din downtime, så blockeringen sänker inte din uptime. Men så länge varje kontroll blockeras når ingen av dem din webbplats, så monitorn kan inte varna när webbplatsen går ner.

CoreDash uptime-monitor för example-shop.com markerad som Blocked: varje kontroll sedan 17 okt fick en 403 från Cloudflare, med länkar till den här sidan och till bot-tokenet

Monitorsidan för example-shop.com när Cloudflare svarar med 403 på varje uptime-kontroll.

Så känner brandväggen igen CoreDash

Du lägger till ett undantag för CoreDash i din brandvägg eller ditt CDN, och de flesta sätter det på user agenten: en regel för CoreDash/ släpper igenom auditen och uptime-kontrollen. Ditt projekts bot-token gör det till en striktare regel, eftersom bara ditt eget projekts bottar skickar det. CoreDashs IP-adresser använder du när inget annat fungerar. De ändras när CoreDash lägger till eller flyttar en server, så en sådan regel måste du uppdatera själv.

Vilken inställning som behöver undantaget ser du i brandväggens logg. Cloudflares logg tas upp i nästa avsnitt. För AWS WAF går du till avsnittet ”Tillåt CoreDash i AWS WAF ovanför Bot Control” längre ner.

Hitta vad som stoppade CoreDash i Cloudflare

Öppna din domän i Cloudflare och gå till Security › Analytics, fliken Events. Leta upp en request med CoreDash som user agent under Sampled logs. På en sajt med mycket trafik klickar du på Filter, väljer User agent som fält och klistrar in hela user agent-strängen som värde: CoreDash/1.0 (uptime; +https://www.coredash.app/bot) för uptime-kontrollen eller CoreDash/1.0 (audit; +https://www.coredash.app/bot) för auditen.

Klicka på requesten för att öppna den. Raden Service visar vilken Cloudflare-funktion som stoppade den.

Cloudflare Security Events för www.example-shop.com: en request med CoreDashs uptime-user agent, action Block, Service Browser integrity check

Browser Integrity Check blockerade den här uptime-kontrollen på example-shop.com.

Raden Service avgör lösningen:

  • Bot fight mode: detta är botskyddet i Cloudflares Free-plan, och dina regler kan inte göra undantag för det. Hoppa direkt till avsnittet om Bot Fight Mode längre ner.
  • Allt annat, som Browser integrity check i skärmdumpen, en hanterad regel eller Super Bot Fight Mode: skapa Skip-regeln nedan.

Släpp igenom CoreDash i Cloudflare med en Skip-regel

En Skip-regel säger åt Cloudflare att lämna alla requests med CoreDash som user agent ifred för funktionerna du väljer. Den täcker både auditen och uptime-kontrollen samtidigt, och du kan skapa den i alla Cloudflare-planer.

  1. Gå till Security › Security rules. Under Custom rules, klicka på Create rule.
Cloudflares sida Security rules för example-shop.com, med en tom Custom rules-sektion och knappen Create rule

Security rules för example-shop.com, före den första anpassade regeln.

  1. Döp regeln till CoreDash. Under ”When incoming requests match”, klicka på ”Edit expression” och klistra in följande rad i textrutan som öppnas.
    http.user_agent contains "CoreDash/"
Cloudflare New custom rule med namnet CoreDash och uttrycket http.user_agent contains "CoreDash/"

Regelnamn och uttryck efter klicket på ”Edit expression”. Snedstrecket efter CoreDash ska vara med.

  1. Under ”Then take action”, välj Skip och markera vad Cloudflare ska hoppa över för CoreDash. Under ”WAF components to skip”, bocka för ”All managed rules” och ”All Super Bot Fight Mode Rules”. Klicka på ”More components to skip” för att öppna den delen, och bocka även för ”Browser Integrity Check”. Låt ”Log matching requests” vara på, så att Events visar när regeln körs.
Anpassad Cloudflare-regel inställd på Skip, med All managed rules, All Super Bot Fight Mode Rules och Browser Integrity Check förbockade

Åtgärden Skip med de tre rutorna förbockade.

  1. Klicka på Deploy. Om din domän redan har andra custom rules frågar Cloudflare var den här ska placeras: lägg den först.
Nederkanten av Cloudflares formulär för custom rules: status Active, rule validation passed, knappen Deploy

Utan andra custom rules finns det inget att placera, så Deploy är det sista klicket.

  1. Kontrollera att CoreDash släpps igenom. När nästa audit eller uptime-kontroll anländer listar Events i Cloudflare den med action Skip. I CoreDash kontrollerar du den bot du använder, eller båda.

För cRUM-auditen väljer du sidan under cRUM (beta) igen, eller laddar om webbläsarfliken den är öppen i, så startar en ny audit. När den släpps igenom visar Page load filmstrip din egen sida när den laddas i Chrome, ruta för ruta.

CoreDash cRUM-audit, kortet Page load filmstrip: en sida som laddas ruta för ruta under fem sekunder, med markeringar för TTFB, DCL, Load, FCP, LCP och CLS

En slutförd audit med TTFB, FCP, LCP och CLS markerade på bildrutorna.

Uptime-kontrollen kräver inget klick: CoreDash kontrollerar varje hel- och halvtimme, så inom 30 minuter slår monitorn om till Up och de nya staplarna blir gröna.

CoreDash uptime-monitor för example-shop.com tillbaka på Up: gula staplar medan Cloudflare blockerade kontrollerna med 403, gröna sedan regeln skapades

example-shop.com är Up igen: 38 kontroller fick 403, och varje kontroll efter regeln fick 200.

En säkrare Cloudflare-regel med ditt CoreDash bot-token

Vem som helst kan skicka en user agent som börjar med CoreDash/, så en skadlig bot som låtsas vara CoreDash släpps också igenom av Skip-regeln. Ditt projekts bot-token är hemligt: varje audit och uptime-kontroll skickar med det i headern X-CoreDash-Bot. En regel för det tokenet släpper bara igenom ditt eget projekts bottar.

För att hämta det öppnar du Project settings i CoreDash och går till fliken ”CoreDash bot token”. Bara projektägaren kan öppna den. När en monitor visar Blocked leder även länken ”View your CoreDash bot token” i meddelandet dit. Klicka på ”Copy Cloudflare rule”: då får du hela uttrycket med ditt token i.

Project settings, CoreDash bot token för Example Shop: dolt token med Show, Copy token och Copy Cloudflare rule

”Copy Cloudflare rule” lägger uttrycket med ditt token i urklipp.

Har du redan skapat Skip-regeln går du till Security › Security rules och öppnar CoreDash-regeln. Ersätt raden med user agent i uttrycket med det du kopierade, och spara regeln. Åtgärden och de förbockade rutorna förblir desamma. Har du ingen regel än följer du stegen för Skip-regeln ovan och klistrar in token-raden i steg 2.

Tokenet skickas enbart till ditt projekts egen webbplats och dess subdomäner. En monitor eller en audit av en sida på en annan domän skickar inget token, så den domänen behåller regeln för user agent. Skulle tokenet hamna på villovägar klickar du på ”Make a new token”. Det gamla tokenet slutar fungera direkt, så lägg in det nya i din Cloudflare-regel omedelbart efteråt.

Bot Fight Mode i Cloudflares Free-plan

Det här avsnittet gäller dig om raden Service i Events visade Bot fight mode.

Cloudflare Security Events för www.example-shop.com: en request med CoreDashs uptime-user agent, action Managed Challenge, Service Bot fight mode

En CoreDash uptime-kontroll med action Managed Challenge och Service Bot fight mode.

Bot Fight Mode skickar en challenge till enkla bottar som körs på molnservrar, och för Cloudflare räknas båda CoreDash-bottarna dit. Enligt Cloudflares dokumentation har varken Skip- eller Allow-regler någon effekt på funktionen. Du måste därför antingen stänga av den, eller ha den kvar och släppa förbi CoreDashs IP-adresser.

Stäng av Bot Fight Mode

Gå till Security › Settings och filtrera på Bot traffic. Leta upp raden ”Bot fight mode” och slå av reglaget. Då slutar Cloudflare skicka challenges till enkla bottar på hela din webbplats. Vill du hellre behålla det skyddet har Pro-planen i stället Super Bot Fight Mode, som faktiskt lyssnar på Skip-regler. När reglaget är avstängt skapar du även Skip-regeln ovan, så att inte Browser Integrity Check eller en hanterad regel stoppar CoreDash härnäst.

Cloudflare Security Settings filtrerat på Bot traffic, med raden Bot fight mode och dess reglage

Reglaget för Bot fight mode finns i kolumnen Status. I den här bilden är det redan avstängt.

Behåll Bot Fight Mode påslaget och tillåt CoreDashs IP-adresser

Innan du börjar: de här adresserna är inte fasta. Dina IP access rules förblir exakt som du skrev in dem, medan den aktuella listan alltid finns på app.coredash.app/bot/ips.json. Om CoreDash blockeras igen i framtiden börjar du med att jämföra dina regler mot den listan.

En IP access rule släpper en enskild IP-adress förbi dina brandväggsregler, och Bot Fight Mode rör inte en request som matchat en sådan regel först. Gå till Security › Security rules och klicka på Create rule under IP access rules. Om Cloudflare föreslår att skapa den som en custom rule väljer du ”No, go to IP access rules”. Ange 51.195.222.219, välj Allow samt ”This website” och klicka på Create. Skapa en regel per adress: 51.195.222.219 och 51.195.222.220 för uptime-kontrollen, 135.125.202.210 för cRUM-auditen.

Cloudflare New IP access rule som tillåter 51.195.222.219, en av CoreDashs uptime-adresser, på denna webbplats

En IP access rule per CoreDash-adress, inställd på Allow på den här webbplatsen.

Efter endera åtgärden kontrollerar du att CoreDash släpps igenom, på samma sätt som i steg 5 för Skip-regeln.

Tillåt CoreDash i AWS WAF ovanför Bot Control

I AWS WAF är det oftast Bot Control, den hanterade regelgrupp som AWS erbjuder mot bottar, som stoppar CoreDash. Du löser det med en Allow-regel för CoreDashs user agent, placerad ovanför Bot Control. Den regeln släpper igenom både auditen och uptime-kontrollen. AWS-skärmdumparna här kommer från en demouppsättning för acme-aws.com som togs fram för den här sidan.

  1. Öppna din webbplats web ACL i AWS WAF-konsolen (regeluppsättningen som skyddar den) och gå till fliken Sampled requests. Klicka på en requests URI för att se dess headers: anropen från CoreDash har en user agent som börjar med CoreDash/. Kolumnen ”Rule inside rule group” anger regeln som blockerade dem.
AWS WAF Sampled requests i en demouppsättning för acme-aws.com: CoreDash-kontroller blockerade av Bot Control-regeln SignalNonBrowserUserAgent

Bot Control-regeln SignalNonBrowserUserAgent blockerar CoreDashs uptime-kontroller på acme-aws.com.

  1. I din web ACL, klicka på Add rules › ”Add my own rules and rule groups” för att öppna Rule builder (i den nya AWS-konsolen kallas den Custom rule). Fyll i den enligt skärmdumpen: en vanlig regel med namnet CoreDash som kontrollerar headern user-agent och tillåter alla requests där den börjar med CoreDash/. Skrolla sedan ner under formuläret och klicka på ”Add rule”.
AWS WAF Rule builder i en demouppsättning: regeln CoreDash, single header user-agent starts with CoreDash/, action Allow

Regeln CoreDash: Single header user-agent, Starts with string CoreDash/, action Allow.

  1. AWS öppnar sedan ”Set rule priority”. Markera CoreDash, klicka på ”Move up” tills regeln ligger överst och klicka på Save. AWS kör reglerna uppifrån och ner. En request som matchar en Allow-regel går inte vidare, så Bot Control ser aldrig en CoreDash-request.
AWS WAF Set rule priority i en demouppsättning: CoreDash med action Allow överst, ovanför regelgruppen Bot Control

CoreDash överst, ovanför regelgruppen Bot Control.

  1. Kontrollera att CoreDash släpps igenom. I Sampled requests visar de senaste anropen från CoreDash nu din CoreDash-regel med action Allow.
AWS WAF Sampled requests i en demouppsättning för acme-aws.com: CoreDash-kontrollerna matchar nu regeln CoreDash, action Allow

De senaste CoreDash-kontrollerna på acme-aws.com matchar regeln CoreDash och släpps igenom.

I CoreDash kontrollerar du den bot du använder, precis som i steg 5 för Cloudflares Skip-regel: en ny audit visar din egen sida i Page load filmstrip, och monitorn växlar till Up efter nästa uptime-kontroll.

Precis som i Cloudflare gör ditt projekts bot-token regeln säkrare. Varför, och vilka webbplatser som får tokenet, förklaras i avsnittet om Cloudflare-tokenet ovan. Så här ställer du om AWS-regeln till tokenet:

  1. I CoreDash öppnar du Project settings, går till fliken ”CoreDash bot token” och klickar på ”Copy token”.
  2. I AWS WAF öppnar du CoreDash-regeln i din web ACL igen. Det är formuläret från skärmdumpen av Rule builder ovan.
  3. Ändra namnet på headerfältet från user-agent till x-coredash-bot. AWS läser headernamn oberoende av versaler och gemener, så det här motsvarar headern X-CoreDash-Bot.
  4. Sätt match type till ”Exactly matches string”, klistra in ditt token som matchningssträng och spara regeln.

Origin-kontrollen får timeout bakom ditt CDN

Det här avsnittet gäller enbart uptime-kontrollen, och bara om du fyllde i Origin IP under Advanced när du konfigurerade monitorn. CoreDash kontrollerar då även din server direkt, förbi ditt CDN. Vissa servrar tar bara emot requests från CDN-tjänstens egna adresser. Monitorn slår då om till Down med ”The origin check fails: Connect timeout”, medan besökare fortfarande får sidor från ditt CDN.

CoreDash-monitor för example-shop.com markerad som Down: CDN-tjänsten levererar fortfarande cachade sidor, origin-kontrollen får en connect timeout

Ditt CDN levererar fortfarande cachade sidor, och kontrollen mot själva servern får timeout.

En regel för user agent eller token hjälper inte här: en sådan server kastar anropet på grund av var det kommer ifrån, innan den ens läser någon header. Servern måste alltså känna igen CoreDash på dess IP-adresser. Tillåt de två uptime-adresserna, 51.195.222.219 och 51.195.222.220, i serverns brandvägg, eller be din host göra det. Om origin-kontrollen börjar få timeout igen senare kontrollerar du den aktuella listan först: adresserna kan ha ändrats.

CoreDash blockeras fortfarande

Visar monitorn fortfarande Blocked eller misslyckas auditen fortfarande? Öppna loggen igen och klicka på den senaste CoreDash-requesten: Events i Cloudflare, Sampled requests i AWS. Vad som än anges där är det som stoppar CoreDash nu. De vanligaste orsakerna:

  • En annan funktion än tidigare, till exempel Browser integrity check efter att du stängde av Bot Fight Mode. Skapa även Skip-regeln.
  • Regeln är inte aktiv, eller så ligger den inte överst i AWS. I Cloudflare ska CoreDash-regeln visa Active under Custom rules. I AWS ska den ligga överst i ”Set rule priority”.
  • Regeln stämmer inte med instruktionerna. Cloudflare kräver contains och CoreDash/ med snedstrecket; AWS kräver headern user-agent och ”Starts with string”.
  • Någon av dina egna Cloudflare-regler, till exempel en regel som blockerar länder. Skip-regeln låter dina egna custom rules fortsätta köras, så ändra den regeln så att CoreDash undantas. Events visar vilket land requesten kom ifrån.
  • Under Attack Mode. Det ger alla besökare en challenge, inklusive CoreDash, tills du slår av det.
  • En request som gick igenom, eller inga CoreDash-requests alls. Då sitter det en annan brandvägg framför eller bakom Cloudflare eller AWS, till exempel hos din host eller i en regel på din server. Tillåt user agenten CoreDash/ där också.

Kör du fortfarande fast? Kontakta CoreDash med URL:en till monitorn eller den granskade sidan, samt tidpunkten då den blockerades.

Vad båda bottarna skickar, och varför, beskrivs på CoreDashs bot-sida. Mer om monitorer: uptime-övervakning, och för skript Uptime API.

Släpp igenom CoreDash-bottarna genom Cloudflare och AWS WAF Core Web Vitals Släpp igenom CoreDash-bottarna genom Cloudflare och AWS WAF