Spring til indhold

Sikkerhed og compliance

Sikkerhed er ikke en funktion. Det er arkitekturen.

Rustning er bygget, så de mest følsomme ting aldrig kommer i nærheden af os: Den private nøgle bliver på enheden, og trafikken går direkte til noden uden at blive logget.

01Arkitektur

Kontrolplan og dataplan er adskilt.

Rustnings API ved, hvilke offentlige nøgler der må forbinde til hvilke noder – og intet andet. Selve trafikken kender vi ikke.

Kontrolplan

01

Browseren

Når en enhed oprettes

  • Danner X25519-nøglepar lokalt
  • Sender kun den offentlige nøgle
  • Bygger .conf og QR-kode lokalt
Kontrolplan

02

Rustning API

Kontrolplan hostet i Norden

  • Validerer og gemmer den offentlige nøgle
  • Danner PSK og krypterer den med AES-256-GCM
  • Tildeler IP-adresser og node
Kontrolplan

03

Node-agent

På hver WireGuard-node

  • Henter peers med sit eget token
  • Henter kun ved ændringer (ETag)
  • Melder handshake og byte-tællere
Dataplan

04

WireGuard-node

København, Stockholm, Oslo …

  • Kender kun offentlige nøgler og PSK
  • Logger ikke trafik eller DNS
Dataplan

05

Din enhed

Den officielle WireGuard-app

  • Holder den private nøgle – vi ser den aldrig
  • Sender trafikken direkte til noden
Kontrolplanet fordeler offentlige nøgler. Selve trafikken går direkte mellem enhed og node og passerer aldrig Rustnings API.

02Kryptografi

Moderne primitiver. Ingen forhandling.

WireGuard bruger ét fast sæt velafprøvede algoritmer. Der er ingen cipher suites at konfigurere forkert og intet at nedgradere til.

NøgleudvekslingCurve25519
Elliptisk kurve-Diffie-Hellman (X25519). Hver enhed og hver node har sit eget nøglepar.
Kryptering og integritetChaCha20-Poly1305
Autentificeret kryptering af hver eneste pakke. Hurtig også på telefoner og bærbare uden AES-acceleration.
Hashing og nøgleafledningBLAKE2s
Bruges i handshaket og til at aflede de kortlivede sessionsnøgler.
Ekstra symmetrisk lagPreshared key
En unik 256-bit nøgle pr. enhed blandes ind i handshaket. Optaget trafik kan ikke dekrypteres alene ved at bryde Curve25519 – heller ikke med en fremtidig kvantecomputer.

Protokollen bygger på Noise-rammeværket (Noise_IKpsk2) og forhandler nye sessionsnøgler mindst hvert andet minut. Selv hvis en langtidsnøgle kompromitteres, kan tidligere trafik ikke dekrypteres.

WireGuard-konfigurationvises én gang
# vaern-annas-macbook.conf – eksempel[Interface]PrivateKey = ••••••••••••••••••••••••••••  # dannet i browserenAddress = 10.64.1.4/32, fd7a:7661:6572::104/128DNS = 10.64.0.54  # malwarefilter[Peer]PublicKey = 7bR4mXq0…Lh2=  # nodens nøglePresharedKey = ••••••••••••••••  # unik pr. enhedEndpoint = cph-1.rustning.dk:51820AllowedIPs = 0.0.0.0/0, ::/0PersistentKeepalive = 25

03Portal og konti

Den samme omhu i portalen.

En VPN er kun så sikker som det sted, man administrerer den fra. Derfor er portalen bygget med samme forsigtighed som tunnelen.

Adgangskoder
Hashes med Argon2id. Mindst 12 tegn.
Sessioner
256-bit tilfældigt token i en HttpOnly-cookie med SameSite=Strict. Vi gemmer kun en SHA-256-hash.
Tofaktor
TOTP og ti engangskoder til gendannelse. Hemmeligheden er krypteret, og koderne gemmes kun som hash.
Misbrug
Begrænsning af forsøg på login, tilmelding, tofaktor og invitationer – både pr. IP og pr. e-mail.
CSRF
Alle ændrende kald kræver en særlig header, og API'et tillader ikke kald fra andre domæner.
Browserhærdning
Streng Content Security Policy, HSTS, X-Frame-Options og en restriktiv Permissions-Policy.
Tokens
Invitations- og node-tokens gemmes kun som hash og vises én gang. Invitationer udløber efter syv dage.
Audit-log
Alle administrative handlinger og sikkerhedshændelser registreres med tidspunkt, aktør og IP-adresse.

