📡
Du ser cached indhold - serveren er offline Dette projekt hostes på min hjemmeserver via Docker i en libvirt VM bag Cloudflare. Serveren kører kun når jeg er hjemme - når jeg rejser eller er ude, er den offline. Alt data ligger på krypterede harddiske (fuld disk-kryptering). Du kan stadig browse alt indhold du har besøgt før. Læs mere om arkitekturen →
Installerer...
Initialiserer system...

🔒 Sikkerhed & Installation

Best practices for sikker brug af SKN

~ ~ ~
FØLSOMME DATA UVERIFICERET KODE INTERNET FORBINDELSE 🏴‍☠️ "Here be pirates"
~ ~ ~

🗺️ The Toxic Triangle

— Bermudatrekanten for dine data —

Gamle søkort advarede med "Here be dragons". Vi advarer om noget værre:

  • 📊 Følsomme data — regnskab, kundeinfo, forretningshemmeligheder
  • Uverificeret kode — software du ikke selv har auditeret
  • 🌐 Internetforbindelse — en åben vej ud for dine data

Når alle tre mødes, er det kun et spørgsmål om hvornår — ikke om — dine data sejler ud i hænderne på pirater.

🏴‍☠️ SEJL IKKE IND I TREKANTEN

Gør ikke dette selv, medmindre du er IT-kyndig og ved præcis hvad du gør. Hvis din data og sikkerhed betyder noget for dig, så få professionel hjælp — eller brug en hostet løsning hvor andre tager ansvar for sikkerheden.

🏝️
Isoleret ø

Ingen internetforbindelse = ingen pirater

🔍
Verificeret kode

Officielle releases, verificér checksums

Sikker havn

Hostet løsning med professionel sikkerhed

Sikkerhedspraksis

🔐

Data Isolation

Hold dine regnskabsdata adskilt fra andre systemer. Brug dedikerede volumes og begræns adgang til kun nødvendige brugere.

  • Separate data-mapper per regnskab
  • Restrictive file permissions (700/600)
  • Ingen delte credentials
🔄

Backup Strategi

Plain text filer gør backup simpelt. Brug git til versionering og automatiske off-site backups.

  • Git commit efter hver session
  • Daglig push til privat remote
  • Krypteret off-site backup (rsync + GPG)
🌐

Netværkssikkerhed

Kør SKN bag firewall eller VPN. Eksponér aldrig direkte til internettet uden autentificering.

  • Bind kun til localhost (127.0.0.1)
  • Brug reverse proxy med TLS
  • Firewall whitelist for SSH
🔑

Autentificering

Brug SSH-nøgler i stedet for passwords. Deaktiver root login og password-auth.

  • Ed25519 SSH-nøgler
  • Passphrase på private keys
  • Fail2ban for brute-force beskyttelse

Digital Signering & Autenticitet

Hvis du ønsker at dokumentere at regnskabet ikke er manipuleret, kan du signere det digitalt.

⚠️ Juridisk Note

SKN er ikke tilstrækkeligt til at opfylde den nye bogføringslovs krav som bogføringssystem for virksomheder omfattet af loven. Det kan dog være tilstrækkeligt til anden brug (foreninger, privat, hobby-projekter osv.).

1

Tag Backup & Beregn Hash

Lav en komprimeret backup af dit regnskab og beregn SHA-256 hash:

$ tar -czf regnskab-2024-Q4.tar.gz ~/skn-data/firma/
$ sha256sum regnskab-2024-Q4.tar.gz > regnskab-2024-Q4.sha256
$ cat regnskab-2024-Q4.sha256
a7f3b2c1d4e5f6...  regnskab-2024-Q4.tar.gz
2

Opret Attestering

Lav et simpelt tekstdokument med hash og dato:

# attestering-2024-Q4.txt
ATTESTERING AF REGNSKABSDATA
============================
Dato:     2024-12-31
Periode:  Q4 2024
Firma:    Mit Firma ApS
CVR:      12345678

Backup-fil: regnskab-2024-Q4.tar.gz
SHA-256:    a7f3b2c1d4e5f6...

Jeg attesterer hermed at ovenstående hash
svarer til regnskabsdata for den angivne periode.

___________________________
Underskrift
3

Signér med MitID

Signér attesteringen digitalt med MitID via en signing-service:

# Upload attestering-2024-Q4.txt til signing-service
# Godkend med MitID
# Download signeret PDF/ASIC-E container

💡 Tjenester som Penneo, Visma Addo eller SignaturGruppen tilbyder MitID-signering.

4

Timestamp Authority (RFC 3161)

For ekstra bevisværdi kan du tilføje et uafhængigt timestamp fra en Timestamp Authority:

$ openssl ts -query -data regnskab-2024-Q4.sha256 \
    -no_nonce -sha256 -out request.tsq
$ curl -H "Content-Type: application/timestamp-query" \
    --data-binary @request.tsq \
    https://freetsa.org/tsr -o response.tsr
$ openssl ts -reply -in response.tsr -text

💡 RFC 3161 definerer en protokol for trusted timestamping. Timestamp Authority'en beviser at data eksisterede på et bestemt tidspunkt.

🚀 Fremtidig Signing Service

Vi har ambitioner om at tilbyde en integreret signing-service baseret på RFC 3161. Ideelt set tilbydes dette som en samlet pakke med hosting og sikkerhed — så du ikke selv skal håndtere infrastrukturen — samt at blive et godkendt bogføringssystem der opfylder lovens krav.

Sikkerhedsråd

Kritiske anbefalinger for sikker drift af SKN i produktion.

🚫

Eksponér ALDRIG direkte

Vi fraråder kraftigt at have SKN liggende på en server der er åben mod internettet.

  • Ingen direkte port-exposure
  • Ingen public IP binding
  • Ingen "bare lige hurtigt" løsninger
🛡️

Brug WireGuard VPN

Luk SKN inde bag en WireGuard VPN. Kun autoriserede enheder med korrekt nøgle får adgang.

# /etc/wireguard/wg0.conf
[Interface]
Address = 10.0.0.1/24
PrivateKey = <server-private-key>
ListenPort = 51820

[Peer]
PublicKey = <client-public-key>
AllowedIPs = 10.0.0.2/32
🔥

iptables Whitelist

Serveren må ikke have adgang til internettet på iptables-niveau — undtagen til manuelt whitelistede servere.

# Bloker alt udgående som default
iptables -P OUTPUT DROP

# Tillad kun specifikke hosts
iptables -A OUTPUT -d 10.0.0.0/24 -j ACCEPT
iptables -A OUTPUT -d apt.debian.org -j ACCEPT

# Tillad established connections
iptables -A OUTPUT -m state \
    --state ESTABLISHED,RELATED -j ACCEPT
📋

Sikkerhedscheckliste

  • ✓ WireGuard eller anden VPN
  • ✓ iptables OUTPUT DROP policy
  • ✓ Kun whitelistede udgående hosts
  • ✓ SSH kun via VPN
  • ✓ Ingen password auth (kun keys)
  • ✓ Automatiske sikkerhedsopdateringer
  • ✓ Daglig encrypted backup off-site
  • ✓ Fail2ban aktiv

⚠️ Hvorfor så paranoid?

Regnskabsdata er ekstremt værdifuldt for angribere — det indeholder kundedata, leverandørinfo, betalingshistorik og forretningshemmeligheder. Et kompromitteret regnskabssystem kan føre til identitetstyveri, svindel og GDPR-bøder. Tag det seriøst.

Klar til at komme i gang?