Skip to content

RO-2573: Fikse sikkerhets headers i appen#791

Merged
amish1188 merged 19 commits intodevelopfrom
feat/ro-2573
May 23, 2025
Merged

RO-2573: Fikse sikkerhets headers i appen#791
amish1188 merged 19 commits intodevelopfrom
feat/ro-2573

Conversation

@amish1188
Copy link
Contributor

@amish1188 amish1188 commented May 8, 2025

!OBS: Jeg legger til npm run translations:add-nn-app-fallback scriptet i regobs-web-build pipelinen siden vi glemte den før.

Jeg følget standarden som står i vår wiki-sider under Frontend sikkerhet.

Det var hit and miss med noen header-ne. Derfor måtte jeg prøve et par ganger i både statsik versjon av appen (PR-bygg), og med den som deployes til IIS, siden oppsettet er litt annerledes. For å få header-ne i statiske nettsider måtte jeg oppdatere globalHeaders i staticwebapp.config.json.
For å få header-ne på plass i IIS brukte jeg web.config.

Jeg lagde en script som generer csp og pp headerne i de tre forksjellige filer så slipper vi å endre mye.

Jeg måtte ta hensyn til våre egne behov i regobs, altså sikre at alt fungerer med ionic, som kamera og geolokasjon. Derfor står det self på de to i Permissions-Policy header.
Vi hadde allerede en del headere i index.html. Jeg har kopiert de, og limt dem inn i konfig-filene. (Vi må beholde headerne i index.html for native appen fordi den skal ikke brule headers fra server). Jeg fjernet '*' og 'unsafe-inline' i default-src fordi vi ønsker ikke å gi den så mye makt. Deretter har jeg tatt resten av headere fra wiki siden. Selv om jeg ikke er en stor fan av det, måtte jeg legge til 'unsafe-inline' i style-src-elem, style-src og script-src. Hadde jeg ikke gjort det ville appen ikke laste ned styles, men også feile med noen scripter. Jeg vet ikke egentlig hvorfor unsafe-line på script-src trengs på iis (den trengs ikke på statiske sider), men jeg har ikke fått den til å fungere uten det, da jeg deployet appen til test miljø. Jeg har fått en melding at inline script kunne ikke kjøres fordi den ble blokkert med policy. Det var foreslått i konsolet for å bruke unsfae-inline der.
Jeg har testet i nettleseren på desktop og på mobil. Sikkert lurt å teste også i native miljø. Dere kan teste om headerne fungerer ved å starte siden (ikke i localhost siden den må serveres fra serveren) og så filtrere etter doc-filer i nettverk fanen. Så klikker dere på den hoved fil, og ser dere headerne.
image
Gjerne også sjekk om dere ikke får noen feil i konsolet som har med headerne å gjøre.

Man kan sjekke også https://securityheaders.com/?q=https%3A%2F%2Ftest.regobs.no&followRedirects=on med PR-en sin statiske siden som dukker opp i PR-en.

@github-actions
Copy link

github-actions bot commented May 8, 2025

Azure Static Web Apps: Your stage site is ready! Visit it here: https://victorious-water-056410803-791.westeurope.azurestaticapps.net

5 similar comments
@github-actions
Copy link

github-actions bot commented May 9, 2025

Azure Static Web Apps: Your stage site is ready! Visit it here: https://victorious-water-056410803-791.westeurope.azurestaticapps.net

@github-actions
Copy link

github-actions bot commented May 9, 2025

Azure Static Web Apps: Your stage site is ready! Visit it here: https://victorious-water-056410803-791.westeurope.azurestaticapps.net

@github-actions
Copy link

github-actions bot commented May 9, 2025

Azure Static Web Apps: Your stage site is ready! Visit it here: https://victorious-water-056410803-791.westeurope.azurestaticapps.net

@github-actions
Copy link

github-actions bot commented May 9, 2025

Azure Static Web Apps: Your stage site is ready! Visit it here: https://victorious-water-056410803-791.westeurope.azurestaticapps.net

@github-actions
Copy link

github-actions bot commented May 9, 2025

Azure Static Web Apps: Your stage site is ready! Visit it here: https://victorious-water-056410803-791.westeurope.azurestaticapps.net

