Checklista för härdning av Linux-server
15 min läsning - 8 maj 2026

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 härdning av Linux-server
En standardinstallation av Linux är inte en säker Linux-installation. Felkonfigurationer som öppen root SSH-åtkomst, svaga brandväggar och ouppdaterad programvara står för majoriteten av intrången. Nya servrar utsätts för automatiserade skanningar inom några minuter efter att de har kopplats upp, så härdning bör ske före allt annat.
Den här checklistan omfattar de viktigaste stegen: låsa SSH, konfigurera brandväggar, patcha, skärpa filbehörigheter, aktivera obligatoriska åtkomstkontroller och konfigurera granskningsloggning.
Lås ner SSH
SSH är din primära åtkomstpunkt och det första som angripare undersöker. Standardkonfigurationen (lösenord auth, root-inloggning, port 22) är exakt vad automatiserade skannrar letar efter.
Generera ett Ed25519-nyckelpar, som erbjuder bättre säkerhet och prestanda än RSA:
ssh-keygen -t ed25519När nyckelbaserad inloggning fungerar uppdaterar du /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 bruset från automatiska skanningar avsevärt.
Testa alltid ändringar från en andra terminal innan du stänger din nuvarande session. Kör sudo sshd -t för att kontrollera syntaxfel, sedan systemctl reload sshd för att tillämpa utan att släppa 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 PAM-modulen för Google Authenticator:
sudo apt install libpam-google-authenticator # Debian/Ubuntu
sudo dnf install google-authenticator # RHEL/FedoraKö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 den här raden i /etc/pam.d/sshd:
auth required pam_google_authenticator.soUppdatera sedan /etc/ssh/sshd_config:
KbdInteractiveAuthentication yes
UsePAM yes
AuthenticationMethods publickey,keyboard-interactiveHå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 bara det du behöver.
För Ubuntu/Debian (UFW):
ufw default deny incoming
ufw default allow outgoing
ufw limit ssh
ufw enableFö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 --reloadHärda kärnans nätverksstack genom att lägga till dessa i /etc/sysctl.conf:
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1Installera Fail2Ban
Fail2Ban övervakar inloggningsförsök och bannar IP-adresser efter upprepade misslyckanden. Skapa /etc/fail2ban/jail.local (redigera inte jail.conf direkt, uppdateringar skriver över den) och konfigurera den så att IP-adresser förbjuds 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).
Granska tjä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 som du inte behöver: Bluetooth, CUPS, avahi-daemon, rpcbind.
Ta bort äldre protokoll som överför data i klartext:
| Legacy-protokoll | Port(ar) | Säkert alternativ |
|---|---|---|
| Telnet | 23 | SSH |
| RSH / Rlogin | 512, 513, 514 | SSH |
| FTP | 21 | SFTP / FTPS |
| TFTP | 69 | SFTP / SCP |
| NIS | Variabel | LDAP / 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.
Patch och automatisera uppdateringar
Uppdatering av systemet är det snabbaste sättet att täppa till kända säkerhetsluckor. Kör uppdateringar omedelbart efter driftsättning:
apt update && apt upgrade -y # Debian/Ubuntu
dnf update -y # RHEL/RockyAutomatisera sedan säkerhetspatchar. På Debian / Ubuntu, installera obevakade uppgraderingar och konfigurera den för att endast tillämpa säkerhetsuppdateringar. På RHEL/Rocky, installera dnf-automatic och ställa in upgrade_type = säkerhet i /etc/dnf/automatic.conf.
Ställ in e-postmeddelanden för uppdateringsresultat. Inaktivera automatiska omstarter på produktionsservrar(Automatic-Reboot = false) så att omstart sker under planerade underhållsfönster. För miljöer med hög upptid bör du överväga live-patchning med Canonical Live patch (Ubuntu) eller kpatch (RHEL).
Hårdare filsystem och behörigheter
Granska SUID- och SGID-binärfiler först. Dessa filer körs med förhöjda privilegier och är primära mål för exploatering:
find / -xdev \( -perm -4000 -o -perm -2000 \) -type f -lsDra åt behörigheterna för kritiska filer: /etc/shadow bör vara 600, /etc/passwd bör vara 644, /etc/ssh/sshd_config bör vara 600. Ange en global umask på 027 i /etc/profile för att förhindra att nya filer blir läsbara för hela världen.
Hitta och fixa filer som är skrivbara i världen med find / -xdev -type f -perm -0002 -ls. För kataloger som måste förbli skrivbara i världen (som /tmp), använd sticky bit: chmod 1777 /tmp.
Alternativ för säker montering
Redigera /etc/fstab för att begränsa vad som kan hända på kritiska partitioner:
| Partition | Alternativ för montering | Syfte |
|---|---|---|
/tmp | nodev, nosuid, noexec | Förhindrar exekvering av skadlig kod i ett område som kan skrivas över hela världen |
/var/tmp | nodev, nosuid, noexec | Samma skydd som /tmp |
/dev/shm | nodev, nosuid, noexec | Säkrar delat minne |
/home | nodev, nosuid | Blockerar binära filer och enhetsnoder med setuid |
/var/log | nodev, nosuid, noexec | Skyddar loggens integritet |
Testa ändringar med mount -o remount före omstart för att undvika startproblem.
Aktivera obligatoriska åtkomstkontroller
SELinux och AppArmor lägger till begränsningar på kärnnivå för vad processer kan göra. Använd det som din distribution levereras med: 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 permissivt läge(setenforce 0) i minst två veckor för att fånga arbetsbelastningsbeteende utan att bryta något. Övervaka överträdelser med ausearch -m avc -ts recent. Använd audit2why för att diagnostisera block och audit2allow -M [modulnamn] för att skapa policymoduler. När loggarna är rena, byt till verkställighet 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 verkställighetsläge med aa-enforce när du är säker. Använd aa-genprof för att bygga profiler för anpassade applikationer.
Konfigurera revisionsloggning och övervakning
Utan loggning lämnar incidenter inga spår. Installera auditd:
sudo apt-get install auditd audispd-pluginsLägg till filsystemövervakning för kritiska filer:
-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identitySpåra alla kommandon som utförs på rotnivå:
-a always,exit -F arch=b64 -S execve -F euid=0 -k root_commandsLadda regler med augenrules --load och lägg till -e 2 i slutet av din regelfil för att göra konfigurationen manipuleringssäker (ändringar kräver en omstart).
Övervakning av filintegritet med AIDE
AIDE upptäcker obehöriga filändringar genom att jämföra det aktuella tillståndet med en känd god baslinje. Installera det, initiera databasen med aideinit och 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 e-posta resultaten 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 i /etc/rsyslog.conf:
*.* @@remote-host:514Ställ in 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 tillhandahåller verktyg som Wazuh eller OSSEC värdbaserad intrångsdetektering med centraliserad logganalys.
Löpande underhåll
Härdning är inte en engångsuppgift. Konfigurationer förändras, nya sårbarheter dyker upp och personalförändringar gör att konton blir föräldralösa.
Varje vecka: Granska Fail2Ban-loggar, leta efter misslyckade uppdateringar, verifiera säkerhetskopior.
Varje månad: Granska användarkonton och behörigheter, granska tjänster som körs, kör en fullständig skanning med Lynis eller OpenSCAP.
Kvartalsvis: Byt ut inloggningsuppgifter, uppdatera brandväggsregler, testa katastrofåterställning.
Använd infrastruktur-som-kod-verktyg som Ansible med dev-sec.io-härdningsroller för att genomdriva konsekventa konfigurationer i hela din flotta och förhindra drift mellan revisioner.
FDC:s dedikerade servrar ger dig full root-åtkomst och fullständig kontroll över din säkerhetsstack. Utforska dedikerade serveralternativ för att bygga på en plattform där du kontrollerar varje lager.

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
Checklista för härdning av Linux-server
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
15 min läsning - 8 maj 2026
iperf3 Handledning: Testa nätverkshastighet på Linux & Windows
10 min läsning - 7 maj 2026

Har du frågor eller behöver du en anpassad lösning?
Flexibla alternativ
Global räckvidd
Omedelbar driftsättning
Flexibla alternativ
Global räckvidd
Omedelbar driftsättning