You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Johdanto

Finnassa on (21.9.2021 tilanteen mukaan tulossa käyttöön) Content Security Policy (CSP), joka määrittää, mitä skriptejä ja ulkoisia sisältöjä selain suostuu lataamaan. Näiden sääntöjen tarkoituksena on ehkäistä mahdollisten haavoittuvuuksien (esim. XSS) hyödyntämismahdollisuuksia. Tämän seurauksena mitä tahansa skriptiä ei sallita suoritettavaksi eikä esim. iframe:a voi ladata mistä vain.

Finnan CSP määritellään contentsecuritypolicy.ini-tiedostossa. Tiedostoa on mahdollista muokata paikallisesti tarpeen mukaan omia lisäyksiä varten. Muokkauksessa on kuitenkin oltava huolellinen, eikä liian laajoja oikeuksia tule sallia.

Content Security Policy -sääntöjen määrittäminen

Finnassa on oletuksena melko tiukat säännöt, jotka sallivat lähinnä sellaisten skriptien lataamisen, joissa script-tagissa on oikea nonce. Näitä sääntöjä voi laajentaa omilla säännöillä local/config/vufind/contentsecuritypolicy.ini-tiedostossa.  Pohjaksi kannattaa kopioida contentsecuritypolicy.ini.sample -tiedosto, joka sisältää esimerkkisääntöjä useille chat-palveluille ym. ulkoisille lähteille.

Sääntöjen toiminnan varmistaminen

21.9.2021 tilanteen mukaisesti CSP on vasta raportointitilassa, jolloin se ei estä skriptejä ym. sisältöä latautumasta, vaan raportoi vain ongelmista.

 Ainakin Chrome- ja Firefox-selaimilla voi selaimen kehittäjän työkaluihin kuuluvalla konsolilla tms. työkalulla nähdä mahdolliset virheilmoitukset.

Huom! Keltaisella näkyvistä varoituksista ei tarvitse huolestua. Esim. seuraava ilmoitus kertoo vain, että selain jättää huomiotta sääntöjä, jotka on sisällytetty vanhempia selaimia varten:

Content Security Policy: Ohitetaan "'unsafe-inline'" script-src:ssä tai style-src:ssä: nonce-source tai hash-source määritetty

Seuraavassa kuvassa on esimerkki-ilmoitus siitä, että skripti ei saa ladattua toista skriptiä:

Lisätietoa aiheesta

https://vufind.org/wiki/administration:security:content_security_policy (VuFindin ohje)

https://content-security-policy.com/

https://cheatsheetseries.owasp.org/cheatsheets/Content_Security_Policy_Cheat_Sheet.html

https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy







  • No labels