Hærdning af Linux Mint

En dybdegående, praktisk guide til at sikre dit Linux Mint-system mod trusler – fra installation til daglig drift.

Jan Engelbrecht Pedersen underviser i Linux sikkerhed

📑 Indholdsfortegnelse

1. Fuld diskkryptering (LUKS)
2. Firewall (UFW) – Trin-for-trin
3. AppArmor & Sandboxing
4. Browser-sikkerhed & DNS
5. Sikker sletning (Shredding)
6. Opdateringsstrategi
7. SSH-sikkerhed
8. /tmp og swap-kryptering
9. Fail2ban og logovervågning
10. USB-stick sikkerhed
11. Password Manager & 2FA
12. Audit & Hårdføring
🔐

1. Fuld diskkryptering med LUKS

Formål: At forhindre uautoriseret adgang til data ved fysisk adgang til hardwaren. LUKS (Linux Unified Key Setup) krypterer hele harddisken, så den fremstår som tilfældig støj uden den korrekte adgangskode.

📌 Trin-for-trin under installation

1 Vælg krypteringsmuligheden

Under installationen af Linux Mint, når du når til skærmen "Installationstype", skal du vælge:

            ⬜ Slet disk og installer Linux Mint
            ⬜ Krypter den nye Linux Mint-installation for sikkerhed
            ⬜ Noget andet

Vælg: Krypter den nye Linux Mint-installation for sikkerhed

2 Opret en stærk adgangskode

Du bliver bedt om at oprette en sikkerhedsnøgle (passphrase). Denne skal indtastes hver gang systemet starter.

⚠️

