zaterdag 13 februari 2016

Toegangscontrole (3) - emailadres als login

Als er voor een website ingelogd moet worden, gebeurt dat vaak op basis van een emailadres dat gevalideerd kan worden. Door dezelfde keuze te maken voor de toegang tot eigen data, -databases of -toepassingen, kan de toegangscontrole aangescherpt worden. Toegang tot data en systemen voor andere organisaties wordt zo ook eenvoudiger gemaakt.

In hoofdlijnen steekt het delen van functionaliteit en data met andere organisaties met de bijbehorende toegangscontrole zo in elkaar:



  • Via (legacy) applicaties ontstaat nog steeds data en wordt deze gedeeld binnen de eigen organisatie.
  • Via een Integratielaag (WSO2 middleware) worden functionaliteit en data beschikbaar gesteld voor (create, retrieve, update, delete) gebruik binnen samenwerkingsverbanden .
  • Het toepassen van mailadres georienteerde logins geeft overzicht, de integratielaag kan de toegangscontrole op zich nemen bij de poort.
  • Security-breaches door misbruik van logins is traceable, analyses zijn zo gemaakt.

Voordelen van gebruik van email logins:
  • Gebruikersnamen zijn per definitie uniek
  • Gebruiker is (in naam) al gekoppeld aan een (mogelijk externe) organisatie
  • Externe organisaties kunnen toegang tot data krijgen op basis van hun internetdomeinnaam
  • Aanvullende authentication kan intern of bij de externe organisatie plaatsvinden
  • Toegang tot data op basis van bijv OpenID wordt mogelijk
  • Minimale gebruikersregistratie vooraf

Nadelen van gebruik van email logins:
  • Als de gebruikersnaam niet afgeschermd wordt, kan dat een privacy issue zijn.
  • Iedere (externe) organisatie moet beseffen dat een emailadres de basis is voor toegang tot data (Security Awareness)

Mogelijke maatregelen om de nadelen terug te brengen:
  • Zorg voor het gebruik van display namen die afwijken van loginnamen
  • Toegang tot systeemtabellen (zoals pg_roles) afschermen voor gebruikers

Vertaald naar DEMO

In PostgreSQL worden LOGIN-roles gebruikt als middel om aan te melden.
Een LOGIN-role staat voor een persoon van vlees en bloed of voor een proces(stap): 

jane@hierzo.nl
vergunningen@daarzo.nl

Met de definitie van de rol wordt een COMMENT ON ROLE toegevoegd als alternatieve display name.

CREATE ROLE "jane@<organisatie>.nl" LOGIN
  ENCRYPTED PASSWORD 'md56ea41a82a20a7c9a9d8f17f8b0af07f3'
  NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;

GRANT nsbgt TO "jane@<organisatie>.nl";
GRANT nslegger TO "jane@<organisatie>.nl";
COMMENT ON ROLE "jane@<organisatie>.nl" IS 'Jane Doe';

Bij iedere (CRUD) actie op data, inclusief het vastleggen van historie, wordt in de database altijd de (unieke) loginnaam vastgelegd, dus in dit geval: jane@<organisatie>.nl.

Een kleine aanpassing met veel potentie..

Geen opmerkingen:

Een reactie posten