gruble
gruble previously requested changes May 9, 2025
Copy link
Contributor

@gruble gruble left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mangler beskrivelse.

  • Hva har du gjort mer konkret?
  • Hvilke vurderinger gjorde du?
  • Finnes det retningslinjer til dokumentasjon som du har fulgt?
  • Hvordan kan vi teste det?

@amish1188
Copy link
Contributor Author

Mangler beskrivelse.

  • Hva har du gjort mer konkret?
  • Hvilke vurderinger gjorde du?
  • Finnes det retningslinjer til dokumentasjon som du har fulgt?
  • Hvordan kan vi teste det?

jeg er ikke ferdig med den enda. bare tester i test miljø

@github-actions
Copy link

github-actions bot commented May 9, 2025

Azure Static Web Apps: Your stage site is ready! Visit it here: https://victorious-water-056410803-791.westeurope.azurestaticapps.net

1 similar comment
@github-actions
Copy link

github-actions bot commented May 9, 2025

Azure Static Web Apps: Your stage site is ready! Visit it here: https://victorious-water-056410803-791.westeurope.azurestaticapps.net

@amish1188 amish1188 requested a review from gruble May 9, 2025 13:08
/>
<meta name="format-detection" content="telephone=no" />
<meta name="msapplication-tap-highlight" content="no" />
<meta
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jeg vet ikke om det har noe å si, men når vi fjerner denne betyr det at vi ikke har noe Content Security Policy i appen lenger. Kun på web der den serves fra IIS og enn så lenge via Azure Static Web Sites. Hvis vi trenger Content Security Policy på web, så antar jeg at vi trenger det i appen også, siden appen også er en webapp, bare at webserveren er lokalt?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Det har jeg ikke tenkt på. Jeg må da modifisere den som var der før, fordi det var egentlig ingen policy, den la alt gå ut og inn.

@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://victorious-water-056410803-791.westeurope.azurestaticapps.net

6 similar comments
@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://victorious-water-056410803-791.westeurope.azurestaticapps.net

@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://victorious-water-056410803-791.westeurope.azurestaticapps.net

@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://victorious-water-056410803-791.westeurope.azurestaticapps.net

@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://victorious-water-056410803-791.westeurope.azurestaticapps.net

@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://victorious-water-056410803-791.westeurope.azurestaticapps.net

@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://victorious-water-056410803-791.westeurope.azurestaticapps.net

@amish1188 amish1188 requested a review from jorgkv May 13, 2025 12:41
@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://victorious-water-056410803-791.westeurope.azurestaticapps.net

@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://victorious-water-056410803-791.westeurope.azurestaticapps.net

'https://sentry.io',
],
'upgrade-insecure-requests': true,
'frame-ancestors': ["'self'"],

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kunne denne vært 'none'?
Eller kjører dere noe i iframe?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

godt spørsmål. her brukte jeg bare det som sto på wiki siden. Vi bruker ikke regobs i iframe i regobs. Så self gir kanskje ikke så mye mening. Vi kan godt endre det til none.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vi viser isplottet i iframe. Får det noen konsekvenser for dette?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nei. det gjelder kun regobs appen. det er opp til isploten sine headers om den skal vises i iframe som andre applikasjoner bruker.

@wartiainen
Copy link

har sett gjennom og lest litt om Frontend sikkerhet på våre wiki-sider.
Testet også siste bygg deploy, eller hva det heter på https://securityheaders.com/
Der får dne karakteren 'A', det må jo være godt nok. Det var en warning der om en inline-safe, men skjønner ut i fra beskrivelsen din at dette måtte til for å få lastet ned styles.

@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://victorious-water-056410803-791.westeurope.azurestaticapps.net

@amish1188 amish1188 requested a review from wartiainen May 21, 2025 13:26
Copy link

@wartiainen wartiainen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Den forblir 'self' da?

@amish1188 amish1188 dismissed gruble’s stale review May 23, 2025 11:16

Ble godkjent av andre

@amish1188 amish1188 merged commit 6109e29 into develop May 23, 2025
9 checks passed
@amish1188 amish1188 deleted the feat/ro-2573 branch May 23, 2025 11:16
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.

4 participants

Comments