Teknisk dokumentasjon for Proof of Work (PoW)
Proof of Work (PoW) er en JavaScript-basert utfordring som sendes fra serveren når det oppdages mange forespørsler mot samme URL.
For mer informasjon se denne artikkelen: Hva er Proof of Work?
Kort forklart:
Proof of Work (PoW) er en enkel test som sjekker om en besøkende er et menneske eller en robot.
Når noen besøker nettsiden, må nettleseren løse en liten oppgave i bakgrunnen. Hvis oppgaven løses, får brukeren tilgang. Hvis ikke, blir tilgangen blokkert.
Formål og effekt:
Løsningen er utformet for å unngå unødvendig blokkering av legitime brukere.
Bidrar til å redusere DDoS-angrep ved å stoppe automatiserte klienter som ikke kan kjøre JavaScript.
Beskytter infrastrukturen mot webbaserte angrep.
Hindrer tilgang fra aktører som hackere, spammere og annen uønsket eller misbrukende trafikk.
Reduserer automatisert og skadelig trafikk som kan påvirke tilgjengelighet og ytelse.
Bidrar til å forhindre SQL-injection.
Hvordan mekanismen fungerer:
Formålet er å begrense uønsket eller skadelig trafikk, herunder:
Skadevare (malware).
Automatisert spamtrafikk (bots).
Forsøk på SQL-injection.
PoW er implementert som et ekstra beskyttelseslag over Varnish, og bidrar til å styrke beskyttelsen mot distribuerte tjenestenektangrep (DDoS).
Varnish er en cache- og akselerasjonsløsning for webtrafikk som brukes til å håndtere og optimalisere HTTP-forespørsler før de når applikasjonslaget.
Når en klient forespør en ressurs:
Initiering av utfordring
Serveren returnerer en JavaScript-basert (JSON) utfordring dersom forespørselen vurderes som mistenkelig eller bryter med gjeldende trafikkregler, for eksempel ved høy forespørselsrate eller avvikende mønster.Utførelse av beregning
Klientens nettleser utfører en beregning som del av utfordringen.
Beregningen er basert på SHA256.Innsending av bevis
Resultatet av beregningen sendes tilbake til serveren som et bevis på utført arbeid.Verifisering
Serveren validerer det mottatte beviset.-
Tilgang ved godkjent bevis
Dersom beviset er gyldig:klienten tildeles en cookie som gir videre tilgang
klienten videresendes til den opprinnelig forespurte ressursen
Hva kan jeg gjøre dersom PoW er utløst?
Dersom PoW blir aktivert, kan det være tegn på høy eller uvanlig trafikk mot tjenesten. Følgende tiltak kan bidra til å unngå dette:
- Gå gjennom og optimaliser
robots.txtog.htaccessfor å blokkere eller begrense unødvendige bots. - Deaktiver eller begrens ressurskrevende plugins, spesielt knyttet til statistikk, søk eller backup.
- Ta i bruk brannmur eller sikkerhetsløsning for å blokkere eller begrense trafikk fra IP-adresser som misbruker tjenesten.
- Kontakt vår support dersom dere er usikre, og legg gjerne ved eksempler i form av full URL.