Checklista för härdning av Linux-server

15 min läsning - 8 maj 2026

hero section cover
Innehållsförteckning
  • Checklista för säkerhetsåtgärder för Linux-servrar
  • Lås SSH
  • Konfigurera brandväggar och Fail2Ban
  • Patcha och automatisera uppdateringar
  • Säkerhetsanpassa filsystem och behörigheter
  • Aktivera obligatoriska åtkomstkontroller
  • Konfigurera loggning och övervakning
  • Löpande underhåll
Dela

Steg-för-steg-checklista för att härda en Linux-server. Täcker SSH, brandväggar, patchning, filbehörigheter, SELinux/AppArmor och revisionsloggning

Checklista för säkerhetsåtgärder för Linux-servrar

En standardinstallation av Linux är inte en säker Linux-installation. Felkonfigurationer som öppen root-åtkomst via SSH, svaga brandväggar och opatchad programvara står för majoriteten av säkerhetsöverträdelserna. Nya servrar utsätts för automatiska skanningar inom några minuter efter att de har gått online, så säkerhetsåtgärder bör vidtas före allt annat.

Denna checklista täcker de viktigaste stegen: låsa SSH, konfigurera brandväggar, installera uppdateringar, skärpa filbehörigheter, aktivera obligatoriska åtkomstkontroller och ställa in loggning av granskningar.

Lås SSH

SSH är din primära åtkomstpunkt och det första som angripare undersöker. Standardkonfigurationen (lösenordsautentisering, root-inloggning, port 22) är precis vad automatiserade skannrar letar efter.

Skapa ett Ed25519-nyckelpar, som erbjuder bättre säkerhet och prestanda än RSA:

ssh-keygen -t ed25519

När nyckelbaserad inloggning fungerar, uppdatera /etc/ssh/sshd_config:

PasswordAuthentication no
ChallengeResponseAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
AllowUsers yourname
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2

Ändra standardporten från 22 till något mindre uppenbart. Detta kommer inte att stoppa en beslutsam angripare, men det minskar störningarna från automatiserade skanningar avsevärt.

Testa alltid ändringar från en andra terminal innan du stänger din aktuella session. Kör sudo sshd -t för att kontrollera om det finns syntaxfel, och sedan systemctl reload sshd för att tillämpa utan att avbryta aktiva anslutningar.

Lägg till tvåfaktorsautentisering

2FA innebär att en angripare behöver både din SSH-nyckel och fysisk åtkomst till din enhet. Installera Google Authenticator PAM-modulen:

sudo apt install libpam-google-authenticator   # Debian/Ubuntu
sudo dnf install google-authenticator           # RHEL/Fedora

Kör google-authenticator för varje användare för att generera en hemlig nyckel och återställningskoder. Förvara återställningskoderna offline.

Lägg till denna rad i /etc/pam.d/sshd:

auth required pam_google_authenticator.so

Uppdatera sedan /etc/ssh/sshd_config:

KbdInteractiveAuthentication yes
UsePAM yes
AuthenticationMethods publickey,keyboard-interactive

Håll en aktiv session öppen under testningen. TOTP-koder är beroende av korrekt systemtid, så se till att NTP körs.

Konfigurera brandväggar och Fail2Ban

Kör en värdbaserad brandvägg även om din server sitter bakom en nätverksbrandvägg. Principen är enkel: neka all inkommande trafik som standard, och tillåt sedan endast det du behöver.

För Ubuntu/Debian (UFW):

ufw default deny incoming
ufw default allow outgoing
ufw limit ssh
ufw enable

För RHEL/Rocky/AlmaLinux (Firewalld):

firewall-cmd --set-default-zone=public
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Säkerhetsförstärk kärnans nätverksstack genom att lägga till följande i /etc/sysctl.conf:

net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1

Installera Fail2Ban

Fail2Ban övervakar inloggningsförsök och blockerar IP-adresser efter upprepade misslyckanden. Skapa /etc/fail2ban/jail.local (redigera inte jail.conf direkt, uppdateringar kommer att skriva över den) och konfigurera den så att den blockerar IP-adresser i en timme efter tre misslyckade försök inom 10 minuter. Ställ in rätt backend för din brandvägg (banaction = ufw eller banaction = nftables).

