GNU/Linux >> Znalost Linux >  >> Linux

Nastavení serveru Ubuntu – doporučené postupy zabezpečení

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čí 😀


Linux
  1. Nastavte server Urbackup na Ubuntu 20.04

  2. Doporučené postupy zabezpečení serveru Windows

  3. Osvědčené postupy zabezpečení Wordpress v systému Linux

  1. Nejlepší postupy zabezpečení OpenSSH

  2. Nejlepší postupy zabezpečení serveru Linux

  3. Jak nainstalovat server PostgreSQL na Ubuntu 18.04

  1. Doporučené postupy DNS pro zabezpečení a výkon

  2. 10 doporučených postupů zabezpečení databáze

  3. Nejlepší postupy pro server Nagios?