Den tekniske delen
Nysgjerrig på protokoller, grunnelementer og andre detaljer som Mullvad VPN er bygget på? Her har du det!
VPN-protokoller i appen
Vi støtter to protokoller til VPN-tunnelen, OpenVPN og WireGuard:
- Vi begrenser OpenVPN til TLS 1.3 (til kontrollkanalen) og AES-256-GCM (til datakanalen). Dette er implementert i OpenSSL.
- Når det gjelder WireGuard, bruker vi implementering av standard Linux-kjerne når tilgjengelig. Ellers bruker vi wireguard-go.
App API-tilkobling
Appen bruker TLS 1.2 eller 1.3, implementert i Rustls*, til å kryptere kommunikasjonen med API. Dette resulterer i to funksjoner:
- Tilkoblingen bruker sertifisert låsing for å forhindre MitM-angrep.
- For å omgå DNS-spoofing bruker ikke appen DNS til å få tak i IP til API-en.
*På iOS støttes standard TLS av URLSession Appens brannmur og sikkerhet
Appen forhindrer lekkasjer og aktiverer Kill Switch-funksjonen ved å integrere med systemets brannmur (WFP på Windows, nftables på Linux og PF på macOS). Finn ut mer på GitHub-siden vår
Appens arkitektur
For å begrense mengden kode som kjøres som en privilegert bruker, er appen delt i to deler:
- frontend uten privilegier (inkludert en CLI))
- en privilegert systemtjeneste som kjører i bakgrunnen og har tilsyn med tunneler og enhetssikkerhet.
Finn ut mer på GitHub-siden vår Servere
I alle serverne våre har vi spesifisert standardkonfigurasjoner og prioritetsrekkefølge for kryptering for å kunne gi den sterkeste krypteringen mulig for hver tunnelprotokoll.
OpenVPN-servere
Våre OpenVPN-servere har følgende egenskaper:
WireGuard-servere
WireGuard er konservativ og tilbyr bare ett sett med kryptografiske grunnelementer. Se WireGuard-nettsiden for mer informasjon.
Broservere
Broene våre tilrettelegger tilkobling til vår nettside, API og OpenVPN- og WireGuard-servere på steder der tilgangen til dem er blokkert. Konfigurasjonene våre gjør det vanskelig eller umulig å få tilgang til noe ukryptert via disse, og av den grunn er typen kryptering som brukes, mindre viktig.
Serverblokkering
For å beskytte oss selv, kundene våre og kvaliteten på tjenesten vår beholder vi rettigheten til å blokkere IP-adresser eller porter. Vi blokkerer konstant utgående trafikk til følgende porter:
- port 25 – for å forhindre søppelpost
- portene 137, 138, 139, 445 – for å beskytte kundene mot et sikkerhetsproblem med Microsoft SMB/CIFS
- portene 1900 og 2869 – for å beskytte kundene mot skadelig UPnP-konfigurasjon.