GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak používat klepání portů k zabezpečení služby SSH v Linuxu

Port Knocking je šikovná technika řízení přístupu k portu tím, že umožňuje pouze legitimním uživatelům přístup ke službě běžící na serveru. Funguje to tak, že když je proveden správný sled pokusů o připojení, firewall rád otevře port, který byl uzavřen.

Logika klepání portů spočívá v ochraně vašeho systému Linux před automatickými skenery portů, které hledají otevřené porty. V této příručce prozkoumáme, jak můžete nainstalovat klepání portů a jak jej nakonfigurovat pro zabezpečení služby SSH. Pro demonstrační účely použijeme Ubuntu 18.04 .

Krok 1:Instalace a konfigurace knockd

Chcete-li začít, přihlaste se do systému Linux a nainstalujte knockd démon, jak je znázorněno.

$ sudo apt install knockd

Po instalaci otevřete knockd.conf konfiguraci pomocí preferovaného textového editoru. Zde používáme textový editor příkazového řádku vim.

$ sudo vim /etc/knockd.conf

Výchozí konfigurační soubor vypadá následovně.

Pod [openSSH] musíme změnit výchozí sekvenci klepání – 7000,8000,9000 – na něco jiného. Je to proto, že tyto hodnoty jsou již známé a mohou ohrozit bezpečnost vašeho systému.

Pro účely testování jsme nastavili hodnoty na 10005, 10006, 10007 . Toto je sekvence, která bude použita k otevření portu SSH z klientského systému.

Ve třetím řádku – začínající příkazem , změňte -A na -I hned za /sbin/iptables příkaz a před INPUT .

A nakonec pod [closeSSH] oddílu, znovu změňte výchozí sekvenci na preferovanou volbu. Toto je sekvence, která bude použita k uzavření připojení SSH, jakmile uživatel skončí a odhlásí se ze serveru.

Zde je naše kompletní konfigurace.

Jakmile budete hotovi, uložte změny a ukončete.

Další konfigurace, kterou musíme upravit, je /etc/default/knockd . Znovu jej otevřete pomocí textového editoru.

$ sudo vim /etc/default/knockd

Najděte řádek START_KNOCKD=0 . Odkomentujte jej a nastavte hodnotu na 1 .

Dále přejděte na řádek KNOCKD_OPTS=”-i eth1” Odkomentujte jej a nahraďte výchozí eth1 hodnotu s aktivním síťovým rozhraním vašeho systému. Chcete-li zkontrolovat síťové rozhraní, jednoduše spusťte ip addr nebo příkaz ifconfig.

Pro náš systém enp0s3 je aktivní síťová karta.

Kompletní konfigurace je zobrazena.

Uložte změny a ukončete.

Poté spusťte a povolte knockd démon, jak je znázorněno.

$ sudo systemctl start knockd
$ sudo systemctl enable knockd

Chcete-li zkontrolovat stav klepání démona, spusťte příkaz:

$ sudo systemctl status knockd

Krok 2:Zavřete port SSH 22 na bráně firewall

Od cíle knockd je buď povolit nebo zakázat přístup ke službě ssh, uzavřeme port ssh na firewallu. Nejprve však zkontrolujme stav brány firewall UFW.

$ sudo ufw status numbered

Z výstupu jasně vidíme, že SSH port 22 je otevřen na obou IPv4 a IPv6 protokoly očíslované 5 a 9 respektive.

Musíme smazat tato dvě pravidla, jak je znázorněno, počínaje nejvyšší hodnotou – což je 9 .

$ sudo ufw delete 9
$ sudo ufw delete 5

Pokud se nyní pokusíte vzdáleně přihlásit k serveru, zobrazí se chyba vypršení časového limitu připojení, jak je znázorněno.

Krok 3:Nakonfigurujte knock klienta pro připojení k SSH serveru

V posledním kroku nakonfigurujeme klienta a pokusíme se přihlásit nejprve odesláním sekvence klepání, kterou jsme nakonfigurovali na serveru.

Nejprve však nainstalujte knockd démona, stejně jako jste to udělali na serveru.

$ sudo apt install knockd

Po dokončení instalace odešlete sekvenci klepání pomocí zobrazené syntaxe

$ knock -v server_ip knock_sequence

V našem případě to znamená:

$ knock -v 192.168.2.105 10005 10006 10007

Měli byste dostat výstup podobný tomu, co máme my, v závislosti na vaší sekvenci. To ukazuje, že pokusy o zaklepání byly úspěšné.

V tomto okamžiku byste měli být v pozici, abyste se mohli úspěšně přihlásit k serveru pomocí SSH.

Jakmile dokončíte svou práci na vzdáleném serveru, zavřete port SSH odesláním závěrečné sekvence klepání.

$ knock -v 192.168.2.105 10007 10006 10005

Jakékoli pokusy o přihlášení k serveru selžou, jak je ukázáno.

Úvahy na závěr

Toto uzavírá tuto příručku o tom, jak využít klepání portů k zabezpečení služby SSH na vašem serveru. Lepším a jednodušším přístupem by bylo nakonfigurovat autentizaci hesla SSH pomocí párů klíčů SSH. To zajišťuje, že pouze uživatel se soukromým klíčem se může autentizovat na serveru, na kterém je uložen veřejný klíč.


Ubuntu
  1. Jak nainstalovat službu SSH (zabezpečený shell) na Kali Linux

  2. Jak zabezpečit službu SSH pomocí funkce Port Knocking

  3. jak používat netstat na konkrétním portu v Linuxu

  1. Jak používat Fail2ban k zabezpečení SSH na CentOS 7

  2. Jak změnit port SSH v Linuxu

  3. Jak změnit port SSH na Lubuntu 20.04 Linux

  1. Jak nainstalovat a používat Nmap Network Scanner na Linuxu

  2. Jak používat SSH Port Forwarding

  3. Jak používat Chromecast?