Guide · Regler og krav

IT-sikkerhed i jeres software: 30 tjek, I selv kan stille krav om

Det korte svar: de fleste sikkerhedshændelser i små og mellemstore virksomheders software skyldes de samme få ting: svage logins uden totrinsbekræftelse, systemer, der ikke bliver opdateret, for bred adgang, manglende eller utestede backups og basale kodefejl. Denne tjekliste samler 30 konkrete punkter, som I kan bruge til at stille krav til jeres leverandør, uden at I selv skal være udviklere.

12 min. læsning · Opdateret 1. oktober 2026

En mandag morgen kan ingen logge ind i kundeportalen. Det viser sig, at en tidligere praktikant stadig havde administratoradgang med adgangskoden »Sommer2023!«, og at den samme kode var lækket fra en helt anden tjeneste. Ingen havde slået totrinsbekræftelse til, og den seneste backup, der faktisk kunne gendannes, var tre uger gammel. Der er ikke tale om et avanceret angreb. Det er den type hændelse, vi oftest hører om, og den kunne være undgået med fem af de 30 punkter nedenfor.

Tjeklisten er skrevet til ejere og ledere, der køber eller ejer software: hjemmeside, webshop, kundeportal, app eller internt system. Det eneste, I skal kunne, er at stille spørgsmålene og forvente klare svar. Behandler I særligt følsomme data eller er I omfattet af sektorregler, bør I supplere med en sikkerhedsrådgiver.

Hvorfor rammer sikkerhedshuller også små virksomheder?

Fordi de fleste angreb er automatiske. Robotter scanner hele internettet efter kendte huller i forældede plugins, efter loginsider, hvor lækkede adgangskoder kan afprøves, og efter åbne databaser og glemte testmiljøer. De leder efter svagheder og er ligeglade med, hvor stor virksomheden er. En lille webshop med et forældet plugin er derfor et lige så oplagt mål som en stor. Den gode nyhed er, at de samme automatiske angreb stoppes af basal hygiejne: opdateringer, stærke logins og begrænset adgang.

De mest almindelige risici i forretningssoftware, og hvad der typisk stopper dem.

RisikoTypisk årsagDet, der stopper detSådan tjekker I
Overtagelse af kontoGenbrugt eller lækket adgangskodeTotrinsbekræftelse og begrænsning af forsøgBed om at se login-opsætningen for administratorer
Kendt hul i softwareForældede pakker eller pluginsFaste opdateringer og automatisk scanningSpørg, hvornår der sidst blev opdateret
Datalæk mellem kunderManglende adgangskontrol på serverenTjek af rettigheder ved hvert kaldPenetrationstest eller kodegennemgang
Ransomware eller sletningIngen adskilte, testede backupsAutomatisk backup et andet sted og gendannelsestestBed om dato for seneste gendannelsestest
Lækkede nøglerHemmeligheder i koden eller i delte dokumenterHemmeligheder i en sikker boks og løbende rotationSpørg, hvor API-nøgler opbevares

Hvilke sikkerhedstjek handler om login og adgang?

Adgang er det område, hvor I selv kan gøre mest, fordi det handler om personer og rutiner lige så meget som om kode. De seks punkter herunder bør være på plads i ethvert system, der indeholder kundedata.

  1. Totrinsbekræftelse er slået til for alle administratorer og medarbejdere med adgang til kundedata.
  2. Login begrænser antallet af forsøg, så robotter ikke kan afprøve tusindvis af koder.
  3. Adgangskoder gemmes med en moderne hash-algoritme og aldrig i klartekst.
  4. Hver medarbejder har sin egen bruger. Ingen deler logins som »admin« eller »kontor«.
  5. Roller giver mindst mulig adgang: support ser kunder, men kan ikke ændre priser eller eksportere alt.
  6. Der er en fast rutine for at lukke adgang samme dag, en medarbejder eller leverandør stopper.

