Miért fontos a szerver hardening?
Egy frissen telepített Linux szerver – legyen az Ubuntu, Debian vagy RHEL – számos olyan alapértelmezett beállítással érkezik, amelyek kényelmesek a fejlesztők számára, de kockázatot jelentenek éles környezetben. A hardening folyamata ezeket az alapértelmezéseket biztonságosabb konfigurációra cseréli, és csökkenti a potenciális támadási felületet.
SSH konfiguráció biztonságossá tétele
Az első és legfontosabb lépés az SSH szerver megfelelő konfigurációja. Alapszabályként érvényes:
- A root közvetlen SSH-bejelentkezés tiltása (
PermitRootLogin no) - Jelszavas hitelesítés letiltása, SSH kulcspár kizárólagos használata (
PasswordAuthentication no) - Az SSH portjának megváltoztatása az alapértelmezett 22-esről egy magasabb portszámra
- A
AllowUsersdirektíva használata az engedélyezett felhasználók korlátozásához
Tűzfal beállítása UFW vagy firewalld segítségével
A hálózati szintű védelem alapja egy megfelelően konfigurált tűzfal. Ubuntu-alapú rendszereken az UFW (Uncomplicated Firewall) a legegyszerűbb megoldás: csak a szükséges portokat engedélyezzük (pl. 80, 443, az SSH portját), minden más forgalmat tiltsunk le alapértelmezetten. RHEL/CentOS rendszereken a firewalld az ajánlott eszköz, amellyel zónák segítségével szabályozhatjuk a hálózati hozzáférést.
Rendszeres automatikus frissítések beállítása
Az egyik leggyakoribb biztonsági hiba, hogy a szerveren futó szoftverek elavulttá válnak, mert nincs rendszeres frissítési folyamat. Az unattended-upgrades csomag Debian/Ubuntu rendszereken automatikusan telepíti a biztonsági frissítéseket, míg RHEL-alapú rendszereken a dnf-automatic látja el ugyanezt a feladatot. Ezeket érdemes úgy konfigurálni, hogy legalább a biztonsági frissítések automatikusan telepítésre kerüljenek.
Fail2ban: brute force támadások ellen
A Fail2ban egy egyszerű, de hatékony eszköz, amely figyeli a rendszernaplókat, és automatikusan tiltja az IP-címeket, amelyek meghatározott számban sikertelen bejelentkezési kísérletet hajtanak végre. SSH, Apache, Nginx és számos más szolgáltatáshoz elérhető előre konfigurált szűrők, így telepítés után minimális konfigurálással azonnal védelmet nyújt.
Auditálás és naplózás
A biztonsági eseményeket csak akkor tudjuk elemezni, ha megfelelő naplózás van beállítva. Az auditd démon részletes naplókat készít a rendszer kritikus eseményeiről: fájlmódosítások, privilégiumváltások, hálózati kapcsolatok. Ezeket a naplókat érdemes egy központi log aggregátorba (pl. Graylog, Elasticsearch) továbbítani, hogy egy esetleges kompromittálás esetén teljes képet kapjunk az eseményekről.
Összefoglalás
A Linux szerver hardening nem egyszeri feladat, hanem folyamatos tevékenység. Az alaplépések elvégzése után rendszeres biztonsági auditálással, a CIS Benchmark ajánlásainak követésével és a szoftverek naprakészen tartásával megteremthetjük a biztonságos üzemeltetés alapjait.