Niedawno wyjaśniłem jak sprawdzić, które adresy IP zostały połączone przez SSH, ale ... co się stanie, jeśli nazwa użytkownika lub hasło są nieprawidłowe i nie połączyli się?
Innymi słowy, jeśli ktoś próbuje zgadnąć, jak uzyskać dostęp do naszego komputera lub serwera przez SSH, naprawdę musimy wiedzieć, czy nie?
W tym celu wykonamy tę samą procedurę, co w poprzednim poście, przefiltrujemy dziennik uwierzytelniania, ale tym razem z innym filtrem:
cat /var/log/auth* | grep Failed
Zostawiam zrzut ekranu, jak to wygląda:
Jak widać, pokazuje mi miesiąc, dzień i godzinę każdej nieudanej próby, a także użytkownika, z którym próbowali wejść, i adres IP, z którego próbowali uzyskać dostęp.
Ale to można ułożyć nieco więcej, użyjemy Awk aby trochę poprawić wynik:
cat /var/log/auth* | grep Failed | awk '{print $2 "-" $1 " " $3 "\t USUARIO: " $9 "\t DESDE: " $11}'
Tutaj widzimy, jak by to wyglądało:
Ta linia, którą właśnie pokazałem, nie powinna być zapamiętywana na pamięć, możesz utworzyć plik alias dla niej i tak wynik jest taki sam jak w przypadku pierwszej linii, tylko trochę bardziej zorganizowany.
Wiem, że nie przyda się to wielu, ale dla tych z nas, którzy zarządzają serwerami, wiem, że pokaże nam kilka interesujących danych hehe.
pozdrowienia
Bardzo dobre wykorzystanie rur
pozdrowienia
Dziękuję
Doskonały 2 post
Zawsze korzystałem z pierwszego, ponieważ nie znam awk, ale będę musiał się go nauczyć
cat / var / log / auth * | grep nie powiodło się
Tutaj, gdzie pracuję, na Wydziale Matematyki i Obliczeń Univ de Oriente na Kubie, mamy fabrykę „małych hakerów”, którzy nieustannie wymyślają rzeczy, których nie powinni i muszę mieć 8 oczu. Jednym z nich jest motyw ssh. Dzięki za cynk.
Jedna wątpliwość: jeśli ktoś ma serwer skierowany do Internetu, ale w iptables otwiera port ssh tylko dla niektórych wewnętrznych adresów MAC (powiedzmy z biura), próby dostępu z pozostałych adresów wewnętrznych dotrą do dziennika uwierzytelniania i / czy zewnętrzne? Ponieważ mam wątpliwości.
W dzienniku zapisywane są tylko żądania dopuszczone przez firewall, ale odrzucone lub zatwierdzone przez system jako taki (mam na myśli logowanie).
Jeśli zapora nie zezwala na przekazywanie żądań SSH, nic nie trafi do dziennika.
Tego nie próbowałem, ale daj spokój ... Myślę, że tak musi być 😀
grep -i nie powiodło się /var/log/auth.log | awk '{print $ 2 «-» $ 1 »» $ 3 «\ t UŻYTKOWNIK:» 9 $ «\ t OD:» $ 11}'
rgrep -i nie powiodło się / var / log / (logrotates foldery) | awk '{print $ 2 «-» $ 1 »» $ 3 «\ t UŻYTKOWNIK:» 9 $ «\ t OD:» $ 11}'
w centos-redhat… ..etc ……
/ var / log / secure