Kontrolní seznam zabezpečení linuxových serverů

15 min čtení - 8. května 2026

hero section cover
Obsah
  • Kontrolní seznam zabezpečení linuxových serverů
  • Uzamčení SSH
  • Konfigurace firewallů a Fail2Ban
  • Záplaty a automatizované aktualizace
  • Zpřísnění souborových systémů a oprávnění
  • Povolte povinné řízení přístupu
  • Nastavení protokolování a monitorování auditů
  • Průběžná údržba
Sdílet

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 zabezpečení linuxových serverů

Výchozí instalace systému Linux není bezpečnou instalací systému Linux. Většinu narušení představují chybné konfigurace, jako je otevřený kořenový přístup SSH, slabé brány firewall a nezáplatovaný software. Nové servery čelí automatickému skenování během několika minut po uvedení do provozu, proto by k hardeningu mělo dojít dříve než k čemukoli jinému.

Tento kontrolní seznam zahrnuje základní kroky: uzamčení SSH, konfiguraci firewallů, záplatování, zpřísnění oprávnění k souborům, povolení povinných kontrol přístupu a nastavení protokolování auditů.

Uzamčení SSH

SSH je váš primární přístupový bod a první věc, kterou útočníci prověřují. Výchozí konfigurace (autentizace heslem, přihlášení jako root, port 22) je přesně to, co automatické skenery hledají.

Vygenerujte pár klíčů Ed25519, který nabízí lepší zabezpečení a výkon než RSA:

ssh-keygen -t ed25519

Jakmile přihlašování pomocí klíče funguje, aktualizujte soubor /etc/ssh/sshd_config:

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

Změňte výchozí port z 22 na méně nápadný. Odhodlaného útočníka to nezastaví, ale výrazně to sníží šum automatického skenování.

Změny vždy otestujte z druhého terminálu před ukončením aktuální relace. Spusťte příkaz sudo sshd -t, abyste zkontrolovali, zda nedošlo k chybám v syntaxi, a poté příkaz systemctl reload sshd, který se použije bez přerušení aktivních připojení.

Přidání dvoufaktorového ověřování

2FA znamená, že útočník potřebuje jak váš klíč SSH, 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/Fedora

Spusťte Google-authenticator pro každého uživatele a vygenerujte tajný klíč a kódy pro obnovení. Kódy pro obnovení uložte offline.

Přidejte tento řádek do souboru /etc/pam.d/sshd:

auth required pam_google_authenticator.so

Poté aktualizujte soubor /etc/ssh/sshd_config:

KbdInteractiveAuthentication yes
UsePAM yes
AuthenticationMethods publickey,keyboard-interactive

Během testování mějte otevřenou aktivní relaci. Kódy TOTP závisí na přesném systémovém čase, proto se ujistěte, že je spuštěn NTP.

Konfigurace firewallů a Fail2Ban

Provozujte hostitelskou bránu firewall, i když se váš server nachází za síťovou bránou firewall. Princip je jednoduchý: ve výchozím nastavení zakažte veškerý příchozí provoz a pak povolte jen to, co potřebujete.

Pro Ubuntu/Debian (UFW):

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

Pro 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íťový zásobník jádra můžete posílit přidáním těchto údajů do souboru /etc/sysctl.conf:

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

Nainstalujte Fail2Ban

Fail2Ban monitoruje pokusy o přihlášení a po opakovaném selhání zakáže IP adresy. Vytvořte soubor /etc/fail2ban/jail.local (neupravujte přímo soubor jail.conf, aktualizace jej přepíší) a nakonfigurujte jej tak, aby po třech neúspěšných pokusech během 10 minut zakázal IP na jednu hodinu. Nastavte správný backend pro váš firewall(banaction = ufw nebo banaction = nftables).

Kontrola služeb a odstranění starších protokolů

Zkontrolujte, co naslouchá, pomocí příkazu ss -tlnp a co běží, pomocí příkazu systemctl list-units --type=service --state=running. Zakažte vše, co nepotřebujete: Bluetooth, CUPS, avahi-daemon, rpcbind.

Odstraňte starší protokoly, které přenášejí data v otevřeném textu:

Legacy ProtocolPort(y)Bezpečná alternativa
Telnet23SSH
RSH / Rlogin512, 513, 514SSH
FTP21SFTP / FTPS
TFTP69SFTP / SCP
NISProměnná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.

Záplaty a automatizované aktualizace

Aktualizace systému je nejrychlejší způsob, jak odstranit známé bezpečnostní mezery. Spouštějte aktualizace ihned po zajištění:

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

Poté automatizujte bezpečnostní záplaty. V systémech Debian/Ubuntu nainstalujte bezobslužnou aktualizaci a nakonfigurujte ji tak, aby používala pouze bezpečnostní záplaty. V systémech RHEL/Rocky nainstalujte dnf-automatic a v souboru /etc/dnf/automatic.conf nastavte upgrade_type = security.

Nastavte e-mailová oznámení o výsledcích aktualizací. Zakažte automatické restarty na produkčních serverech(Automatic-Reboot = false), aby k restartům docházelo během oken plánované údržby. Pro prostředí s vysokou dobou provozu zvažte živé záplatování pomocí Canonical Livepatch (Ubuntu) nebo kpatch (RHEL).

Zpřísnění souborových systémů a oprávnění

Nejprve proveďte audit binárních souborů SUID a SGID. Tyto soubory jsou spouštěny se zvýšenými právy a jsou hlavním cílem zneužití:

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

Zpří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. V souboru /etc/profile nastavte globální umask 027, abyste zabránili tomu, že nové soubory budou čitelné pro celý svět.

Najděte a opravte soubory zapisovatelné světem pomocí příkazu find / -xdev -type f -perm -0002 -ls. Pro adresáře, které musí zůstat světově zapisovatelné (jako /tmp), použijte příkaz sticky bit: chmod 1777 /tmp.

Možnosti bezpečného připojení

Upravte /etc/fstab a omezte, co se může dít na kritických oddílech:

OddílyMount OptionsÚčel
/tmpnodev, nosuid, noexecZabraňuje spuštění škodlivého softwaru v oblasti zapisovatelné do světa
/var/tmpnodev, nosuid, noexecStejná ochrana jako v /tmp
/dev/shmnodev, nosuid, noexecZabezpečuje sdílenou paměť
/homenodev, nosuidBlokuje setuid binární soubory a uzly zařízení
/var/lognodev, nosuid, noexecChrání integritu protokolu

Před restartem otestujte změny pomocí příkazu mount -o remount, abyste předešli problémům při spouštění systému.

Povolte povinné řízení přístupu

Systémy SELinux a AppArmor přidávají na úrovni jádra omezení toho, co mohou procesy dělat. Použijte to, které 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 permisivním režimu(setenforce 0) alespoň na dva týdny, abyste zachytili chování pracovní zátěže, aniž byste cokoli porušili. Porušení monitorujte pomocí ausearch -m avc -ts recent. Pro diagnostiku bloků použijte audit2why a pro vytvoření modulů zásad audit2allow -M [název_modulu]. Jakmile jsou protokoly čisté, přepněte na vynucování pomocí setenforce 1 a pak jej v /etc/selinux/config proveďte natrvalo.

AppArmor: Zkontrolujte aktivní profily pomocí aa-status. Nainstalujte apparmor-utils pro příkazy správy. Spusťte profily v režimu stížností pomocí aa-complain, a jakmile si budete jisti, přejděte do režimu vynucení pomocí aa-enforce. Pro vytvoření profilů pro vlastní aplikace použijte aa-genprof.

Nastavení protokolování a monitorování auditů

Bez protokolování nezanechávají incidenty žádnou stopu. Nainstalujte si auditd:

sudo apt-get install auditd audispd-plugins

Přidejte hlídání kritických souborů v souborovém systému:

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

Sledujte všechna spuštění příkazů na úrovni roota:

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

Nahrajte pravidla pomocí augenrules --load a na konec souboru s pravidly přidejte -e 2, aby byl konfigurátor odolný proti manipulaci (změny vyžadují restart).

Sledování integrity souborů pomocí AIDE

AIDE detekuje neautorizované změny souborů porovnáním aktuálního stavu se známou dobrou výchozí úrovní. Nainstalujte jej, inicializujte databázi pomocí příkazu aideinit a výsledný soubor přesuňte do souboru /var/lib/aide/aide.db.gz. Nastavte denní úlohu cronu, která bude spouštět funkci aide --check a posílat výsledky e-mailem správcům.

Centralizace protokolů

Místní protokoly jsou k ničemu, pokud je útočník s přístupem roota smaže. Přeposílejte protokoly na vzdálený server v reálném čase pomocí rsyslog s šifrováním TLS. Přidejte do souboru /etc/rsyslog.conf:

*.* @@remote-host:514

V konfiguraci SSH nastavte LogLevel VERBOSE, 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 základě hostitele s centralizovanou analýzou protokolů.

Průběžná údržba

Hardening není jednorázový úkol. Konfigurace se mění, objevují se nové zranitelnosti a po personálních změnách zůstávají osiřelé účty.

Týdně: Zkontrolujte protokoly Fail2Ban, zkontrolujte neúspěšné aktualizace, ověřte zálohy.

Měsíčně: Proveďte audit uživatelských účtů a oprávnění, zkontrolujte spuštěné služby, proveďte úplnou kontrolu pomocí Lynis nebo OpenSCAP.

Čtvrtletně: Rotace pověření, aktualizace pravidel brány firewall, testování obnovení po havárii.

Pomocí nástrojů pro infrastrukturu jako kód, jako je Ansible s rolemi pro zpřísnění dev-sec.io, vynucujte konzistentní konfigurace napříč flotilou a zabraňte odklonu mezi audity.

Vyhrazené servery FDC vám poskytují plný přístup root a úplnou kontrolu nad vaším bezpečnostním zásobníkem. Prozkoumejte možnosti dedikovaných serverů a budujte na platformě, kde máte pod kontrolou každou vrstvu.

background image
Brzdí váš server váš růst?

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í

Blog

Tento týden byly představeny

Další články
Kontrolní seznam zabezpečení linuxových serverů

Kontrolní seznam zabezpečení linuxových serverů

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í

15 min čtení - 8. května 2026

výukový program iperf3: Testování rychlosti sítě v systémech Linux a Windows

10 min čtení - 7. května 2026

Další články
background image

Máte dotazy nebo potřebujete vlastní řešení?

icon

Flexibilní možnosti

icon

Globální dosah

icon

Okamžité nasazení

icon

Flexibilní možnosti

icon

Globální dosah

icon

Okamžité nasazení