Krav til adgangskoden:

  • Minimum 20 tegn
  • Blanding af store og små bogstaver
  • Tal og specialtegn (!@#$%^&*)
  • Undgå ordbogsord, personlige oplysninger eller mønstre
  • Eksempel: L1nux#M1nt$3cur3!2026#H4rd3n1ng
💡

Tip: Skriv adgangskoden ned på et fysisk stykke papir og opbevar det sikkert (f.eks. i en pengeskab) – hvis du mister den, er dataene tabt for evigt.

3 Krypteringsindstillinger (avanceret)

Hvis du vælger "Noget andet" under installation, kan du manuelt opsætte LUKS med:

            Krypteringsalgoritme: AES-XTS (standard)
            Nøglestørrelse: 512 bit (256 bit AES)
            Hash-algoritme: SHA-512
            Iterationer: Minimum 1.000.000 (PBKDF2)

Disse indstillinger giver militær-grad sikkerhed mod brute-force angreb.

🔑

Efter installation – tilføj en ekstra nøgle:

Åbn terminalen og kør:

sudo cryptsetup luksAddKey /dev/sdaX

(Erstat /dev/sdaX med din krypterede partition, f.eks. /dev/sda5)

🧱

2. Firewall (UFW) – Trin-for-trin

UFW (Uncomplicated Firewall) er Linux Mints standard-firewall. Den er deaktiveret som standard, hvilket er et stort sikkerhedshul.

1 Installér og aktiver UFW

Åbn en terminal og kør følgende kommandoer:

            sudo apt update
            sudo apt install ufw -y
            sudo ufw default deny incoming
            sudo ufw default allow outgoing
            sudo ufw allow ssh  # Kun hvis du bruger SSH
            sudo ufw enable
⚠️

VIGTIGT: Hvis du aktiverer UFW over SSH, skal du tillade SSH før du aktiverer firewallen (sudo ufw allow ssh). Ellers mister du forbindelsen til serveren.

2 Tjek firewall-status

            sudo ufw status verbose

Outputtet skal vise:

            Status: active
            Logging: on (low)
            Default: deny (incoming), allow (outgoing), deny (routed)
            New profiles: skip

3 Tilføj specifikke regler (anbefalede)

HTTP/HTTPS (hvis du kører en webserver):

sudo ufw allow 80/tcp
            sudo ufw allow 443/tcp

Begræns SSH til specifikke IP'er:

sudo ufw allow from 192.168.1.100 to any port 22

Bloker al indgående trafik fra bestemte lande (med geoip):

sudo apt install geoip-bin -y
            sudo ufw deny from $(geoiplookup 1.2.3.4 | cut -d: -f2 | tr -d ' ')

Erstat 1.2.3.4 med en IP fra det land, du vil blokere.

📊

Overvåg UFW-logfiler:

sudo tail -f /var/log/ufw.log

Dette viser alle forsøg på uautoriseret adgang i realtid.

📦

3. AppArmor & Sandboxing

AppArmor giver dig mulighed for at tildele specifikke profiler til programmer, der begrænser, hvilke ressourcer de har adgang til. Dette er afgørende, hvis et program bliver kompromitteret.

1 Tjek AppArmor-status

            sudo aa-status

Dette viser alle aktive profiler og deres tilstand (enforced/complain).

2 Aktivér AppArmor for alle programmer

            sudo aa-enforce /etc/apparmor.d/*

3 Opret en skræddersyet profil til Firefox

Opret en specifik profil, der begrænser Firefox' adgang til systemet:

            sudo nano /etc/apparmor.d/usr.lib.firefox.firefox

Indsæt følgende:

            #include <tunables/global>
            /usr/lib/firefox/firefox {
              #include <abstractions/base>
              #include <abstractions/nameservice>
              #include <abstractions/fonts>
              #include <abstractions/X>
              
              # Tillad adgang til downloads
              owner @{HOME}/Downloads/ rw,
              owner @{HOME}/.cache/mozilla/ rw,
              owner @{HOME}/.mozilla/ rw,
              
              # Forbyde adgang til følsomme områder
              deny @{HOME}/.ssh/ rw,
              deny @{HOME}/.gnupg/ rw,
              deny @{HOME}/Documents/ rw,
            }

Genindlæs profilen:

sudo apparmor_parser -r /etc/apparmor.d/usr.lib.firefox.firefox

4 Sandboxing med Firejail

Firejail er et værktøj, der kører programmer i isolerede miljøer (sandboxes):

            sudo apt install firejail -y
            firejail firefox  # Kører Firefox i en sandbox

Opret en genvej, så Firefox altid kører i sandbox:

sudo ln -s /usr/bin/firejail /usr/local/bin/firefox
🌐

4. Browser-sikkerhed & DNS

Browseren er dit vindue til internettet – og den største angrebsflade. En kompromitteret browser kan give angribere adgang til hele systemet.

1 Hærd Firefox (trin-for-trin)

a. Installér uBlock Origin

Gå til uBlock Origin og klik på "Tilføj til Firefox".

b. Aktiver "Strict" Tracking Protection

  1. Klik på skjoldikonet i adresselinjen
  2. Vælg "Beskyttelsesindstillinger"
  3. Vælg "Strict" under Tracking Protection

c. Deaktivér WebRTC (forhindrer IP-lækage)

  1. Skriv about:config i adresselinjen
  2. Accepter risikoen
  3. Søg efter media.peerconnection.enabled
  4. Dobbeltklik for at sætte værdien til false

d. Aktivér DNS-over-HTTPS (DoH)

  1. Gå til Indstillinger → Generelt
  2. Rul ned til "Netværksindstillinger"
  3. Klik på "Indstillinger"
  4. Aktivér "Aktivér DNS-over-HTTPS"
  5. Vælg en udbyder:
    • Cloudflare: https://1.1.1.1/dns-query
    • Quad9: https://dns.quad9.net/dns-query
    • Mullvad: https://base.dns.mullvad.net/dns-query

2 System-wide DNS-kryptering

For at kryptere DNS for hele systemet (ikke kun browseren):

            sudo apt install systemd-resolved -y
            sudo systemctl enable systemd-resolved
            sudo systemctl start systemd-resolved

Opret en konfigurationsfil:

sudo nano /etc/systemd/resolved.conf

Indsæt:

            [Resolve]
            DNS=1.1.1.1#cloudflare-dns.com 9.9.9.9#dns.quad9.net
            DNSOverTLS=yes
            DNSSEC=yes
            Cache=yes

Genstart tjenesten:

sudo systemctl restart systemd-resolved
🔒

Undgå DNS-lækager: Brug DNS Leak Test til at verificere, at din DNS er krypteret.

🗑️

5. Sikker sletning (Shredding)

En almindelig sletning (papirkurv) fjerner kun referencen til filen – dataene forbliver på disken, indtil de overskrives. Dette gør det muligt at genskabe filer med specialværktøjer.

1 Grundlæggende shred-kommando

            shred -u -v -z filnavn.txt
  • -u: Sletter filen efter overskrivning
  • -v: Viser status (verbose)
  • -z: Overskriver med nuller til sidst (skjuler spor)

2 Overskriv flere gange for maksimal sikkerhed

            shred -v -n 10 -z -u hemmelig.pdf

-n 10 angiver, at filen overskrives 10 gange med tilfældig data (DOD 5220.22-M standard).

3 Slet en hel mappe sikkert

            find /sti/til/mappe -type f -exec shred -u -z {} \;
            rm -rf /sti/til/mappe

4 Slet en hel disk (ekstremt)

            sudo dd if=/dev/urandom of=/dev/sdX bs=1M status=progress
⚠️

ADVARSEL: Dette sletter ALT på disken – inklusiv operativsystemet. Brug kun, hvis du vil destruere disken permanent.

💡

SSD-bemærkning: På grund af "wear leveling" er shredding mindre effektivt på SSD'er. LUKS-kryptering er derfor dit primære værn mod datagendannelse på SSD'er.

🔄

6. Opdateringsstrategi

Et opdateret system er et sikkert system. Nyopdagede sårbarheder (zero-days) udnyttes ofte inden for få timer efter offentliggørelse.

1 Automatiske sikkerhedsopdateringer

Åbn Update Manager → Indstillinger → Automatisering:

  • Automatisk download af opdateringer (slå til)
  • Automatisk installation af sikkerhedsopdateringer (slå til)
  • Slet gamle kerner og afhængigheder automatisk (slå til)

2 Kommandolinje-opdateringer

            sudo apt update && sudo apt upgrade -y
            sudo apt autoremove -y
            sudo apt autoclean

Opret et cron-job, der kører disse kommandoer dagligt:

sudo crontab -e
            # Tilføj linjen:
            0 3 * * * apt update && apt upgrade -y && apt autoremove -y

3 Live Kernel Patching (Canonical Livepatch)

Undgå genstarter ved kritiske kerneopdateringer:

            sudo apt install canonical-livepatch -y
            sudo canonical-livepatch enable [TOKEN]

Du kan få et gratis token til personlig brug via Ubuntu Livepatch.

🔑

7. SSH-sikkerhed

SSH er standardprotokollen til fjernadministration. Uden korrekt konfiguration er den et yndet angrebsmål.

1 Deaktivér root-login

            sudo nano /etc/ssh/sshd_config

Find og ændr:

            PermitRootLogin no

2 Brug SSH-nøgler i stedet for adgangskode

Opret et SSH-nøglepar på din klientmaskine:

            ssh-keygen -t ed25519 -a 100 -C "din@email.dk"

Kopier den offentlige nøgle til serveren:

ssh-copy-id -i ~/.ssh/id_ed25519.pub bruger@server-ip

Deaktivér adgangskode-login:

sudo nano /etc/ssh/sshd_config
            # Sæt:
            PasswordAuthentication no

3 Skift SSH-port

Angribere scanner standardport 22. Skift til en anden port:

            sudo nano /etc/ssh/sshd_config
            # Sæt:
            Port 2222

Husk at opdatere din firewall:

sudo ufw allow 2222/tcp
            sudo ufw delete allow 22/tcp

4 Begræns SSH-brugere

            sudo nano /etc/ssh/sshd_config
            # Tilføj:
            AllowUsers brugernavn1 brugernavn2
💾

8. Kryptering af /tmp og SWAP

/tmp-mappen og swap-partitionen kan indeholde følsomme data i klartekst, selv når systemet er krypteret. Her er en løsning.

1 Krypter /tmp med RAM-disk (tmpfs)

Rediger /etc/fstab:

            sudo nano /etc/fstab

Tilføj linjen:

            tmpfs /tmp tmpfs defaults,noexec,nosuid,nodev,size=4G 0 0

Dette gemmer /tmp i RAM (forsvinder ved genstart) og forhindrer udførelse af kode.

2 Krypter swap-partitionen

Hvis du bruger en separat swap-partition, kan du kryptere den:

            sudo swapoff -a
            sudo cryptsetup luksFormat /dev/sdX  # Erstat med din swap-partition
            sudo cryptsetup luksOpen /dev/sdX swap
            sudo mkswap /dev/mapper/swap
            sudo swapon /dev/mapper/swap

Tilføj til /etc/crypttab:

sudo nano /etc/crypttab
            # Tilføj:
            swap /dev/sdX /dev/urandom swap
💡

Alternativ: Brug zram i stedet for fysisk swap – det komprimerer og krypterer data i RAM:

sudo apt install zram-config -y
🚫

9. Fail2ban og Logovervågning

Fail2ban scanner logfiler og blokerer IP-adresser, der viser mistænkelig adfærd (f.eks. gentagne mislykkede login-forsøg).

1 Installér Fail2ban

            sudo apt install fail2ban -y
            sudo systemctl enable fail2ban
            sudo systemctl start fail2ban

2 Konfigurer Fail2ban

            sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
            sudo nano /etc/fail2ban/jail.local

Find og ændr sektionen for SSH:

            [sshd]
            enabled = true
            port = ssh
            filter = sshd
            logpath = /var/log/auth.log
            maxretry = 3
            bantime = 3600  # Ban i 1 time
            findtime = 600   # 10 minutter

3 Overvåg Fail2ban

            sudo fail2ban-client status
            sudo fail2ban-client status sshd
            sudo tail -f /var/log/fail2ban.log

4 Logovervågning med Logwatch

Få en daglig e-mail med systemlogsammendrag:

            sudo apt install logwatch -y
            sudo logwatch --detail High --mailto din@email.dk --service All --range today

Tilføj til cron for daglig rapport:

sudo crontab -e
            # Tilføj:
            0 6 * * * /usr/sbin/logwatch --detail High --mailto din@email.dk --service All --range yesterday
💿

10. USB-sikkerhed

USB-enheder er en almindelig infektionsvektor for malware (f.eks. Rubber Ducky, BadUSB).

1 Deaktivér autorun

            sudo nano /etc/udisks2/udisks2.conf

Tilføj:

            [block]
            disable_automount = true

2 Brug USB Guardian

USB Guardian blokerer alle USB-enheder undtagen dem på en hvidliste:

            sudo apt install usbguard -y
            sudo systemctl enable usbguard
            sudo systemctl start usbguard
            sudo usbguard generate-policy > /etc/usbguard/rules.conf

3 Scan USB-enheder for malware

Brug ClamAV til at scanne USB-enheder, når de tilsluttes:

            sudo apt install clamav clamav-daemon -y
            sudo freshclam  # Opdater virusdefinitioner
            sudo clamscan -r /media/bruger/USB_NAVN/
🔑

11. Password Manager & 2FA

Genbrug af adgangskoder er en af de største sikkerhedsrisici. Brug en password manager til at generere og gemme unikke, komplekse adgangskoder.

1 Installér Bitwarden (anbefalet)

            sudo snap install bitwarden
            # Eller brug browser-udvidelsen

Alternativer: KeePassXC (offline) eller 1Password.

2 Opret en master-adgangskode

⚠️

Master-adgangskoden er nøglen til alle dine adgangskoder. Den skal være:

  • Minimum 20 tegn
  • Inkludere store/små bogstaver, tal og specialtegn
  • Unik – brug den aldrig andre steder

3 Aktivér 2FA på alle vigtige konti

Brug en 2FA-app som Google Authenticator eller Aegis (open source).

Installér Google Authenticator til SSH:

            sudo apt install libpam-google-authenticator -y
            google-authenticator

Følg guiden og gem backup-nøglerne sikkert.

4 Aktivér 2FA til SSH

            sudo nano /etc/pam.d/sshd
            # Tilføj øverst:
            auth required pam_google_authenticator.so

Rediger SSH-konfiguration:

sudo nano /etc/ssh/sshd_config
            # Tilføj:
            AuthenticationMethods publickey,password publickey,keyboard-interactive

Genstart SSH:

sudo systemctl restart ssh
📋

12. Audit & Hårdføring

Regelmæssige sikkerhedsaudits afslører sårbarheder, inden de bliver udnyttet.

1 Lynis – Sikkerhedsscanning

            sudo apt install lynis -y
            sudo lynis audit system

Gennemgå rapporten og ret eventuelle fundne problemer.

2 Rkhunter – Rootkit-detektion

            sudo apt install rkhunter -y
            sudo rkhunter --check --sk
            sudo rkhunter --propupd  # Opdater fil-hash-databasen

3 ClamAV – Virusscanning

            sudo apt install clamav clamav-daemon -y
            sudo freshclam
            sudo clamscan -r / --exclude-dir=/sys --exclude-dir=/proc --exclude-dir=/dev

Dette kan tage lang tid – scan kun kritiske mapper dagligt.

4 Kernel hardening med sysctl

            sudo nano /etc/sysctl.d/99-hardening.conf

Indsæt:

            # IP-spoofing beskyttelse
            net.ipv4.conf.all.rp_filter = 1
            net.ipv4.conf.default.rp_filter = 1
            
            # ICMP-redirects
            net.ipv4.conf.all.accept_redirects = 0
            net.ipv4.conf.default.accept_redirects = 0
            
            # Kernel ASLR
            kernel.randomize_va_space = 2
            
            # Forhindre core dumps for setuid-programmer
            fs.suid_dumpable = 0
            
            # TCP SYN-cookie beskyttelse (mod DOS-angreb)
            net.ipv4.tcp_syncookies = 1
            
            # Forhindre IP-forwarding
            net.ipv4.ip_forward = 0

Anvend ændringerne:

sudo sysctl -p /etc/sysctl.d/99-hardening.conf

Du er nu færdig! Dit Linux Mint-system er nu hærdet med:

  • ✔ Fuld diskkryptering (LUKS)
  • ✔ Aktiv firewall (UFW) med strenge regler
  • ✔ AppArmor og sandboxing
  • ✔ Hærdet browser og krypteret DNS
  • ✔ Sikker sletning (shredding)
  • ✔ Automatiske opdateringer
  • ✔ SSH-sikkerhed med 2FA
  • ✔ Krypteret /tmp og swap
  • ✔ Fail2ban og logovervågning
  • ✔ USB-beskyttelse
  • ✔ Password manager og 2FA
  • ✔ Regelmæssige audits

Næste skridt: Overvej at tilføje en VPN (f.eks. Mullvad eller ProtonVPN) for yderligere anonymitet og implementer regelmæssige backup-rutiner med kryptering.

📚 Yderligere ressourcer

🔒 OWASP

Open Web Application Security Project – bedste praksis for sikkerhed.

owasp.org →

📖 CIS Benchmarks

Center for Internet Security – detaljerede sikkerhedsstandarder.

cisecurity.org →

🛡️ EFF Surveillance Self-Defense

Electronic Frontier Foundation – guide til at beskytte dig mod overvågning.

ssd.eff.org →