granskningstjänster och ta bort äldre protokoll

Kontrollera vad som lyssnar med ss -tlnp och vad som körs med systemctl list-units --type=service --state=running. Inaktivera allt du inte behöver: Bluetooth, CUPS, avahi-daemon, rpcbind.

Ta bort äldre protokoll som överför data i klartext:

Gammalt protokollPort(ar)Säker alternativ
Telnet23SSH
RSH / Rlogin512, 513, 514SSH
FTP21SFTP / FTPS
TFTP69SFTP / SCP
NISVariabelLDAP / Kerberos

På Debian/Ubuntu: sudo apt-get --purge remove xinetd nis tftpd telnetd rsh-server. På RHEL-baserade system: yum erase xinetd ypserv tftp-server telnet-server rsh-server. Verifiera borttagningen med ss -tulpn.

Patcha och automatisera uppdateringar

Att uppdatera ditt system är det snabbaste sättet att täppa till kända säkerhetsluckor. Kör uppdateringar omedelbart efter installation:

apt update && apt upgrade -y      # Debian/Ubuntu
dnf update -y                      # RHEL/Rocky

Automatisera sedan säkerhetsuppdateringar. På Debian/Ubuntu installerar du unattended-upgrades och konfigurera det så att endast säkerhetsuppdateringar installeras. På RHEL/Rocky, installera dnf-automatic och ställ in upgrade_type = security i /etc/dnf/automatic.conf.

Ställ in e-postaviseringar för uppdateringsresultat. Inaktivera automatiska omstarter på produktionsservrar (Automatic-Reboot = false) så att omstarter sker under planerade underhållsfönster. För miljöer med hög drifttid bör du överväga live-patchning med Canonical Livepatch (Ubuntu) eller kpatch (RHEL).

Säkerhetsanpassa filsystem och behörigheter

Granska först SUID- och SGID-binärfiler. Dessa filer körs med utökade behörigheter och är primära mål för utnyttjande:

find / -xdev \( -perm -4000 -o -perm -2000 \) -type f -ls

Skärp behörigheterna för kritiska filer: /etc/shadow bör 600, /etc/passwd bör 644, /etc/ssh/sshd_config bör vara 600. Ställ in en global umask027 i /etc/profile för att förhindra att nya filer blir läsbara för alla.

Hitta och åtgärda filer som är skrivbara för alla med find / -xdev -type f -perm -0002 -ls. För kataloger som måste förbli skrivbara för alla (som /tmp), använd sticky-biten: chmod 1777 /tmp.

Säkra monteringsalternativ

Redigera /etc/fstab för att begränsa vad som kan hända på kritiska partitioner:

PartitionsMonteringsalternativSyfte
/tmpnodev, nosuid, noexecFörhindrar att skadlig kod körs i ett område som är skrivbart för alla
/var/tmpnodev, nosuid, noexecSamma skydd som /tmp
/dev/shmnodev, nosuid, noexecSäkrar delat minne
/homenodev, nosuidBlockerar setuid-binärer och enhetsnoder
/var/lognodev, nosuid, noexecSkyddar loggarnas integritet

Testa ändringar med mount -o remount innan du startar om för att undvika startproblem.

Aktivera obligatoriska åtkomstkontroller

SELinux och AppArmor lägger till begränsningar på kernelnivå för vad processer kan göra. Använd det som medföljer din distribution: SELinux för RHEL/CentOS/Fedora, AppArmor för Ubuntu/Debian/SUSE. Att växla mellan dem orsakar kompatibilitetsproblem.

SELinux: Kontrollera status med getenforce. Starta i tillåtande läge (setenforce 0) i minst två veckor för att få en bild av arbetsbelastningens beteende utan att störa något. Övervaka överträdelser med ausearch -m avc -ts recent. Använd audit2why för att diagnostisera blockeringar och audit2allow -M [module_name] för att skapa policy-moduler. När loggarna är rena, växla till strikt läge med setenforce 1, och gör det sedan permanent i /etc/selinux/config.

