Kontrolní seznam zabezpečení linuxových serverů
15 min čtení - 8. května 2026

Kontrolní seznam krok za krokem pro zabezpečení linuxového serveru. Zahrnuje SSH, firewally, záplatování, oprávnění k souborům, SELinux/AppArmor a auditní protokolování
Kontrolní seznam pro zabezpečení linuxových serverů
Výchozí instalace Linuxu není bezpečná instalace Linuxu. Nesprávná konfigurace, jako je otevřený přístup SSH k rootu, slabé firewally a neopravený software, jsou příčinou většiny narušení bezpečnosti. Nové servery čelí automatickým skenům během několika minut po připojení k internetu, proto by mělo být jejich zabezpečení provedeno jako první.
Tento kontrolní seznam pokrývá základní kroky: uzamčení SSH, konfiguraci firewallů, instalaci oprav, zpřísnění oprávnění k souborům, povolení povinných kontrol přístupu a nastavení protokolování auditu.
Zabezpečte SSH
SSH je váš primární přístupový bod a první věc, kterou útočníci zkoumají. Výchozí konfigurace (ověřování heslem, přihlášení jako root, port 22) je přesně to, co automatizované skenery hledají.
Vygenerujte pár klíčů Ed25519, který nabízí lepší zabezpečení a výkon než RSA:
ssh-keygen -t ed25519Jakmile bude přihlášení pomocí klíče fungovat, proveďte aktualizaci /etc/ssh/sshd_config:
PasswordAuthentication no
ChallengeResponseAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
AllowUsers yourname
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2Změňte výchozí port z 22 na něco méně zřejmého. To nezastaví odhodlaného útočníka, ale výrazně omezí rušivé automatické skenování.
Změny vždy otestujte z druhého terminálu před ukončením aktuální relace. Spusťte sudo sshd -t pro kontrolu syntaktických chyb a poté systemctl reload sshd pro použití bez přerušení aktivních připojení.
Přidejte dvoufaktorové ověřování
2FA znamená, že útočník potřebuje jak váš SSH klíč, tak fyzický přístup k vašemu zařízení. Nainstalujte modul Google Authenticator PAM:
sudo apt install libpam-google-authenticator # Debian/Ubuntu
sudo dnf install google-authenticator # RHEL/FedoraSpusťte google-authenticator pro každého uživatele, abyste vygenerovali tajný klíč a kódy pro obnovení. Uložte kódy pro obnovení offline.
Přidejte tento řádek do /etc/pam.d/sshd:
auth required pam_google_authenticator.soPoté aktualizujte /etc/ssh/sshd_config:
KbdInteractiveAuthentication yes
UsePAM yes
AuthenticationMethods publickey,keyboard-interactiveBěhem testování nechte otevřenou aktivní relaci. Kódy TOTP závisí na přesném systémovém čase, proto se ujistěte, že běží NTP.
Nakonfigurujte firewally a Fail2Ban
Spusťte firewall na úrovni hostitele, i když je váš server za síťovým firewallem. Princip je jednoduchý: ve výchozím nastavení odepřete veškerý příchozí provoz a poté povolte pouze to, co potřebujete.
Pro Ubuntu/Debian (UFW):
ufw default deny incoming
ufw default allow outgoing
ufw limit ssh
ufw enablePro RHEL/Rocky/AlmaLinux (Firewalld):
firewall-cmd --set-default-zone=public
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=https
firewall-cmd --reloadZabezpečte síťový stack jádra přidáním těchto položek do /etc/sysctl.conf:
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1Nainstalujte Fail2Ban
Fail2Ban monitoruje pokusy o přihlášení a po opakovaných neúspěších blokuje IP adresy. Vytvořte /etc/fail2ban/jail.local (neupravujte jail.conf přímo, aktualizace jej přepíšou) a nakonfigurujte jej tak, aby blokoval IP adresy na jednu hodinu po třech neúspěšných pokusech během 10 minut. Nastavte správný backend pro váš firewall (banaction = ufw nebo banaction = nftables).
Služby auditu a odstranění zastaralých protokolů
Zkontrolujte, co naslouchá pomocí ss -tlnp a co běží pomocí systemctl list-units --type=service --state=running. Deaktivujte vše, co nepotřebujete: Bluetooth, CUPS, avahi-daemon, rpcbind.
Odstraňte zastaralé protokoly, které přenášejí data v otevřeném textu:
| Zastaralý protokol | Port(y) | Bezpečná alternativa |
|---|---|---|
| Telnet | 23 | SSH |
| RSH / Rlogin | 512, 513, 514 | SSH |
| FTP | 21 | SFTP / FTPS |
| TFTP | 69 | SFTP / SCP |
| NIS | Variabilní | LDAP / Kerberos |
V Debianu/Ubuntu: sudo apt-get --purge remove xinetd nis tftpd telnetd rsh-server. Na systémech založených na RHEL: yum erase xinetd ypserv tftp-server telnet-server rsh-server. Ověřte odstranění pomocí ss -tulpn.
Opravy a automatické aktualizace
Aktualizace systému je nejrychlejší způsob, jak odstranit známé bezpečnostní mezery. Spusťte aktualizace ihned po nasazení:
apt update && apt upgrade -y # Debian/Ubuntu
dnf update -y # RHEL/RockyPoté automatizujte bezpečnostní opravy. V systému Debian/Ubuntu nainstalujte unattended-upgrades a nakonfigurujte jej tak, aby aplikoval pouze bezpečnostní opravy. V RHEL/Rocky nainstalujte dnf-automatic a nastavte upgrade_type = security v /etc/dnf/automatic.conf.
Nastavte e-mailová oznámení o výsledcích aktualizací. Zakažte automatické restartování na produkčních serverech (Automatic-Reboot = false), aby k restartům docházelo během plánovaných údržbových oken. Pro prostředí s vysokou dostupností zvažte živé opravy pomocí Canonical Livepatch (Ubuntu) nebo kpatch (RHEL).
Zabezpečení souborových systémů a oprávnění
Nejprve zkontrolujte binární soubory SUID a SGID. Tyto soubory se spouštějí s vyššími oprávněními a jsou hlavním cílem útoků:
find / -xdev \( -perm -4000 -o -perm -2000 \) -type f -lsZpřísněte oprávnění u kritických souborů: /etc/shadow by mělo být 600, /etc/passwd by mělo být 644, /etc/ssh/sshd_config by mělo být 600. Nastavte globální umask hodnotu 027 v /etc/profile , aby se zabránilo tomu, že nové soubory budou čitelné pro všechny.
Vyhledejte a opravte soubory s oprávněním pro zápis pro všechny pomocí find / -xdev -type f -perm -0002 -ls. U adresářů, které musí zůstat zapisovatelné pro všechny (jako /tmp), použijte sticky bit: chmod 1777 /tmp.
Možnosti bezpečného připojení
Upravte /etc/fstab , abyste omezili, co se může dít na kritických oddílech:
| Možnosti | Možnosti připojení | Účel |
|---|---|---|
/tmp | nodev, nosuid, noexec | Zabraňuje spuštění malwaru v oblasti s oprávněním pro zápis pro všechny |
/var/tmp | nodev, nosuid, noexec | Stejná ochrana jako u /tmp |
/dev/shm | nodev, nosuid, noexec | Zabezpečuje sdílenou paměť |
/home | nodev, nosuid | Blokuje binární soubory setuid a uzly zařízení |
/var/log | nodev, nosuid, noexec | Chrání integritu protokolů |
Změny otestujte pomocí mount -o remount před restartem, abyste předešli problémům při spouštění.
Povolte povinné řízení přístupu
SELinux a AppArmor přidávají na úrovni jádra omezení toho, co mohou procesy dělat. Použijte to, co je součástí vaší distribuce: SELinux pro RHEL/CentOS/Fedora, AppArmor pro Ubuntu/Debian/SUSE. Přepínání mezi nimi způsobuje problémy s kompatibilitou.
SELinux: Zkontrolujte stav pomocí getenforce. Spusťte v režimu permissive (setenforce 0) po dobu alespoň dvou týdnů, abyste zachytili chování pracovního zatížení, aniž byste něco narušili. Sledujte porušení pomocí ausearch -m avc -ts recent. Použijte audit2why k diagnostice blokování a audit2allow -M [module_name] k vytvoření modulů zásad. Jakmile budou protokoly čisté, přepněte do vynucovacího režimu pomocí setenforce 1, poté to nastavte jako trvalé v /etc/selinux/config.
AppArmor: Zkontrolujte aktivní profily pomocí aa-status. Nainstalujte apparmor-utils pro příkazy správy. Spusťte profily v režimu upozornění pomocí aa-complain, poté přejděte do vynucovacího režimu pomocí aa-enforce , jakmile si budete jisti. Použijte aa-genprof k vytvoření profilů pro vlastní aplikace.
Nastavení protokolování auditů a monitorování
Bez protokolování nezanechávají incidenty žádné stopy. Nainstalujte auditd:
sudo apt-get install auditd audispd-pluginsPřidejte sledování souborového systému pro kritické soubory:
-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identitySledujte veškeré provádění příkazů na úrovni root:
-a always,exit -F arch=b64 -S execve -F euid=0 -k root_commandsNačtěte pravidla pomocí augenrules --load a přidejte -e 2 na konec souboru s pravidly, aby byla konfigurace chráněna proti neoprávněným zásahům (změny vyžadují restart).
Sledování integrity souborů pomocí AIDE
AIDE detekuje neoprávněné změny souborů porovnáním aktuálního stavu se známou správnou základnou. Nainstalujte jej, inicializujte databázi pomocí aideinita přesuňte výsledný soubor do /var/lib/aide/aide.db.gz. Nastavte denní cron úlohu pro spuštění aide --check a odesílání výsledků e-mailem správcům.
Centralizujte protokoly
Místní protokoly jsou k ničemu, pokud je útočník s rootovým přístupem smaže. Přesměrujte protokoly na vzdálený server v reálném čase pomocí rsyslogu s TLS šifrováním. Přidejte do /etc/rsyslog.conf:
*.* @@remote-host:514Set LogLevel VERBOSE ve vaší konfiguraci SSH, aby protokoly obsahovaly otisky klíčů pro každé úspěšné přihlášení. Pro produkční prostředí spravující více serverů poskytují nástroje jako Wazuh nebo OSSEC detekci narušení na úrovni hostitele s centralizovanou analýzou protokolů.
Průběžná údržba
Zabezpečení není jednorázová záležitost. Konfigurace se mění, objevují se nové zranitelnosti a personální změny zanechávají po sobě opuštěné účty.
Týdně: Projděte si protokoly Fail2Ban, zkontrolujte neúspěšné aktualizace a ověřte zálohy.
Měsíčně: Prověřte uživatelské účty a oprávnění, zkontrolujte spuštěné služby, proveďte úplnou kontrolu pomocí Lynis nebo OpenSCAP.
Čtvrtletně: Obměňujte přihlašovací údaje, aktualizujte pravidla firewallu, testujte obnovu po havárii.
Používejte nástroje typu „infrastruktura jako kód“ (infrastructure-as-code), jako je Ansible s rolemi pro zabezpečení dev-sec.io, abyste zajistili konzistentní konfigurace ve všech svých zařízeních a zabránili odchylkám mezi audity.
Dedikované servery FDC vám poskytují plný root přístup a úplnou kontrolu nad vaší bezpečnostní infrastrukturou. Prozkoumejte možnosti dedikovaných serverů a vytvořte si platformu, kde máte kontrolu nad každou vrstvou.

Máte už dost pomalého nasazování nebo omezení šířky pásma? Společnost FDC Servers nabízí okamžitý vyhrazený výkon, globální dosah a flexibilní plány vytvořené pro libovolný rozsah.
Aktualizujte nyní
Průvodce nastavením systému Prometheus a node_exporter
Nainstalujte Prometheus a node_exporter, nakonfigurujte cíle scrape, nastavte služby systemd a zabezpečte svůj monitorovací stack. Krok za krokem pro Linux.
15 min čtení - 29. května 2026
XDP a eBPF pro zpracování paketů v systému Linux
14 min čtení - 27. května 2026

Máte dotazy nebo potřebujete vlastní řešení?
Flexibilní možnosti
Globální dosah
Okamžité nasazení
Flexibilní možnosti
Globální dosah
Okamžité nasazení