Zabezpečení je základním faktorem pro jakýkoli server, který spustíte do produkčního prostředí. Nejnovější verze Rocky Linux 8 přichází s robustními bezpečnostními funkcemi. Ne všechny jsou však ve výchozím nastavení aktivní nebo správně nakonfigurované, takže nová instalace je vždy zranitelná vůči hackům a útokům narušení.
V této příručce se podíváme na několik důležitých úkolů, které je třeba provést na serveru pro počáteční nastavení a základní posílení serveru.
Předpoklady
- Nový server Rocky Linux 8 na cloudové platformě Atlantic.Net
- Heslo uživatele root nakonfigurované na vašem serveru
Krok 1 – Aktualizujte svůj server
Před spuštěním se přihlaste ke svému serveru Rocky Linux 8 přes SSH nebo konzoli VNC umístěnou zde:https://cloud.atlantic.net/
Po přihlášení budete muset na svůj server nainstalovat nejnovější bezpečnostní záplaty a aktualizace. Spusťte následující příkaz a aktualizujte je.
aktualizace dnf -y
Servery Atlantic.Net jsou nastaveny jako minimální instalace, aby se zabránilo instalaci zbytečných balíčků a jejich ponechání bez použití. Některé základní softwarové balíčky můžete nainstalovat spuštěním následujícího příkazu:
dnf install wget git curl bind-utils tree net-tools -y
Krok 2 – Změňte výchozí heslo uživatele root
Když spustíte nový server, vaše servery se automaticky nastaví na bezpečná hesla. Doporučuje se však změnit heslo uživatele root každých 60–90 dní, aby bylo zajištěno, že zůstane bezpečné. Měli byste vytvořit heslo uživatele root s minimálně 8 znaky, včetně malých písmen, velkých písmen a čísel.
Heslo uživatele root můžete změnit pomocí následujícího příkazu:
kořen hesla
Krok 3 – Vytvořte nového uživatele s oprávněními sudo
Nejprve vytvořte nového uživatele pomocí následujícího příkazu:
adduser user1
Dále nastavte heslo user1 pomocí následujícího příkazu:
passwd user1
Po vytvoření nového uživatele budete muset tohoto uživatele přidat do skupiny sudo wheel. V Rocky Linuxu 8, jakmile je přidáte do skupiny sudo wheel, jsou jim automaticky přiřazena oprávnění sudo/root.
Spusťte následující příkaz a přidejte uživatele do skupiny sudo wheel.
usermod -aG wheel user1
Jakmile vytvoříte uživatele s oprávněními sudo/root, přihlaste se k user1 pomocí následujícího příkazu:
su - uživatel1
Jakmile jste přihlášeni, spusťte následující příkaz pomocí sudo:
aktualizace sudo dnf -y
Budete požádáni o zadání uživatelského hesla pro aktualizaci systému.
Tím potvrdíte, že váš uživatel sudo pracuje podle očekávání.
Krok 4 – Zakažte přihlášení uživatele root přes SSH
Již jsme vytvořili administrátora s oprávněními sudo/root k provádění všech úkolů. Nemusíte udržovat uživatele root dostupného a zranitelného přes SSH na vašem serveru, takže budete muset zakázat přihlášení root přes SSH.
Upravte hlavní konfigurační soubor SSH pomocí následujícího příkazu:
sudo nano /etc/ssh/sshd_config
Najděte následující řádek:
PermitRootLogin ano
Změňte jej na následující řádek:
PermitRootLogin no
Uložte a zavřete soubor a poté restartujte službu SSH, aby se změny projevily:
systemctl restart sshd
Krok 5 – Změňte výchozí port SSH
Chcete-li změnit port SSH, upravte hlavní konfigurační soubor SSH:
sudo nano /etc/ssh/sshd_config
Najděte následující řádek:
#Port 22
Změňte jej na následující řádky:
Port 2020
Uložte a zavřete soubor a poté restartujte službu SSH, aby se změny projevily:
systemctl restart sshd
Nyní se můžete vzdáleně přihlásit ke svému serveru Atlantic pomocí SSH pomocí následujícího příkazu:
ssh [email protected] -p 2020
Krok 6 – Konfigurace brány firewall
firewall-cmd --state
Měli byste vidět, že firewall neběží:
neběží
Doporučuje se povolit firewall a povolit potřebné porty pro externí přístup.
Nejprve povolte službu firewalld pomocí následujícího příkazu:
systemctl start firewalldsystemctl enable firewalld
Dále povolte port SSH 2020 přes bránu firewall pomocí následujícího příkazu:
sudo firewall-cmd --permanent --add-port=2020/tcp
Poté znovu načtěte službu firewall, aby se změny projevily:
sudo firewall-cmd --reload
Nyní můžete ověřit přidané porty pomocí následujícího příkazu:
sudo firewall-cmd --list-ports
Měli byste vidět následující výstup:
2020/tcp
Pokud máte na svém serveru nainstalovaný a spuštěný nějaký webový server, možná budete muset povolit službu HTTP a HTTPS přes bránu firewall, abyste k nim měli přístup přes internet.
sudo firewall-cmd --permanent --add-service=httpsudo firewall-cmd --permanent --add-service=https
Chcete-li službám POP3, IMAP a SMTP povolit externí přístup, spusťte následující příkaz:
sudo firewall-cmd --permanent --add-service=pop3ssudo firewall-cmd --permanent --add-service=imapssudo firewall-cmd --permanent --add-service=smtp
Krok 7 – Nainstalujte NTP pro synchronizaci času
Také se doporučuje nainstalovat NTP server pro synchronizaci času a data počítačů přes síť, aby byly přesné a aktuální.
Nejprve nainstalujte server NTP pomocí následujícího příkazu:
instalace sudo dnf chrony -y
Jakmile je služba NTP nainstalována, spusťte ji a povolte její spuštění při restartu systému:
sudo systemctl spustit chronydsudo systemctl povolit chronyd
Nyní je váš server NTP nainstalován a bude neustále aktualizovat čas serveru ze serveru NTP.
Krok 8 – Zakažte IPv6
Pokud IPv6 nepoužíváte, doporučujeme jej z bezpečnostních důvodů deaktivovat.
Nejprve zkontrolujte, zda je ve vaší instalaci Rocky Linux 8 povolen protokol IPv6 pomocí následujícího příkazu:
ip a | grep inet6
Pokud je povolen protokol IPv6, měli byste vidět následující řádky:
inet6 ::1/128 rozsah hostitel inet6 fe80::200:d8ff:fe62:817/64 odkaz rozsahu inet6 fe80::200:aff:fe62:817/64 odkaz rozsahu
Pro zakázání IPv6 budete muset vytvořit nový konfigurační soubor:
sudo nano /etc/sysctl.d/70-ipv6.conf
Přidejte následující řádky:
net.ipv6.conf.all.disable_ipv6 =1net.ipv6.conf.default.disable_ipv6 =1
Uložte a zavřete soubor a poté znovu načtěte konfigurační soubor pomocí následujícího příkazu:
sudo sysctl --load /etc/sysctl.d/70-ipv6.conf
Měli byste vidět následující výstup:
net.ipv6.conf.all.disable_ipv6 =1net.ipv6.conf.default.disable_ipv6 =1
Chcete-li ověřit, zda je protokol IPv6 zakázán, spusťte následující příkaz:
ip a | grep inet6
Pokud příkaz nic nevrací, potvrdili jste, že protokol IPv6 byl na všech vašich síťových rozhraních zakázán.
Krok 9 – Vytvořte odkládací prostor
Swap je místo na disku, které se používá, když je množství fyzické paměti RAM plné. Když vašemu serveru dojde RAM, všechny neaktivní stránky se přesunou z RAM do odkládacího prostoru.
Když spustíte novou instanci na Atlantic.Net, nevytvoří se odkládací oddíl. Po spuštění nové instance budete muset vytvořit odkládací prostor ručně.
Obecně by odkládací prostor měl být polovina vaší stávající RAM. Pokud máte 1 GB skutečné paměti RAM, budete muset vytvořit soubor o velikosti 512 MB.
Nejprve vytvořte odkládací prostor (512 MB) pomocí následujícího příkazu:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288
Výstup:
524288+0 záznamů v524288+0 záznamů z536870912 bajtů (537 MB, 512 MiB) zkopírováno, 10,3523 s, 51,9 MB/s
Velikost bloku můžete vypočítat pomocí vzorce 1024 x 512 MB =524288.
Po vytvoření prostoru Swap jej naformátujte pomocí následujícího příkazu:
sudo mkswap /swapfile
Výstup:
mkswap:/swapfile:nezabezpečená oprávnění 0644, doporučeno 0600. Nastavení swapspace verze 1, velikost =512 MiB (536866816 bajtů) bez štítku, UUID=8981408a-549d-47aa-a829d-47aa-a829d-7Dále nastavte správná oprávnění pro /swapfile pomocí následujícího příkazu:
sudo chown root:root /swapfilesudo chmod 0600 /swapfileDále aktivujte Swap space pomocí následujícího příkazu:
sudo swapon /swapfileDále ověřte prostor Swap pomocí následujícího příkazu:
swapon -sVýstup:
Název souboru Typ Velikost Použitý soubor priority/swapfile 524284 0 -2Dále budete muset přidat položku Swap file do /etc/fstab, aby byla aktivní i po restartu.
nano /etc/fstabPřidejte následující řádek:
/swapfile swap swap výchozí 0 0Uložte a zavřete soubor a poté ověřte prostor Swap pomocí následujícího příkazu:
free -mMěli byste vidět následující výstup:
celkem využitý bezplatný sdílený buff/mezipaměť:1817 263 100 68 1452 1329Swap:511 0 511Závěr
Ve výše uvedené příručce jsme vysvětlili některé základní kroky k zabezpečení serveru Rocky Linux 8. Nyní můžete přistoupit k hostování jakékoli aplikace v zabezpečeném prostředí – vyzkoušejte to na svém hostingovém účtu VPS od Atlantic.Net!
Nainstalujte LAMP Stack na Rocky Linux 8 Nejoblíbenější nástroje pro penetrační testování v roce 2022Linux