Po úspěšné instalaci vašeho serveru Debian / Ubuntu je pro zvýšení bezpečnosti a funkčnosti serveru nezbytných několik konfiguračních kroků. V této příručce vás provedeme základními kroky při počátečním nastavení serveru serveru Debian 9 / Ubuntu 18.04. Tyto základní kroky posílí váš server a umožní bezproblémové provádění následných operací.
Přihlaste se jako uživatel root
Prvním krokem při nastavení serveru je přihlášení jako uživatel root. Nejprve však musíte mít IP adresu svého serveru a heslo nebo soukromý klíč pro ověření. Chcete-li se přihlásit, otevřete svůj terminál Linux a spusťte příkaz níže. Nezapomeňte nahradit IP adresu serveru svou IP adresou.
ssh user@ip-address
V této příručce používáme server Ubuntu 18.04 s veřejnou IP adresou 38.76.11.180
.
Pro přihlášení pomocí ssh přes terminál je příkaz
ssh [email protected]
Pokud se přihlašujete poprvé, budete požádáni o ověření pravosti serveru.
Napište „Ano“ a stiskněte Enter. Poté budete vyzváni k zadání hesla serveru. Zadejte správné heslo a stiskněte Enter.
Tím se dostanete do příkazového řádku serveru, jak je znázorněno níže
Skvělý! Nyní, když jsme se úspěšně přihlásili na náš server, přejděme k druhému kroku
Vytvořit nového uživatele
V zájmu osvědčených postupů zabezpečení se použití účtu root pro administrativní úlohy důrazně nedoporučuje. proč tomu tak je? Spuštění serveru jako root vás ponechává náchylné k neúmyslným a nákladným chybám, které mohou být pro váš server škodlivé. Můžete snadno udělat něco škodlivého pro váš systém, což může způsobit nevratné poškození vašeho systému.
Z tohoto důvodu vytvoříme nového uživatele bez oprávnění root a později mu udělíme administrátorská oprávnění. Tímto způsobem budete při každém pokusu o provedení úlohy na úrovni root vyzváni k zadání hesla. To vám dá nějaký čas na pauzu a přemýšlení o důsledcích pro provedení příkazu a zastavení se, pokud si všimnete drahé chyby při provádění příkazu.
Chcete-li vytvořit nového uživatele, spusťte
adduser user_name
Chystáme se přidat nového uživatele ‘james’
adduser james
Budete vyzváni k zadání hesla uživatele a několika dalších otázek. poskytnout potřebné informace
Perfektní! pro ověření vytvoření uživatele si prohlédněte /etc/passwd
a potvrďte existenci uživatele.
cat /etc/passwd
Ukázkový výstup
Poslední řádek výše zobrazuje informace o nově vytvořeném uživateli.
Udělte administrátorská práva novému uživateli
Nový uživatel má zatím běžná oprávnění účtu. Potřebujeme nastavit práva root pro našeho nově vytvořeného uživatele, aby mohl provádět administrativní úlohy přidáním sudo
před jakoukoli operací.
Abychom toho dosáhli, musíme přidat uživatele do sudo skupině, abyste se při provádění administrativních úloh nemuseli odhlašovat a přihlašovat jako root.
Syntaxe pro dosažení tohoto je
usermod -aG sudo user_name
V tomto případě bude příkaz pro udělení práv sudo uživateli „james“
usermod -aG sudo james
Nyní se můžete odhlásit a přihlásit s novým uživatelem pomocí příkazu, jak je uvedeno výše
ssh [email protected]
Po úspěšném přihlášení ověřením autenticity serveru a zadáním správného hesla můžete nyní provádět libovolné úlohy superuživatele tím, že před příkaz spustíte sudo
Chcete-li například aktualizovat systém pomocí účtu, spusťte příkaz níže
sudo apt update
Budete vyzváni k zadání hesla a po jeho zadání bude operace zahájena.
Nakonfigurujte základní bránu firewall
Servery Debian a Ubuntu používají bránu firewall UFW k povolení nebo zakázání provozu do nebo ze serveru.
Chcete-li zobrazit existující připojení ve firewallu, spusťte
sudo ufw app list
Podle očekávání se zobrazí OpenSSH, protože aktuálně používáme ssh pro připojení k serveru
Výstup
Chcete-li povolit připojení přes bránu firewall, proveďte následující příkaz.
ufw allow service_name
Chcete-li například povolit připojení SSH pro nový server, spusťte:
sudo ufw allow OpenSSH
Výstup
Chcete-li otevřít konkrétní port na bráně firewall, použijte syntaxi
sudo ufw allow port/protocol
Například
sudo ufw allow 80/tcp
Výstup
Chcete-li zkontrolovat stav brány firewall, spusťte
sudo ufw status
Výstup
Chcete-li povolit bránu firewall, spusťte následující příkaz.
sudo ufw enable
Po zobrazení výzvy zadejte yes
a stisknutím ‚ENTER‘ aktivujte bránu firewall a proveďte změny
Chcete-li znovu zobrazit stav brány firewall a stávající připojení/otevřené porty, spusťte příkaz
Povolte pro nového uživatele ověřování bez hesla
V tuto chvíli se k našemu serveru připojujeme pomocí protokolu SSH s autentizací heslem. Pro nejlepší bezpečnostní postupy se důrazně doporučuje nastavení klíčů SSH bez ověřování heslem. Klíče SSH přicházejí v páru:veřejný klíč a soukromý klíč.
Soukromý klíč je umístěn na klientském počítači, zatímco veřejný klíč je umístěn na serveru, ke kterému se připojujeme. Jakmile je nastaveno ověřování pomocí klíče SSH, mělo by být ověřování heslem zakázáno. Tím je zajištěno, že se k serveru, na kterém je umístěn veřejný klíč, může připojit pouze uživatel se soukromým klíčem.
Krok 1. Vygenerujte veřejný klíč
Chcete-li vygenerovat pár klíčů, spusťte níže uvedený příkaz na klientském počítači
ssh-keygen
Získáte výstup, jak je znázorněno
Stiskněte ENTER pro uložení páru klíčů .ssh/
podadresář ve vašem domovském adresáři. Případně můžete zadat svou vlastní cestu.
Dále budete vyzváni k zadání bezpečného přístupového hesla, které se důrazně doporučuje pro přidání další ochranné vrstvy. Pokud se chcete obejít bez přístupové fráze, stiskněte ENTER.
Nakonec získáte následující výstup
V tomto okamžiku máte soukromý i veřejný klíč. Byly uloženy v .ssh
adresář ve vašem domovském adresáři. V tomto případě je cesta /root.ssh
cat /root/.ssh
Výstup
id_rsa
je soukromý klíč
id_rsa_pub
je veřejný klíč
Krok 2. Zkopírujte veřejný klíč
Pro zkopírování veřejného klíče na server použijeme ssh-copy-id
příkaz.
Syntaxe bude
ssh-copy-id user@remote-server
V tomto případě provedeme
ssh-copy-id [email protected]
Získáte výstup podobný tomu níže
id_rsa.pub
klíč, který je veřejným klíčem, byl zkopírován na server.
Nyní, když se pokusíte přihlásit pomocí syntaxe ssh user@server-ip
, nebudete vyzváni k zadání hesla!
Zakázat ověřování heslem
Někdo se stále může přihlásit k našemu serveru, pokud získal heslo. Abychom toto riziko eliminovali, musíme deaktivovat ověřování heslem SSH.
Abychom toho dosáhli, otevřeme konfigurační soubor SSH
sudo vim /etc/ssh/sshd_config
Vyhledejte sekci označenou jako PasswordAuthentication
.
Zakomentujte řádek a nastavte hodnotu na ne
Uložit a ukončit.
Chcete-li implementovat změny, restartujte démona SSH
sudo systemctl restart ssh
Nyní můžete spustit nový terminál a zkusit se přihlásit pomocí hesla a zjistit, zda bylo zakázáno ověřování heslem.
Poslední slovo
V tomto okamžiku byste měli mít přístup k serveru pomocí ověřování založeného na klíči SSH nakonfigurovaném na vašem vzdáleném serveru a nepoužívat heslo SSH.
Váš server je nyní plně nastaven a má solidní bezpečnostní základ. Zajistěte, aby byl váš veřejný klíč v bezpečí. Pryč od zvědavých očí 😀