AppArmor: Kontrollera aktiva profiler med aa-status. Installera apparmor-utils för hanteringskommandon. Starta profiler i klagomålsläge med aa-complain, och gå sedan över till tillämpningsläge med aa-enforce när du känner dig säker. Använd aa-genprof för att skapa profiler för anpassade applikationer.

Konfigurera loggning och övervakning

Utan loggning lämnar incidenter inga spår. Installera auditd:

sudo apt-get install auditd audispd-plugins

Lägg till filsystemövervakning för kritiska filer:

-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identity

Spåra all kommandokörning på rotnivå:

-a always,exit -F arch=b64 -S execve -F euid=0 -k root_commands

Ladda regler med augenrules --load och lägg till -e 2 i slutet av din regel-fil för att göra konfigurationen manipuleringssäker (ändringar kräver omstart).

Övervakning av filintegritet med AIDE

AIDE upptäcker obehöriga filändringar genom att jämföra det aktuella tillståndet mot en känd, korrekt baslinje. Installera det, initialisera databasen med aideinitoch flytta den resulterande filen till /var/lib/aide/aide.db.gz. Ställ in ett dagligt cron-jobb för att köra aide --check och skicka resultaten via e-post till administratörer.

Centralisera loggar

Lokala loggar är värdelösa om en angripare med root-åtkomst raderar dem. Vidarebefordra loggar till en fjärrserver i realtid med hjälp av rsyslog med TLS-kryptering. Lägg till /etc/rsyslog.conf:

*.* @@remote-host:514

Set LogLevel VERBOSE i din SSH-konfiguration så att loggarna innehåller nyckelfingeravtryck för varje lyckad inloggning. För produktionsmiljöer som hanterar flera servrar erbjuder verktyg som Wazuh eller OSSEC värdbaserad intrångsdetektering med centraliserad logganalys.

Löpande underhåll

Säkerhetsåtgärder är inte en engångsuppgift. Konfigurationer förändras, nya sårbarheter uppstår och personalförändringar lämnar efter sig övergivna konton.

Varje vecka: Granska Fail2Ban-loggar, kontrollera om det finns misslyckade uppdateringar och verifiera säkerhetskopior.

Månadsvis: Granska användarkonton och behörigheter, granska aktiva tjänster, kör en fullständig skanning med Lynis eller OpenSCAP.

Varje kvartal: Rotera inloggningsuppgifter, uppdatera brandväggsregler, testa katastrofåterställning.

Använd verktyg för infrastruktur som kod, såsom Ansible med dev-sec.io-härdningsroller, för att säkerställa enhetliga konfigurationer i hela din miljö och förhindra avvikelser mellan granskningarna.

FDC:s dedikerade servrar ger dig fullständig root-åtkomst och full kontroll över din säkerhetsstack. Utforska alternativen för dedikerade servrar för att bygga på en plattform där du kontrollerar varje lager.

background image
Håller din server tillbaka din tillväxt?

Trött på långsamma driftsättningar eller bandbreddsbegränsningar? FDC Servers erbjuder omedelbar dedikerad kraft, global räckvidd och flexibla planer som är byggda för alla skalor.

Uppgradera nu

Blogg

Utvalda denna vecka

Fler artiklar
Linux minneshantering: Swap, OOM Killer & Cgroups

Linux minneshantering: Swap, OOM Killer & Cgroups

Hur Linux swap, OOM-dödaren och cgroups fungerar tillsammans - med konfigurationsexempel för databaser, webbservrar och VPS-värdar med flera hyresgäster.

12 min läsning - 31 maj 2026

Installationsguide för Prometheus och node_exporter

15 min läsning - 29 maj 2026

Fler artiklar
background image

Har du frågor eller behöver du en anpassad lösning?

icon

Flexibla alternativ

icon

Global räckvidd

icon

Omedelbar driftsättning

icon

Flexibla alternativ

icon

Global räckvidd

icon

Omedelbar driftsättning