Har I mange brugere, kan login med MitID eller med virksomhedens Microsoft- eller Google-konto være både sikrere og lettere. Så slipper medarbejderne for endnu en adgangskode, og når de stopper og mister deres arbejdskonto, mister de også adgangen til jeres system. Vi beskriver, hvordan MitID passer ind i en skræddersyet løsning, i artiklen om MitID-integration i jeres egen app.

Hvordan holder man software opdateret og sikker?

Moderne software består af hundredvis af open source-pakker, og der bliver løbende fundet huller i dem. Det er normalt og et tegn på, at økosystemet fungerer. Det er farligt, hvis ingen opdaterer. En hjemmeside, der ikke har været rørt i to år, har næsten altid kendte sårbarheder. Opdateringer skal derfor være en fast, planlagt del af driften og må ikke vente på, at nogen husker det.

  1. Afhængigheder scannes automatisk for kendte sårbarheder, og kritiske fund rettes inden for dage.
  2. Framework, server og database opdateres efter en fast plan, mindst månedligt for sikkerhedsrettelser.
  3. Opdateringer testes i et testmiljø, før de går i produktion.
  4. Ubrugte plugins, pakker og funktioner fjernes, så der er mindre at angribe.
  5. Systemet kører på en version af sprog og framework, der stadig får sikkerhedsopdateringer.

Det sidste punkt er ofte det dyreste. Kører jeres system på en version, der ikke længere bliver understøttet, er der ingen opdateringer at installere, og så hjælper det ikke at være flittig. Her er der tale om teknisk gæld, og løsningen er en planlagt opgradering eller en modernisering af det gamle system.

Hvordan sikrer man data og backup?

  1. Al trafik er krypteret med HTTPS, og gammel, usikker kryptering er slået fra.
  2. Databaser og filer er krypteret, når de ligger lagret.
  3. Der tages automatiske backups mindst dagligt, og de opbevares adskilt fra produktionen.
  4. Mindst én backup kan ikke ændres eller slettes af den, der har adgang til produktionen.
  5. Gendannelse testes jævnligt, og I kender den reelle tid, det tager at komme op at køre igen.

Spørg jeres leverandør om to tal: hvor meget data I højst kan miste (typisk tiden siden seneste backup), og hvor lang tid det tager at komme op igen. Kan de ikke svare, er backuppen ikke testet. Hvor backups og data fysisk ligger, betyder også noget for GDPR, og det gennemgår vi i guiden om hosting af data i EU.

Hvad er OWASP, og hvilke kodefejl skal I kende?

OWASP er en international nonprofitorganisation, der blandt andet udgiver OWASP Top 10, en liste over de mest kritiske sikkerhedsrisici i webapplikationer. Listen er det fælles sprog mellem udviklere, testere og kunder. Det er nok, at I beder jeres leverandør bekræfte, at de syv punkter herunder er håndteret. De dækker de fejl, der oftest fører til datalæk i forretningssoftware.

  1. Adgangskontrol tjekkes på serveren ved hvert kald, så en bruger ikke kan se en anden kundes data ved at ændre et id i adressen.
  2. Databaseforespørgsler er parametriserede, så input ikke kan ændre forespørgslen (SQL-injection).
  3. Input fra brugere valideres, og output escapes, så der ikke kan indsættes scripts (XSS).
  4. Formularer og handlinger er beskyttet mod forfalskede forespørgsler fra andre sider (CSRF).
  5. Hemmelige nøgler og adgangskoder til databaser og API’er ligger uden for koden i et sikkert miljø.
  6. Sikkerhedsheadere som HSTS og Content Security Policy er sat op.
  7. Uploadede filer tjekkes for type og størrelse og gemmes adskilt fra koden.

Har I en prototype bygget med Lovable, Bolt, Cursor eller lignende, som skal bruges af rigtige kunder, så læs guiden om at gå fra AI-prototype til produktion. Den gennemgår præcis de punkter, der typisk mangler.

