Jak wyświetlić nieudane próby połączenia logowania SSH w systemie Linux?

Dziś znajdujemy różne sposoby bezpiecznego łączenia się z naszymi serwerami, aby wykonywać zadania konserwacji i wsparcia lub sprawdzać ich status. Ponieważ nie zawsze możemy znajdować się bezpośrednio w fizycznej lokalizacji tego najbardziej praktycznego i powszechnego sposobu dostępu do serwera, jest to możliwe zdalnie za pośrednictwem protokołu SSH.

SSH (Secure SHell) został opracowany jako protokół umożliwiający nawiązywanie połączeń pomiędzy dwoma systemami w oparciu o architekturę klient/serwer, ułatwiając, że jako administratorzy lub użytkownicy możemy łączyć się zdalnie z serwerem lub komputerem, jedna z najbardziej zauważalnych zalet SSH jest to, że jest odpowiedzialny za szyfrowanie sesji połączenia w celu zwiększenia bezpieczeństwa, uniemożliwiając atakującym dostęp do niezaszyfrowanych haseł.

Teraz każde logowanie lub próba uzyskania dostępu do serwera za pomocą SSH jest rejestrowana i przechowywana w pliku dziennika przez demona rsyslog w systemie Linux, dzięki czemu będzie można uzyskać do niego dostęp i szczegółowo zweryfikować kto, kiedy i stan uruchomienia sesji pozwalając na znacznie pełniejsze zadanie audytu i kontroli.

Solvetic wyjaśni w tym samouczku, jak wyświetlić ten plik i określić, kto próbował lub zalogował się do komputera.

1. Zainstaluj SSH w systemie Linux


W tym przykładzie użyliśmy Ubuntu 19 i CentOS 8, pamiętaj, że dostęp przez SSH możemy wszechstronnie pracować na komputerze:

POWIĘKSZAĆ

Zainstaluj SSH na CentOS 8Jeśli chcesz zainstalować SSH w CentOS 8, musisz wykonać następujące czynności:

 mniam - zainstaluj openssh-server openssh-clients 

POWIĘKSZAĆ

Zainstaluj SSH na UbuntuJeśli chcesz to zrobić w Ubuntu 19, musisz wykonać następujące czynności:

 sudo apt install openssh-server 

2. Użyj polecenia grep, aby wyświetlić nieudane logowania w systemie Linux

Krok 1
Najprostszym sposobem określenia i wyświetlenia prób logowania jest wykonanie następującego polecenia:

 grep "Nieudane hasło" /var/log/auth.log 

Krok 2
Możemy zobaczyć takie szczegóły jak:

  • Użytkownik próbuje się zalogować
  • adres IP
  • Port używany do próby logowania

Krok 3
Ten sam wynik znajdujemy za pomocą polecenia cat:

 kot /var/log/auth.log | grep "Nieudane hasło" 

Krok 4
W przypadku, gdy chcesz uzyskać dodatkowe informacje o nieudanych logowaniach SSH w systemie Linux, musimy wykonać następujące czynności. Jak widzimy, szczegóły są znacznie pełniejsze.

 egrep „Niepowodzenie | Awaria” /var/log/auth.log 

Wyświetl logi w RHEL lub CentOS 8W przypadku RHEL lub CentOS 8 wszystkie logi są przechowywane w pliku /var/log/secure, w celu ich wizualizacji wykonamy następujące czynności:

 egrep „Failed | Failure” / var / log / secure 

POWIĘKSZAĆ

Widzimy, że logi są przechowywane z pełnymi szczegółami, w tym zarejestrowanymi nazwami sesji (poprawne lub nie). Inną opcją wyświetlenia nieudanych logowań SSH w CentOS jest użycie jednego z następujących wierszy:

 grep „Niepowodzenie” / var / log / Secure grep „Błąd uwierzytelniania” / var / log / Secure

POWIĘKSZAĆ

Krok 5
Aby wyświetlić listę adresów IP, które próbowały uzyskać dostęp, ale nie powiodły się, musimy użyć następującego polecenia:

 grep "Nieudane hasło" /var/log/auth.log | awk '{drukuj 11 USD}' | uniq -c | sortuj -nr 
Krok 6
W najnowszych dystrybucjach Linuksa (takich jak Ubuntu 19) możliwy jest dostęp do pliku dziennika runtime, którym zarządza Systemd za pomocą polecenia journalctl, jeśli chcemy zobaczyć nieudane logi logowania SSH, użyjemy polecenia grep do filtrowania wyniki takie:
 journalctl _SYSTEMD_UNIT = ssh.service | egrep "Failed | Failure" (Ubuntu) journalctl _SYSTEMD_UNIT = sshd.service | egrep „Niepowodzenie | Awaria” (RHEL, CentOS)

Na CentOSW CentOS możemy również skorzystać z:

 journalctl _SYSTEMD_UNIT = sshd.service | grep „awaria” journalctl _SYSTEMD_UNIT = sshd.service | grep „Niepowodzenie”

Możemy zobaczyć, jak wyświetlić każdą nieudaną próbę logowania SSH i na tej podstawie podjąć odpowiednie środki bezpieczeństwa, aby zachować dostępność usług.

wave wave wave wave wave