Hærdning af Linux Mint
En dybdegående, praktisk guide til at sikre dit Linux Mint-system mod trusler – fra installation til daglig drift.
📑 Indholdsfortegnelse
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
- Klik på skjoldikonet i adresselinjen
- Vælg "Beskyttelsesindstillinger"
- Vælg "Strict" under Tracking Protection
c. Deaktivér WebRTC (forhindrer IP-lækage)
- Skriv
about:configi adresselinjen - Accepter risikoen
- Søg efter
media.peerconnection.enabled - Dobbeltklik for at sætte værdien til false
d. Aktivér DNS-over-HTTPS (DoH)
- Gå til Indstillinger → Generelt
- Rul ned til "Netværksindstillinger"
- Klik på "Indstillinger"
- Aktivér "Aktivér DNS-over-HTTPS"
- 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
- Cloudflare:
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
🛡️ EFF Surveillance Self-Defense
Electronic Frontier Foundation – guide til at beskytte dig mod overvågning.
ssd.eff.org →