Gjør Enonic herdet med disse sikkerhetstiltakene
Sikre Enonic-applikasjonene dine ved å bruke HTTP Security Headers og en sterk Content Security Policy (CSP).
Written by Vegard Ottervig on
Sikre Enonic-applikasjonene dine ved å bruke HTTP Security Headers og en sterk Content Security Policy (CSP).
Written by Vegard Ottervig on
På en nylig Enonic-meetup delte Vigdis, Tech Lead og webutvikler i Bouvet, hvordan man kan forbedre sikkerheten til Enonic-applikasjoner ved å konfigurere såkalte "Security Headers", med en dypdykk i "Content Security Policy" (CSP).
Med utgangspunkt i nesten syv års erfaring med å jobbe med Enonic-løsninger på tvers av flere kunder, tilbød Vigdis en praktisk, kodeorientert gjennomgang rettet mot utviklere og team som ønsker å håndheve moderne beskyttelse på klientsiden.
Se presentasjonen:
Security Headers er en kraftig og ofte underutnyttet måte å beskytte webapplikasjoner mot vanlige sårbarheter som cross-site scripting (XSS), clickjacking og man-in-the-middle-angrep.
Ved å instruere nettlesere om hvordan de skal håndtere innhold, rammer, MIME-typer og eksterne skript, fungerer headers som et defensivt lag i webstacken din.
Blant de mest relevante headerne er:
Kjernen i Vigdis' presentasjon fokuserte på CSP. I motsetning til enklere headers, gir CSP utviklere finkornet kontroll over hvilke ressurser som er tillatt, inkludert skript, bilder, stiler og rammer.
Som standard bør CSP være så restriktiv som mulig. Vigdis demonstrerte å starte med default-src 'none'
, som blokkerer alt, og deretter selektivt tillate kun pålitelige kilder for:
script-src
, style-src
og img-src
(vanligvis satt til 'self'
)frame-src
for å tillate innebygginger fra plattformer som YouTube, X eller Instagramunsafe-inline
Vigdis forklarte hvordan forskjellige scenarioer krever forskjellige strategier. Statiske inline-skript kan hvitelistes ved hjelp av en hash, mens dynamisk eller brukerkonfigurert innhold bør bruke en nonce. Dette er en tilfeldig verdi som genereres per forespørsel som festes til både skriptet og headeren.
Ved hjelp av Security Headers-appen i Enonic gikk Vigdis gjennom oppsett av vanlige headers via et enkelt administratorgrensesnitt.
For Enonic Cloud-distribusjoner bør noen headers, som Strict-Transport-Security,
konfigureres på plattformnivå for å unngå duplisering.
Appen tillater direkte konfigurasjon av CSP-regler, og Vigdis viste et tilpasset eksempel med støtte for generering og injisering av nonces via Java-baserte responsprosessorer.
Hun demonstrerte også hvordan man manuelt beregner en hash for et skript og bruker det via appen – og fremhevet viktigheten av byte-perfekt matching (selv ekstra mellomrom eller nye linjer vil endre hashen).
Forhåndsvisningsmodus i Enonic håndhever ikke CSP, noe som gjør det enklere å feilsøke konfigurasjonsendringer før du går live.
Chromes innebygde utviklerverktøy hjelper deg med å identifisere blokkerte ressurser og gir forslag til hasher eller kilder du kan tillate.
Til slutt delte Vigdis noen anbefalte fremgangsmåter:
unsafe-inline
– bruk hasher for statiske skript og nonces for dynamiske.Sikkerhet er kanskje ikke alltid den mest glamorøse delen av utviklingen. Men som Vigdis viste, med de riktige verktøyene og litt planlegging, kan det være både effektivt og håndterlig innenfor Enonic-plattformen.
Vil du styrke Enonic-løsningen din med CSP og andre headers? Sjekk ut Security Headers-appen eller snakk med teamet ditt om å implementere disse anbefalte fremgangsmåtene i dag.
Få enda mer innsikt 🤓