Overvågning, leverandører og beredskab: de sidste 7 tjek

  1. Oppetid, fejlrater og usædvanlig aktivitet overvåges, og alarmer går til en navngiven modtager.
  2. Logs over login, administratorhandlinger og fejl gemmes et andet sted end systemet og i en fast periode.
  3. Testmiljøer bruger testdata eller anonymiserede data og ikke en kopi af produktionen.
  4. Der er en skriftlig plan for, hvad der sker ved en hændelse: hvem gør hvad, og hvem kontakter hvem.
  5. I har databehandleraftaler og ved, hvilke underleverandører der har adgang til jeres data.
  6. I ejer selv domæne, hostingkonti og kode, så I ikke er låst, hvis en leverandør forsvinder.
  7. Sikkerheden gennemgås mindst én gang om året sammen med leverandøren.

Med de 6 punkter om login, 5 om opdateringer, 5 om data, 7 om kode og disse 7 har I de 30 tjek. Ejerskabet i punkt 29 overses tit, og det er afgørende i en krise. Læs mere i guiden hvem ejer koden.

1

Opdag

En alarm, en kunde eller en medarbejder melder noget mistænkeligt til én fast kontakt.

2

Begræns

Luk den kompromitterede adgang, skift nøgler, og sæt eventuelt systemet i vedligeholdelsestilstand.

3

Vurder

Hvilke data er berørt? Er der persondata, skal det vurderes, om bruddet skal anmeldes inden for 72 timer.

4

Genopret

Ret årsagen, gendan fra en ren backup, og overvåg tæt de næste dage.

5

Lær

Skriv kort ned, hvad der skete, og hvilket tjek der skal tilføjes, så det ikke sker igen.

En enkel beredskabsplan, der passer til en mindre virksomhed.

Hvad betyder NIS2 for jeres virksomhed?

NIS2 er et EU-direktiv om cybersikkerhed, som Danmark har gennemført i national lovgivning. Det stiller krav om risikostyring, sikkerhedsforanstaltninger, ledelsesansvar og indberetning af hændelser. Det gælder primært mellemstore og store virksomheder inden for bestemte sektorer som energi, transport, sundhed, digital infrastruktur, visse former for produktion og offentlig forvaltning. De fleste små virksomheder er ikke direkte omfattet. Mange vil dog mærke det indirekte, fordi omfattede kunder stiller krav til deres leverandører i kontrakterne. Om I er omfattet, afhænger af sektor og størrelse, så tjek det i de danske myndigheders vejledning eller med en rådgiver. Vi går ikke i detaljer med tidsfrister og sanktioner her.

Billig hosting uden aftale

  • Opdateringer sker, når nogen husker det
  • Backups findes, men er aldrig testet
  • Ingen overvågning eller alarmer
  • Ved en hændelse starter I med at finde en udvikler

Fast drift og vedligeholdelse

  • Sikkerhedsopdateringer efter en fast plan
  • Automatiske backups og gendannelsestest
  • Overvågning med en kendt modtager
  • En leverandør, der kender systemet og kan handle med det samme
To måder at drive den samme løsning på.

Hvad koster IT-sikkerhed i en softwareløsning?

Det meste af sikkerheden er en indbygget del af god udvikling og god drift. En udbredt tommelfingerregel er, at vedligeholdelse koster 15–20 % af byggeprisen om året, og sikkerhedsopdateringer, overvågning og backup er en væsentlig del af det. Læs mere om niveauerne i guiden om vedligeholdelse af hjemmesider. Tag et eksempel: en virksomhed med 15 ansatte har en kundeportal til 150.000 kr. Driften ligger typisk på 22.500–30.000 kr. om året, en penetrationstest før lancering koster måske 30.000–50.000 kr., og en årlig gennemgang en dag eller to. Sammenlignet med prisen for en uge uden adgang til portalen er det billigt.

Hos os dækker den faste månedlige pris hosting, vedligeholdelse, opdateringer, support, sikkerhed og backups, og I ejer koden og data. Vil I have gennemgået jeres nuværende løsning mod de 30 punkter, eller skal I have bygget noget nyt, så send en kort beskrivelse, og I får et fastpris-tilbud inden for 24 timer.

Spørgsmål om IT-sikkerhed i software