04Data

Det gemmer vi. Det gemmer vi aldrig.

Vi gemmer det, der skal til for at drive tjenesten og give jer overblik – og intet om, hvad jeres medarbejdere bruger forbindelsen til.

Det gemmer vi

  • Navn og e-mailadresse på brugere
  • Organisation, roller og politik
  • Enhedsnavn, platform og offentlig nøgle
  • Tildelte IP-adresser i tunnelnettet
  • Tidspunkt for seneste handshake
  • Datamængde pr. enhed pr. time
  • Audit-log over handlinger i portalen
  • Adgangskoder – kun som Argon2id-hash

Det gemmer vi aldrig

  • Private nøgler
  • Indholdet af jeres trafik
  • Hvilke sider og tjenester I besøger
  • DNS-opslag
  • Forbindelseslogs med kilde og destination
  • Adgangskoder i klartekst

DNS-filtreringen sker på noden i det øjeblik, opslaget foretages. Resultatet bliver ikke gemt.

05GDPR og dataplacering

Data i EU. Klar rollefordeling.

I er dataansvarlige for jeres medarbejderes oplysninger. Vi er databehandler og behandler kun data efter jeres instruks.

  • Data i EU

    Portal, database og noder står i et datacenter i Frankfurt, Tyskland.

  • Databehandleraftale

    Indgår som en fast del af vilkårene. Enterprise-kunder kan få den underskrevet separat.

  • Dataminimering

    Vi beder kun om det, tjenesten kræver: navn, e-mail og oplysninger om enheder.

  • Jeres rettigheder

    Eksportér audit-loggen, og bed om sletning, når I stopper. Se privatlivspolitikken.

Læs privatlivspolitikken

06Ansvarlig offentliggørelse

Har du fundet en sårbarhed?

Vi sætter stor pris på sikkerhedsforskere, der hjælper os med at gøre Rustning bedre. Skriv til os, så tager vi den derfra.

security@rustning.dk

Sådan hjælper du os bedst

  1. 01Beskriv sårbarheden, hvordan den kan genskabes, og hvilken betydning du vurderer, den har.
  2. 02Giv os rimelig tid til at rette fejlen, før du offentliggør noget.
  3. 03Tilgå, ændr eller slet ikke andres data – brug dine egne testkonti.
  4. 04Undgå overbelastningsangreb, social manipulation og fysiske angreb.

Vi bekræfter modtagelsen, holder dig orienteret undervejs og krediterer dig gerne, når fejlen er rettet.

07Underdatabehandlere

Hvem der hjælper os.

Vi bruger så få underdatabehandlere som muligt. Ændringer varsles til kunder, før de træder i kraft.

Akamai Technologies, Inc. (Linode / Akamai Cloud)

Formål
Servere til portal, API, database og VPN-noder, herunder dedikerede noder.
Placering
Frankfurt, Tyskland. Dedikerede noder i den region inden for EU/EØS, som er aftalt med kunden.
Oplysninger
Alle oplysninger i tjenesten: konti, sessioner, enheder, offentlige nøgler, tildelte IP-adresser, audit-log og trafiktællere. Trafik i tunnelen passerer noderne uden at blive gemt.
Overførsel
Data opbevares i EU. Moderselskabet er amerikansk; en eventuel overførsel sker på grundlag af EU-U.S. Data Privacy Framework og EU-Kommissionens standardkontraktbestemmelser.

Se også varsling og indsigelse og databehandleraftalen.

Spørgsmål til sikkerheden?

Vi gennemgår gerne arkitekturen med jeres IT-ansvarlige eller revisor. Eller prøv Rustning selv i 14 dage.