Governance & compliance
Databehandleraftaler, retsgrundlag, DPIA og slettepolitik - rammen der definerer, hvem der må behandle data, til hvilket formål og hvor længe.
Denne side giver et teknisk overblik over de sikkerhedsemner, der typisk er relevante at forholde sig til, når en PostgreSQL-database skal driftes lokalt i en kommune, herunder hvor databasen indeholder CPR-data og andre følsomme persondata. Siden er ikke en garanti for compliance, men et opslagsværk over de kontroller og mekanismer, som PostgreSQL stiller til rådighed, og som bør vurderes op imod kommunens egne sikkerhedskrav, risikovurderinger og databehandleraftaler.
Når Geodata Connect leverer data til en lokal PostgreSQL-database i kommunen, herunder data der kan indeholde eller kobles med CPR-data (fx via Ejerfortegnelsen eller Tingbogen), bør ovenstående emner - særligt adgangsbegrænsning, logning og databehandleraftaler - indgå i kommunens vurdering af databaseopsætningen, uanset om databasen driftes af kommunen selv eller af en ekstern driftsleverandør.
Sikkerheden omkring persondata bygges typisk op i lag (“defense in depth”), hvor hvert lag skal kompromitteres, før data reelt kan tilgås uautoriseret. Dette skal ses som forslag til forebyggende indsatser og ikke som en udtømmende liste af forhold omkring informationssikkerhed.
De enkelte lag i illustrationen er beskrevet nærmere herunder:
Governance & compliance
Databehandleraftaler, retsgrundlag, DPIA og slettepolitik - rammen der definerer, hvem der må behandle data, til hvilket formål og hvor længe.
Netværkssikkerhed
Segmentering, firewall-regler og TLS sikrer, at databasen kun kan tilgås fra betroede netværk og at trafikken er krypteret undervejs.
Adgangskontrol
Roller, mindste rettigheds princip, sikrer at kun autoriserede brugere/systemer kan se data - og kun det, de har behov for.
Kryptering
TLS i transit, disk-/filsystemkryptering at rest og evt. kolonnekryptering (pgcrypto) af fx CPR-numre beskytter data, selv hvis andre lag fejler.
Logning & audit
Forbindelses- og forespørgselslogning (evt. via pgaudit) går på tværs af alle lag og gør det muligt at dokumentere, hvem der har tilgået hvilke data.
Da databasen kan rumme indehold, omfattet gældende regler iflg. databeskyttelsesforordningen (GDPR), er der en række tekniske forhold, som bør have særlig opmærksomhed:
| Emne | Beskrivelse |
|---|---|
| Autentificeringsmetode | pg_hba.conf bør konfigureres til scram-sha-256 (ikke md5 eller trust), og adgang bør begrænses pr. IP/subnet, database og bruger |
| Rollemodel | Brug af navngivne, granulære roller frem for delte generiske brugere, samt adskillelse mellem applikations-, administrator- og læserettigheder |
| Mindste rettigheds princip | Applikationsroller bør kun have de rettigheder (SELECT/INSERT/UPDATE/DELETE), der er nødvendige på de specifikke skemaer/tabeller |
| Superuser-adgang | Antallet af konti med SUPERUSER-rettighed bør minimeres og aktivt overvåges |
| Row-Level Security | Kan anvendes til at begrænse adgang til rækker baseret på fx organisatorisk tilhørsforhold |
ssl = on i postgresql.conf), så data i transit er krypteret mellem klient og database.pgcrypto kan bruges til at kryptere udvalgte kolonner på applikations- eller databaselaget.| Emne | Beskrivelse |
|---|---|
| Standardlogning | log_connections, log_disconnections og log_statement i postgresql.conf giver grundlæggende sporbarhed af forbindelser og forespørgsler |
| Udvidet audit-logning | Extension pgaudit giver mere detaljeret og strukturaret logning af DML/DDL-operationer, egnet til compliance- og revisionsformål |
| Central logopsamling | Logs bør sendes til et centralt log-/SIEM-system (SIEM=Security Information and Event Management), så de ikke kun findes lokalt på databaseserveren |
| Opbevaring af logs | Der bør defineres en opbevaringsperiode for logs, der matcher kommunens krav til sporbarhed og revision |
pg_dump, pg_basebackup kombineret med WAL-arkivering til Point-In-Time Recovery).Følgende referencerammer kan med fordel inddrages, når sikkerheden i en kommunal PostgreSQL-opsætning skal vurderes: