Dnes nacházíme různé způsoby, jak se bezpečně připojit k našim serverům, provádět úkoly údržby a podpory nebo kontrolovat jejich stav. Protože nemůžeme být vždy přímo ve fyzickém umístění tohoto nejpraktičtějšího a nejběžnějšího přístupu k serveru, je to vzdáleně možné pomocí protokolu SSH.
SSH (Secure SHell) byl vyvinut jako protokol, který umožňuje navazovat spojení mezi dvěma systémy na základě architektury klient / server, což usnadňuje, abychom se jako správci nebo uživatelé mohli vzdáleně připojit k serveru nebo počítači, což je jedna z nejpozoruhodnějších výhod SSH je, že je zodpovědný za šifrování relace připojení za účelem zvýšení zabezpečení tím, že brání útočníkům v přístupu k nešifrovaným heslům.
Nyní je každé přihlášení nebo pokus o přístup na server pomocí SSH zaznamenán a uložen do souboru protokolu démonem rsyslog v systému Linux, takže k němu bude možné přistupovat a podrobně ověřit, kdo, kdy a stav spuštění relace umožňuje mnohem komplexnější úkol auditu a kontroly.
Solvetic vám v tomto tutoriálu vysvětlí, jak zobrazit tento soubor a určit, kdo se pokusil nebo přihlásil do počítače.
1. Nainstalujte SSH na Linux
V tomto příkladu jsme použili Ubuntu 19 a CentOS 8, pamatujte, že při přístupu přes SSH můžeme komplexně pracovat na počítači:
ZVĚTŠIT
Nainstalujte SSH na CentOS 8Chcete -li nainstalovat SSH v CentOS 8, musíte provést následující:
yum -y nainstalovat openssh-server openssh-klienti
ZVĚTŠIT
Nainstalujte SSH na UbuntuChcete -li to provést v Ubuntu 19, musíte provést následující:
sudo apt install openssh-server
2. K zobrazení neúspěšných přihlášení v systému Linux použijte příkaz grep
Krok 1
Nejjednodušší způsob, jak určit a zobrazit pokusy o přihlášení, je spuštěním následujícího:
grep "Failed password" /var/log/auth.log
Krok 2
Můžeme vidět detaily jako:
- Uživatel se pokouší přihlásit
- IP adresa
- Port použitý pro pokus o přihlášení
Krok 3
Stejný výsledek najdeme s příkazem cat:
kočka /var/log/auth.log | grep "Nepovedené heslo"
Krok 4
V případě, že chcete získat další informace o neúspěšném přihlášení SSH v Linuxu, musíme provést následující. Jak vidíme, detaily jsou mnohem úplnější.
egrep "Selhalo | Selhání" /var/log/auth.log
Zobrazte protokoly v RHEL nebo CentOS 8V případě RHEL nebo CentOS 8 jsou všechny protokoly uloženy v souboru / var / log / secure, pro jejich vizualizaci provedeme následující:
egrep "Selhalo | Selhání" / var / log / secure
ZVĚTŠIT
Vidíme, že protokoly jsou uchovávány s úplnými podrobnostmi včetně registrovaných názvů relací (správných nebo ne). Další možností, jak zobrazit neúspěšné přihlášení SSH v CentOS, je použít jeden z následujících řádků:
grep "Selhalo" / var / log / zabezpečené grep "selhání ověřování" / var / log / secure
ZVĚTŠIT
Krok 5
Chcete -li zobrazit seznam adres IP, ke kterým se pokusili získat přístup, ale neúspěšně, musíme použít následující příkaz:
grep "Nepovedené heslo" /var/log/auth.log | awk '{print $ 11}' | uniq -c | třídit -nrKrok 6
V nejaktuálnějších distribucích Linuxu (jako je Ubuntu 19) je možné přistupovat k souboru protokolu runtime, který Systemd spravuje pomocí příkazu journalctl, pokud chceme vidět neúspěšné přihlašovací protokoly SSH, použijeme k filtrování příkaz grep výsledky takto:
journalctl _SYSTEMD_UNIT = ssh.service | egrep "Failed | Failure" (Ubuntu) journalctl _SYSTEMD_UNIT = sshd.service | egrep "Selhalo | Selhání" (RHEL, CentOS)
Na CentOSV CentOS můžeme také použít následující:
journalctl _SYSTEMD_UNIT = sshd.service | grep "selhání" journalctl _SYSTEMD_UNIT = sshd.service | grep "Selhalo"
Můžeme vidět, jak zobrazit každý neúspěšný pokus o přihlášení SSH, a na základě toho přijmout příslušná bezpečnostní opatření, aby byla zachována dostupnost služeb.