Beschrijving
Binnen koppeltaal worden standaarden en technieken toegepast. Deze specifieke standaarden en technieken worden per topic omschreven. Dit topic is een uitzondering hierop, omdat dit topic de beveiligingsoverwegingen van koppeltaal bespreekt, en niet een of meerdere specifieke standaarden die worden toegepast rond een onderwerp. We kiezen ervoor dit als topic te bespreken om zo eenoverzicht een overzicht van de aspecten te verzamelen.
...
In koppeltaal worden FHIR resources uitgewisseld via een FHIR resource service. Wie daar wat mag wordt door de authorisatieservice bepaald. In Koppeltaal wordt bewust de keuze gemaakt dat applicaties en niet personen toegang krijgen tot de FHIR resources in de FHIR resource service. Dit heeft te maken met de huidige status quo: de applicaties die we koppelen hebben reeds een toegangsmodel. Daar een ander toegangsmodel aan toevoegen brengt onnodige complexiteit. Als gevolg van deze beslissing is het dus van belang te stellen dat de verantwoordelijkheid voor wat de gebruiker mag doen en mag inzien bij de applicaties in het domein ligt, en niet bij de autorisatie service of de FHIR resource service. Om toch een beperking te stellen aan de applicaties, wordt en met de autorisatieregels de applicaties beperkt in hun acties op de FHIR resource service.
...
- Om de koppelingen tussen de diensten te minimaliseren, moet de besluitvorming over de toegang tot de diensten, lokaal worden genomen via (voor gedefinieerdevoorgedefinieerde) REST-endpoints
- Gebruikers authenticatie moet worden gecentraliseerd bij een Identiteit Provider Provider (IdP), die authenticatie tokens uitgeeft. Geldt alleen bij de SMART on FHIR App Launch
- Systeem authenticatie moet bij een Autorisatie Server worden gecentraliseerd.
...
- vertrouw geen input parameters en/of (binaire) objecten
- valideer lengte / formaat, enums en types - strong typing (number, boolean, date, time, enums, etc)
- valideer strings met reguliere expressies. Bv oid, id, uri, etc voldoen aan bepaalde formaten en worden vaak als string doorgegeven
- valideer inkomende content-types (application/xml of application/json). Content-Type header en content MOETEN hetzelfde zijn
- valideer response types. Kopieer NIET NIET de Accept header naar de Content-Type header van de response
Managede Manage de endpoints
- CORS (Cross Origin Resource Sharing) - Beperkt het opvragen van resources in een ander domein, vanwaar uit de eerste resource vandaan komt
...
Warning |
---|
Het is uitdrukkelijk niet de bedoeling dat de FHIR Service van Koppeltaal 2.0 direct vanuit de browser benaderd wordt. |
Header | Beschrijving |
---|---|
Cache-Control: no-store | Voorkom dat gevoelige informatie in de (browser) cache wordt opgeslagen |
Content-Security-Policy: frame-ancestors 'none' | Bescherming tegen drag-and-drop style clickjacking aanvallen |
Content-Type | Specificeer de content type van de response (antwoord). Dit MOET gevuld worden |
Strict-Transport-Security | Om een verbinding via HTTPS te vereisen en te beschermen tegen vervalste certificaten |
X-Content-Type-Options: nosniff | Om MIME-sniffing via de browser te voorkomen |
X-Frame-Options: DENY | Bescherming tegen clickjacking aanvallen met drag-and-drop style |
...