GNU/Linux >> Znalost Linux >  >> Linux

7 kroků k zabezpečení serveru Linux

Tento základ vám představí základní zabezpečení serveru Linux. I když se zaměřuje na Debian/Ubuntu, vše zde uvedené můžete aplikovat na jiné distribuce Linuxu. Také vám doporučuji, abyste si tento materiál prozkoumali a případně jej rozšířili.

1. Aktualizujte svůj server

První věc, kterou byste měli udělat pro zabezpečení svého serveru, je aktualizovat místní úložiště a upgradovat operační systém a nainstalované aplikace použitím nejnovějších oprav.

Na Ubuntu a Debianu:

$ sudo apt update && sudo apt upgrade -y

Na Fedoře, CentOS nebo RHEL:

$ sudo dnf upgrade

2. Vytvořte nový privilegovaný uživatelský účet

Dále vytvořte nový uživatelský účet. Nikdy byste se neměli přihlašovat k serveru jako root . Místo toho si vytvořte svůj vlastní účet („ "), dejte to sudo práva a použijte jej k přihlášení na váš server.

Začněte vytvořením nového uživatele:

$ adduser <username>

Dejte svému novému uživatelskému účtu sudo práva připojením (-a ) sudo skupina (-G ) k členství ve skupině uživatele:

$ usermod -a -G sudo <username>

3. Nahrajte svůj klíč SSH

K přihlášení k novému serveru budete chtít použít klíč SSH. Svůj předem vygenerovaný klíč SSH můžete nahrát na svůj nový server pomocí ssh-copy-id příkaz:

$ ssh-copy-id <username>@ip_address

Nyní se můžete přihlásit ke svému novému serveru, aniž byste museli zadávat heslo.

4. Zabezpečené SSH

Dále proveďte tyto tři změny:

  • Zakázat ověřování pomocí hesla SSH
  • Omezit root od vzdáleného přihlášení
  • Omezit přístup k IPv4 nebo IPv6

Otevřete /etc/ssh/sshd_config pomocí svého textového editoru a zajistěte tyto řádky:

PasswordAuthentication yes
PermitRootLogin yes

vypadat takto:

PasswordAuthentication no
PermitRootLogin no

Dále omezte službu SSH na IPv4 nebo IPv6 úpravou AddressFamily volba. Chcete-li jej změnit tak, aby používal pouze IPv4 (což by mělo být pro většinu lidí v pořádku), proveďte tuto změnu:

AddressFamily inet

Restartujte službu SSH, abyste povolili změny. Pamatujte, že před restartováním serveru SSH je dobré mít dvě aktivní připojení k serveru. Díky tomuto zvláštnímu připojení můžete opravit cokoli, pokud by se restartování pokazilo.

Na Ubuntu:

$ sudo service sshd restart

Na Fedoře nebo CentOS nebo na čemkoli pomocí Systemd:

$ sudo systemctl restart sshd

5. Povolte bránu firewall

Nyní musíte nainstalovat bránu firewall, povolit ji a nakonfigurovat pouze tak, aby umožňovala síťový provoz, který určíte. Uncomplicated Firewall (UFW) je snadno použitelné rozhraní pro iptables což značně zjednodušuje proces konfigurace firewallu.

UFW můžete nainstalovat pomocí:

$ sudo apt install ufw

Ve výchozím nastavení UFW zakazuje všechna příchozí připojení a povoluje všechna odchozí připojení. To znamená, že jakákoli aplikace na vašem serveru se může připojit k internetu, ale cokoli, co se pokouší dostat na váš server, se nemůže připojit.

Nejprve se ujistěte, že se můžete přihlásit povolením přístupu k SSH, HTTP a HTTPS:

$ sudo ufw allow ssh
$ sudo ufw allow http
$ sudo ufw allow https

Poté povolte UFW:

$ sudo ufw enable

Můžete vidět, jaké služby jsou povoleny a zakázány pomocí:

$ sudo ufw status

Pokud někdy budete chtít deaktivovat UFW, můžete tak učinit zadáním:

$ sudo ufw disable

Můžete také použít firewall-cmd, který je již nainstalován a integrován do některých distribucí.

6. Nainstalujte Fail2ban

Fail2ban je aplikace, která zkoumá protokoly serveru a hledá opakované nebo automatické útoky. Pokud jsou nějaké nalezeny, změní firewall tak, aby blokoval útočníkovu IP adresu buď trvale, nebo po určitou dobu.

Fail2ban můžete nainstalovat zadáním:

$ sudo apt install fail2ban -y

Poté zkopírujte přiložený konfigurační soubor:

$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

A restartujte Fail2ban:

$ sudo service fail2ban restart

To je všechno. Software bude nepřetržitě zkoumat soubory protokolu a hledat útoky. Po chvíli aplikace vytvoří docela seznam zakázaných IP adres. Tento seznam můžete zobrazit tak, že požádáte o aktuální stav služby SSH pomocí:

$ sudo fail2ban-client status ssh

7. Odeberte nepoužívané síťové služby

Téměř všechny serverové operační systémy Linux jsou dodávány s několika povolenými službami orientovanými na síť. Většinu z nich si budete chtít ponechat. Existuje však několik, které možná budete chtít odstranit. Všechny spuštěné síťové služby můžete zobrazit pomocí ss příkaz:

$ sudo ss -atpu

Výstup z ss se bude lišit v závislosti na vašem operačním systému. Toto je příklad toho, co můžete vidět. Ukazuje, že služby SSH (sshd) a Ngnix (nginx) naslouchají a jsou připraveny k připojení:

tcp LISTEN 0 128 *:http *:* users:(("nginx",pid=22563,fd=7))
tcp LISTEN 0 128 *:ssh *:* users:(("sshd",pid=685,fd=3))

Jak postupujete při odstraňování nepoužívané služby („ ") se bude lišit v závislosti na vašem operačním systému a správci balíčků, který používá.

Chcete-li odebrat nepoužívanou službu na Debian/Ubuntu:

$ sudo apt purge <service_name>

Chcete-li odebrat nepoužívanou službu na Red Hat/CentOS:

$ sudo yum remove <service_name>

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

Spusťte ss -atup znovu, abyste ověřili, že nepoužívané služby již nejsou nainstalovány a spuštěny.

Poslední myšlenky

Tento tutoriál představuje naprosté minimum potřebné k posílení linuxového serveru. Další vrstvy zabezpečení mohou a měly by být povoleny v závislosti na tom, jak se server používá. Tyto vrstvy mohou zahrnovat věci jako konfigurace jednotlivých aplikací, software pro detekci narušení a povolení řízení přístupu, např. dvoufaktorové ověřování.


Linux
  1. Nakonfigurujte svůj server OpenVPN v systému Linux

  2. Jak nainstalovat webový server Nginx na Linux

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

  1. Nainstalujte OpenVPN do svého počítače se systémem Linux

  2. 9 věcí, které musíte udělat během prvních 10 minut na serveru Linux

  3. Jak monitorovat váš Linux server?

  1. Monitorujte svůj Linux server pomocí Checkmk

  2. Jak používat OpenSSH k připojení k vašemu linuxovému serveru

  3. Zablokujte IP adresu na serveru Linux