Har vi brug for en penetrationstest?
Det afhænger af, hvad løsningen indeholder. Har I en kundeportal med persondata, betaling eller adgang til forretningskritiske systemer, er en penetrationstest før lancering og derefter ved større ændringer en god investering. Typiske priser for en afgrænset test af en webapplikation ligger fra omkring 25.000 kr. og op til 100.000 kr. eller mere for store systemer. Til en simpel informationsside er det sjældent nødvendigt, og her giver de basale punkter i tjeklisten mere sikkerhed for pengene. Vælg en uafhængig tester frem for det team, der har bygget løsningen.
Er WordPress usikkert?
WordPress-kernen er velholdt, og mange store sider kører sikkert på den. Risikoen ligger i økosystemet: temaer og plugins fra mange forskellige udviklere, hvoraf nogle ikke bliver vedligeholdt. Hvert plugin er kode, der kører på jeres server, og hvis ét af dem har et hul, er hele siden udsat. En sikker WordPress-side har få, velkendte plugins, automatiske opdateringer, totrinsbekræftelse for administratorer og en leverandør, der holder øje. Vi sammenligner platformene i guiden om Next.js vs. WordPress, hvis I overvejer at skifte.
Hvad er forskellen på backup og høj oppetid?
Høj oppetid betyder, at systemet kører videre, hvis en server går ned, fordi der står en anden klar. Backup betyder, at I kan få data tilbage, hvis de bliver slettet, ødelagt eller krypteret af ransomware. Det ene erstatter ikke det andet. Sletter en medarbejder ved en fejl alle kunder, bliver sletningen kopieret til reserveserveren på et sekund, og så er det kun backuppen, der redder jer. En god backup er automatisk, krypteret, ligger et andet sted end produktionen, kan ikke ændres af angribere og bliver testet ved en reel gendannelse.
Hvordan opdager vi, om vi er blevet hacket?
Mange opdager det først, når en kunde ringer, eller når Google viser en advarsel. Det kan I gøre bedre med enkle midler: overvågning af oppetid og fejlrater, advarsler ved mange mislykkede login-forsøg, besked ved nye administratorbrugere, og logs, der gemmes et andet sted end selve systemet, så en angriber ikke kan slette sporene. Bed jeres leverandør om at vise, hvilke alarmer der er sat op, og hvem der modtager dem uden for arbejdstid. Gennemgå derudover listen over brugere med adgang mindst hvert kvartal.
Er kode genereret med AI mindre sikker?
AI-værktøjer kan skrive kode hurtigt, og meget af den er fin. Problemet er, at den ofte ser rigtig ud uden at være det. Vi ser typisk manglende adgangskontrol på serveren, hemmelige nøgler lagt direkte i koden, databaser, der er åbne for alle, og pakker, der er forældede eller ikke findes. Det er især et problem i prototyper bygget med vibe coding, som pludselig får rigtige brugere. Kode fra AI skal reviewes og testes efter de samme krav som al anden kode. Vi har skrevet en hel guide om at gøre en AI-prototype klar til produktion.
Hvad er D-mærket, og skal vi have det?
D-mærket er en dansk mærkningsordning for IT-sikkerhed og ansvarlig dataanvendelse, som virksomheder frivilligt kan tilslutte sig. Det er frivilligt og kan være en måde at vise kunder og samarbejdspartnere, at I har styr på området, og kravene er et brugbart pejlemærke for, hvad en virksomhed af jeres størrelse bør have på plads. Tjek ordningens egne sider for de aktuelle krav og priser. Uanset om I går efter mærket, dækker tjeklisten i denne guide mange af de tekniske punkter, der indgår.

Skal vi bygge det for jer?

I får et fastpristilbud inden for 24 timer.

Dennis Nielsen

Dennis Nielsen

Driftschef, Ceptiv

Gratis konsultation

En gratis time med gode råd, før I går i gang.

Beskriv jeres projekt, så kontakter jeg jer hurtigst muligt, og vi aftaler et uforpligtende møde. I går derfra med gode råd til, hvordan projektet kommer godt fra start.

  • Gratis
  • 1 time
  • Uforpligtende