Jestem bardzo nowy w administrowaniu siecią, więc proszę pamiętać, że nie mam jeszcze takiego doświadczenia.
Mam serwer główny Ubuntu z panelem plesk.
Wczoraj zauważyliśmy z przyjaciółmi, że jakość mowy na naszym TS3 bardzo się pogorszyła. Wysłałem trochę pingów na serwer i nastąpiła bardzo duża utrata pakietów. Potem trochę googlowałem i odkryłem, że jest auth.log
. Pobrałem go i przewróciłem trochę, a potem znalazłem:
May 13 10:01:27 rs204941 sshd[9351]: input_userauth_request: invalid user student [preauth]
May 13 10:01:27 rs204941 sshd[9351]: pam_unix(sshd:auth): check pass; user unknown
May 13 10:01:27 rs204941 sshd[9351]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=112.220.198.102
May 13 10:01:29 rs204941 sshd[9351]: Failed password for invalid user student from 112.220.198.102 port 39806 ssh2
May 13 10:01:29 rs204941 sshd[9351]: Received disconnect from 112.220.198.102: 11: Bye Bye [preauth]
May 13 10:01:31 rs204941 sshd[9353]: Invalid user student from 112.220.198.102
Wygląda na to, że ktoś próbował zalogować się wielokrotnie przez SSH. Przewinąłem trochę i zobaczyłem, że ten ktoś próbuje użyć wielu różnych nazw użytkowników:student, tech, psi, news,...
Setki tych loginów zostały wyświetlone w pliku.
Sprawdziłem statystyki ruchu na stronie mojego centrum danych. To było tylko 17 MB na godzinę. Mam sieć szkieletową 100 Mb, więc sam transfer danych nie stanowi problemu.
W tej chwili nie mogę uzyskać dostępu do serwera w żaden sposób.
Moje pytanie brzmi: w jaki sposób mogę ponownie uzyskać dostęp, w jaki sposób mogę powstrzymać ten atak i zapobiec kolejnym atakom?
Odpowiedzi:
Nie jest jasne, dlaczego nie możesz uzyskać dostępu do swojego konta.
Jeśli twój komputer jest atakowany lub jest obciążony, powinieneś porozmawiać z dostawcą o ograniczeniu dostępu (Ograniczenia IP) lub przełączeniu serwera w tryb offline (rozłącz się z Internetem).
Możesz także wymagać dostępu poza pasmem, z którym twój dostawca może być w stanie pomóc.
Jeśli ktoś naruszył bezpieczeństwo Twojego serwera, być może trzeba będzie przywrócić dane z kopii zapasowych lub użyć obrazu odzyskiwania.
najlepszy sposób, aby zapobiec brutalnym logowaniom?
Nie pozwól im dostać się na twoją maszynę! Istnieje wiele sposobów na powstrzymanie prób użycia siły, zanim dotrą do twojego hosta, a nawet na poziomie SSH.
To powiedziawszy, ochrona systemu operacyjnego czymś w rodzaju fail2ban to świetny pomysł. http://en.wikipedia.org/wiki/Fail2ban
Istnieje wiele ważnych technik bezpieczeństwa, które należy wziąć pod uwagę, aby zapobiec logowaniu przy użyciu siły brute:
SSH:
Podanie:
źródło
Zwykle zmieniam domyślny port ssh z 22 na inny, np. 1122. Zapobiega to wielu automatycznym atakom z bota, ale proste skanowanie portu może go wykryć. Tak czy inaczej:
i edytuj Port 22 do Port 1122 , ale to nie wystarczy.
Automatyczne reguły IPTables dotyczące brutalnej siły
zamiast tego używam log2iptables https://github.com/theMiddleBlue/log2iptables zamiast Fail2ban, ponieważ jest to prosty skrypt Bash, który analizuje dowolny plik dziennika za pomocą wyrażenia regularnego i wykonuje iptables. Na przykład, gdy wystąpi 5 dopasowań, log2iptables upuszcza określony adres IP. To fajne, ponieważ użyj Telegram API i może wysłać mi wiadomość na mój telefon, gdy znajdzie problem :)
mam nadzieję, że to pomoże!
źródło
Właśnie to zmontowałem, uruchamiam co 15 minut jako cronjob itp:
źródło
To jest moje alternatywne rozwiązanie dla ataków SSH. Chodzi o to, aby nadal zamykać demona SSH, jeśli nie jest używany. Brak otwartego portu, brak ataku. Możesz tego spróbować. Jest to open source https://github.com/indy99/nnet_port_guard
źródło
Zautomatyzowane rozwiązanie dla Centos / RHEL w celu zablokowania złych aktorów
Oto skrypt dla Centos, aby sprawdzić, czy ssh nie powiodło się logowanie dla niepoprawnych kont użytkowników i złe hasła dla prawidłowych kont. Jeśli źródłowy adres IP uderzył nas więcej niż 3 razy i nie znajduje się już na liście odmów, zostaje dodany do listy odmów. Uruchamiam to co 15 minut z crontab roota. Nie zezwalam także na logowanie do roota przez ssh, więc kombinacja sprawia, że wszystko jest dość ciche.
źródło
fail2ban
który robi to samo i jest testowany w walce.