Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(security): add security headers #1786

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open

feat(security): add security headers #1786

wants to merge 7 commits into from

Conversation

emilielr
Copy link
Collaborator

@emilielr emilielr commented Jan 20, 2025

Legge til sikkerhetsheadere i responsene våre


Motivasjon

Vi vil legge til ulike security headers slik at man ikke kan misbruke nettsiden vår, og for å hindre ulike angrep.

Endringer

Per nå er det bare lagt til i config-filen vår ulike headere. For hele admin-siden er det lagt til at man ikke kan legge den i en iframe for å hindre at folk kan late som de er oss, uten at de er det (ved hjelp av frame-ancestors none). Det er ikke lagt til noen CSP-headere for selve tavlevisningen siden vi vil at det skal være mulig for brukere å bruke denne i en iframe på sin nettside/løsning.

Det er også lagt til CSP headere basert på om man er på admin-siden eller tavlevisningen. Eneste forskjellen er at man ikke trenger å koble opp til like mange eksterne APIer på tavlevisning connect-src samt at vi vil tillate framing.

Nå er det lagt til unsafe-inline, unsafe-eval på noen av CSP headerne. Grunnen til at det blir gjort på denne måten er fordi vi har styles og script som kommer fra andre (vi eier ikke koden), og da er det vanskelig å legge til nonce. Dermed må vi ha disse med. entur.no har også disse med, så jeg anser det som OK.

Fjernet også gammel kode i forsøket på å fjerne all inline styling.

Sjekkliste for Review

  • Sjekk at disse headerne ligger i responsen man får fra siden (både admin og tavlevisningen)
  • Sjekk at frame-ancestors IKKE ligger på tavlevisning responsen
  • Sjekk at man får lastet inn alt som vanlig på tavlevisning og at man får logget inn som vanlig og at ingenting er blokkert av de nye headerne
  • Sjekk gammel chromium at headerne ikke hemmer noe der

tavla/next.config.js Outdated Show resolved Hide resolved
tavla/next.config.js Show resolved Hide resolved
@purusott
Copy link
Collaborator

vil du legge inn http://127.0.0.1:3001 i commonConnectSrc? ellers er det good for min del 👍 bra jobba 🛡️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants