Det er ingen nyhet at våre krav til det klassiske CMS må utvikle seg i takt med et kontinuerlig fragmentert trusselbilde. Sikkerhet, ytelse og spesielt driftssikkerhet er under press med økende aktivitet fra ondsinnede aktører på nettet.
Dette så vi sist den 12. september 2023 da flere departementer og direktorater opplevde nedetid på grunn av en DDOS-angrep. Fellesnevneren for disse nettstedene? De var alle basert på klassiske CMS-er.
Dette kan kanskje få deg til å tro at det klassiske CMS er på vei ut, men det trenger ikke å være slik. Hos Novicell har vi vist at det kan være annerledes. Vi har levert klassiske CMS-løsninger med svært høy sikkerhetsnivå til flere store offentlige organisasjoner. Til tross for flere forsøk på DDOS-angrep har vi klart å opprettholde full drift uten å måtte gripe manuelt inn i hosting-oppsettet.
De sterke oppsettene er ikke resultatet av en headless arkitektur eller endringer i CMS-et, men heller nøye strukturerte oppsett av hostingmiljøet.
Bli med oss, så tar vi deg gjennom detaljene steg for steg.
Tiltak 1: Cloudbaseret CDN og load-balancer
Vi starter med det viktigste tiltaket overhodet. Ved å bruke en løsning som Cloudflare Edge eller Azure Frontdoor oppnår du flere fordeler gjennom ett produkt:
- Innebygd beskyttelse mot DDOS-angrep, som er bygget og vedlikeholdt av eksperter på området.
- Innebygd webapplikasjonsbrannmur som beskytter mot vanlige og spesialiserte hackerangrep mot nettstedets programvare.
- Reduksjon av trafikken til den bakomliggende CMS-applikasjonen ved å bruke de innebygde CDN-mulighetene til å levere statisk innhold som JavaScript-, css- og bildefiler direkte fra deres eget
- Reduksjon av trafikken til dynamisk genererte sider fra CMS ved å bruke kortlivede kopier av det dynamiske innholdet i CDN-nettverket.
- Muligheten til å distribuere innkommende trafikk til flere bakomliggende applikasjoner, slik at du kan ha flere applikasjonsinstanser eller for eksempel la en separat applikasjon håndtere alle omdirigeringer av gamle og feilaktige adresser.
Tiltak 2: CMS-applikasjonen fordelt på flere instanser
Du kan dra nytte av CMS' muligheter for å bli kjørt fra ulike instanser for å forbedre ytelse, sikkerhet og robusthet:
- Forsikre deg om at den instansen av applikasjonen som brukes av nettstedets redaktører, er tilgjengelig via en separat URL på en egen instans. Dette sikrer at redaktørarbeidet og belastningen på nettstedet ikke påvirker hverandre, siden ulike applikasjonsinstanser håndterer redaktørene og internetttrafikken.
- Forsikre deg om at instansen som kjører CMS-en, ikke er tilgjengelig utenfor bedriftens interne nettverk. Dette løses ved hjelp av den innebygde brannmuren i CDN-løsningen.
- Forsikre deg om at det er mer enn én instans av den delen av applikasjonen som håndterer internetttrafikken – dette kalles også load-balancing. Hvis det er behov for svært høy sikkerhet, kan du til og med distribuere disse instansene over flere datasentre, slik at nettstedet kan fortsette å kjøre selv om et helt datasenter går ned. For eksempel har vi løst dette ved å ha en instans som fungerer som en såkalt hot-failover i et eget datasenter med en dynamisk replikert database.
- Forsikre deg om at instansene som håndterer internetttrafikken ikke inneholder CMS-funksjonaliteten, noe som er mulig med nyere versjoner av et CMS som Umbraco. Disse versjonene kan konfigureres til å deaktivere CMS-funksjonaliteten på instansene som håndterer trafikken fra nettstedets brukere.
Flere mulige tiltak
Når du har de to første tingene på plass, er du godt på vei med et generelt robust og sikkert system, og det gjenstår bare konfigurering av en rekke detaljer for å forbedre sikkerheten og robustheten:
- Konfigurer de underliggende applikasjonene til å kun tillate trafikk fra din CDN/load-balancer-løsning. Dette sikrer at eventuelle angripere ikke kan omgå load-balanceren og likevel ta ned nettstedet.
- Konfigurer CMS-et til å bruke din bedrifts single sign-on-løsning. Dette sikrer at ansatte mister tilgangen til CMS-et når deres brukerkonto blir stengt.
- Bruk CDN/load balancer-løsningens muligheter til å sørge for at nettstedets respons inneholder alle nødvendige sikkerhetsheadere. Det finnes flere verktøy online som kan hjelpe deg med å sjekke om sikkerhetsheaderne dine er riktig konfigurert, for eksempel securityheaders.com.
- Sørg for å implementere HSTS-headere riktig på hoveddomenet og alle underdomener, slik at nettlesere ikke bruker ukrypterte forbindelser til nettstedet ditt.
- Konfigurer domener og SSL-sertifikater riktig for å oppnå maksimal sikkerhet.
- Konfigurer CDN/load-balanceren til å bruke en så sikker forbindelse som mulig, det vil si TLS 1.3. Her er Cloudflares løsning litt mer avansert enn Azure Frontdoor, som foreløpig bare støtter TLS 1.2.
- Bruk et sikkerhetsverktøy som Microsoft Defender for Cloud for å sikre at din skykonfigurasjon er i orden. Slike verktøy kan til og med dokumentere at oppsettet ditt er i samsvar med sikkerhetsstandarder som ISO27001.
Har du kommet gjennom alle detaljene?
Forhåpentligvis er det også klart at det ikke er CMS-et som begrenser mulighetene for en solid og sikker løsning.
Når du skal få nettstedet ditt til å gå live, er det faktisk mye viktigere å finne hosting med de nødvendige verktøyene enn å velge en bestemt CMS eller en bestemt løsningsarkitektur.
Har du allerede et nettsted som plutselig har blitt mer sårbart? Også her er det relativt enkle tiltak som kan gjøres.