Skocz do zawartości
crazyluki

Problem z blokowaniem botów/ bruteforce attack

Polecane posty

Witam,

od 3 dni ktoś męczy mój serwer i bardzo próbuje wykorzystując bruteforce włamać się na niego. Co chwilę dostaję komunikat z DirectAdmin

Brute-Force Attack detected in service log on User(s) root
. Zainstalowałem fail2ban, skonfigurowałem także problem tymczasowo zmalał. W pewnym momencie zauważyłem że ponad 2000 adresów IP próbowało zgadnąć hasła do różnych użytkowników w systemie.

 

Zauważyłem pewną prawidłowość (ssh mam na standardowym porcie) - każdy IP próbował się połaczyć do ssh (a potem także do innych usług).

Moje pytanie brzmi: czy jest sprawdzony sposób na zbanowanie każdego IP który się połączy z moim serwerem na standardowym porcie ssh ? + może usuwanie z listy zbanowanych po jakimś tam czasie;-)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość hdmagc

A czemu nie wyłączysz logowania hasłem na SSH ?

Zmiana portu + wyłączenie root dodatkowo.

 

Ja tam spec nie jestem ale tak każą mądrzejsi ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

na roota nie idzie bezpośrednio wejść, a zmianę portów jako taką uważałem za niepotrzebne działanie. Zmiana portu bez banowania tych co chcieli tam wejść pewnie nic nie da.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

iptables -A INPUT -m recent --rcheck --seconds 86400 --hitcount 1 --name ABUSERIA --rsource -j DROP
iptables -A INPUT -p tcp -m tcp --dport 22 -m recent --set --name ABUSERIA --rsource -j DROP

Najlepiej to wkleić na początku listy regułek przed jakimikolwiek innymi typu ACCEPT.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witaj,

przetestuje jak będę w domu. Tutaj mam stałe IP - szkoda życie marnować na testy które będą wymagały tak długiego oczekiwania;-)

 

Pytanie czy to zbanuje od razu na wszystkich portach czy tylko na 22 ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witaj,

przetestuje jak będę w domu. Tutaj mam stałe IP - szkoda życie marnować na testy które będą wymagały tak długiego oczekiwania;-)

Pytanie czy to zbanuje od razu na wszystkich portach czy tylko na 22 ?

Działa na 100%. Banuje 100% ruchu.

Ja nie jestem Panem Bogiem ( chociaż Sponsi z tego co wiem uważa inaczej ;) ),

więc jak wklepałem z głowy, to musiałem jeszcze sprawdzić w.w. komendy przed wklejeniem ich na forum;

co by nikomu problemów nie narobić.

 

Musisz to tylko wkleić w odpowiednim miejscu. Dodam stosowny komentarz w oryginalnym poście.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

iptables -A INPUT -m recent --rcheck --seconds 86400 --hitcount 1 --name ABUSERIA --rsource -j DROP

iptables -A INPUT -p tcp -m tcp --dport 22 -m recent --set --name ABUSERIA --rsource -j DROP

 

Jakby mógł Pan powiedzieć gdzie to wklepać ??

Przez ssh ?? Czy też w jakiś pliczek ??

 

Z góry bardzo dziękuje i przepraszam za głupie pytanie, ale jestem jeszcze laikiem i potrzebuje łopatologicznych odpowiedzi wink.png

Edytowano przez FeNomeN (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrys

via ssh z root'a, jednak przed "wklepaniem" poczytaj: man 8 iptables

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Reguły od razu będą działały.

Dodatkowo mogę dodać iż takie "ataki" na serwer to normalna rzecz, 1-2miesiace i przestaną - lecz faktycznie lepiej jest się zabezpieczyć.

Zmień port ssh i wyłącz logowanie hasłem - chyba najszybsza opcja.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Reguły od razu będą działały.

Dodatkowo mogę dodać iż takie "ataki" na serwer to normalna rzecz, 1-2miesiace i przestaną - lecz faktycznie lepiej jest się zabezpieczyć.

Zmień port ssh i wyłącz logowanie hasłem - chyba najszybsza opcja.

 

Jakbym miał stałe IP to bym sobie ustawił logowanie do ssh z mojego IP tylko..

Co mi da zmiana portu ?? skoro ten atak jak widzę jedzie po różnych portach ? A jeżeli zmienić to na jaki ?? :)

 

Zabieram się za czytanie i szukanie INFO na temat (zmiany portu, i wyłączenie logowania hasłem). Bo widzę dużo tego ;) teraz trzeba wybrać dobre tematy ;]

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jakbym miał stałe IP to bym sobie ustawił logowanie do ssh z mojego IP tylko..

Co mi da zmiana portu ?? skoro ten atak jak widzę jedzie po różnych portach ? A jeżeli zmienić to na jaki ?? smile.png

 

Zabieram się za czytanie i szukanie INFO na temat (zmiany portu, i wyłączenie logowania hasłem). Bo widzę dużo tego wink.png teraz trzeba wybrać dobre tematy ;]

 

Zmiana portu da tyle, że niemyślące boty raczej nie będą skanowały wszystkich portów aby znaleźć SSH - te mądrzejsze może znajdą port lecz znacznie zacieśni się krąg atakujących.

Zmień na dowolny 5cyfrowy.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Co mi da zmiana portu ??

To samo co zamontowanie zamka w drzwiach mieszkania trochę wyżej.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

To samo co zamontowanie zamka w drzwiach mieszkania trochę wyżej.

A najgorsze jakościowo boty w tym momencie można porównać do ślepych którzy szukają w starym miejscu ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

na roota nie idzie bezpośrednio wejść, a zmianę portów jako taką uważałem za niepotrzebne działanie. Zmiana portu bez banowania tych co chcieli tam wejść pewnie nic nie da.

zmiana portow wbrew pozorom to dobra sprawa, jesli to nie serwer gdzie masz userow to bardzo ulatwia czytelnosc logow, no i eliminuje 99% botow, czyli wszystki, ktore nie sa wymierzone w Twoj serwer, ale ogolnie, polecam tez honeypot, nie koniecznie na produkcji smile.png

via ssh z root'a, jednak przed "wklepaniem" poczytaj: man 8 iptables

to bardzo zla praktyka, jedna z podstawowych zasad dobrego sysadmina to nie konfigurowac firewalla komendami pod shellem, a stworzyc sobie skrypt, bo bardzo latwo mozesz siebie wyciac

 

a osobie ktora o to pyta polecam zaplacic komus jesli nie chcesz sobie narobic problemow, bo nie posiadasz jak widac elementarnej wiedzy, a jak sobie odetniesz dostep do serwera to chyba straty beda troche wieksze, tym bardziej jesli to "serwer" bez idrac/imm/ilo...

Edytowano przez B0FH (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrys
to bardzo zla praktyka, jedna z podstawowych zasad dobrego sysadmina to nie konfigurowac firewalla komendami pod shellem, a stworzyc sobie skrypt, bo bardzo latwo mozesz siebie wyciac

Praktyka ? Przeczytaj to jeszcze raz ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Polecę coś od siebie skoro już mowa o wycinaniu samego siebie na ogniomurku.

http://man.he.net/man8/iptables-apply

 

Uruchamiamy via: iptables-apply -t 180 /etc/bezpieczne.regułki

 

Jeśli w zdefiniowanym czasie ( tu 180 sekund ) nie potwierdzimy, że wszystko jest ok i/lub rozłączy nam sesje,

skrypt przywróci wskazane regułki z pliku. Ja mam w tym pliku zrzut z iptables-save wszystko na allow.

Nie raz mi ten skrypt już uratował życie.

 

Ogólnie zmiana portu na którym słucha ssh z 22 na np. 1234 albo 23456 czy cokolwiek losowego

w 99,999% wypadków kończy próby włamania na SSH przez boty.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrys
ssh nie powinno wisiec na porcie wyzszym niz 1024 ze wzgledow bezpieczenstwa

Uzasadnij to proszę ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Uzasadnij to proszę wink.png

mozesz wlaczyc cokolwiek innego na tym porcie bez prawa roota? wystarczy jakis exploit lub cokolwiek innego zeby zwiesic ssh, a potem np. honeypota odpalic na porcie i pozbierac hasla, nie bez powodu masz wszystkie podstawowe uslugi do 1024, wlasnie z powodu ze ponizej tej wartosci user nie moze otworzyc portu

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrys
mozesz wlaczyc cokolwiek innego na tym porcie bez prawa roota?

Fakt jednak na portach 1-1024 też mogę jeżeli "rozgrzebie system", w BSD jak pamiętam już wystarczy tylko sysctl.

wystarczy jakis exploit lub cokolwiek innego zeby zwiesic ssh, a potem np. honeypota odpalic na porcie i pozbierac hasla

Szaleństwo, jak user ma ubić SSHD! Nie wiem na jakich systemach pracujesz i jak są zabezpieczone ale to fantazja...

Realnie można by to zrobić dopiero po przejęciu uprawnień root, więc fakt faktem nie ratuję Cie zabezpieczenie kernela co do tych socketów...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Szaleństwo, jak user ma ubić SSHD! Nie wiem na jakich systemach pracujesz i jak są zabezpieczone ale to fantazja...

Realnie można by to zrobić dopiero po przejęciu uprawnień root, więc fakt faktem nie ratuję Cie zabezpieczenie kernela co do tych socketów...

wiesz, bycie adminem to sztuka myslenia tak jak z hackingiem, skoro juz nieraz wyszly jakies exploity na crash ssh, to tylko kwestia czasu jak znowu wyjda, a skoro potem ktos moze bez praw roota tam cos odpalic to mowi samo za siebie jakie rozwiazanie jest bezpieczniejsze, jak sobie ssh zrobisz na 1000 to bedziesz miec tyle samo prob logowania przez boty co na 31337, a jak ktos chce znalezc to i tak znajdzie nmapem jesli nie masz jakiegos psada czy czegos innego, port knocking itd

 

jeszcze mi powiedz ze nigdy ci ssha nie padlo, to juz bede miec wyrobione zdanie smile.png, a uprzedze twoja wypowiedz, bez ssh tez idize uzyskac dostep do shella np. przez php, jak i dziesiatki innych sposobow

 

serio nie rob z siebie posmiewiska takim gimbusowym wysmiewaniem wypowiedzi innych, bo to z lekka irytujace jak rowniez zenujace, szczegolnie jesli nie masz pojecia o czym piszesz

Edytowano przez B0FH (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrys

Pokaż jakiś remote exploit który wyłączał serwer openssh, bo nie przypominam sobie niczego w galęzi 4.x/5.x.

 

Nigdy nie padł mi sshd, nigdy też nikt nie przełamał się przez niego do systemu bez wcześniejszej autoryzacji.

To znaczy, że źle ?

 

Każdy serwer zabezpiecza się pod kątem jego zastosowania w sieci.

Zabezpieczenie via kernel na zakres portów sprawdza się w danych środowiskach, inaczej by nie powstało i nie było by go już.

Jednak serwery mają tysiące zastosowań i nie na każdym są konta shell czy inne usługi wywołujące potencjalne zagrożenie dla wykonania niebezpiecznego kodu, czy później uruchomienia programu na określonym porcie.

 

Utrzymując odpowiednia politykę bezpieczeństwa nie zajdą takie procesy o których piszesz.

Nie będzie wtedy też naruszeniem uruchomienie serwera OpenSSH na porcie 1024-65000.

 

serio nie rob z siebie posmiewiska takim gimbusowym wysmiewaniem wypowiedzi innych, bo to z lekka irytujace jak rowniez zenujace, szczegolnie jesli nie masz pojecia o czym piszesz

nie komentuję.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

serio nie rob z siebie posmiewiska takim gimbusowym wysmiewaniem wypowiedzi innych, bo to z lekka irytujace jak rowniez zenujace, szczegolnie jesli nie masz pojecia o czym piszesz

Ty także.

Zacznijmy od tego:

to bardzo zla praktyka, jedna z podstawowych zasad dobrego sysadmina to nie konfigurowac firewalla komendami pod shellem, a stworzyc sobie skrypt, bo bardzo latwo mozesz siebie wyciac

Wyjaśnij mi, jaka jest różnica, czy polecenie

iptables -A INPUT -p tcp --dport 22 -j DROP

wykonam sobie z poziomu ssh, czy też wykonam wplecione w skrypt?

Tak czy siak utracę dostęp do serwera, więc poza względną wygodą zmiany czegoś-tam to nie widzę przewagi jednym nad drugim.

 

a jak ktos chce znalezc to i tak znajdzie nmapem jesli nie masz jakiegos psada czy czegos innego

Tu żaden IDS nie jest potrzebny. Wystarczy nakłonić kernel, aby blokował tych delikwentów, którzy łączą się z czymś innym, niż wystawione przez nas usługi.

 

skoro juz nieraz wyszly jakies exploity na crash ssh, to tylko kwestia czasu jak znowu wyjda, a skoro potem ktos moze bez praw roota tam cos odpalic to mowi samo za siebie jakie rozwiazanie jest bezpieczniejsze

Jak już mówimy o exploitach, to duża część z nich ma na celu eskalację uprawnień roota, więc i na porcie 22 wtedy sobie coś odpalą...

 

a uprzedze twoja wypowiedz, bez ssh tez idize uzyskac dostep do shella np. przez php, jak i dziesiatki innych sposobow

PHP? Chyba na stockowej konfiguracji apt-get install apache2 php5

Jeśli się troszkę posiedzi (wyrzucenie modułów posix, blokada funkcji dl, exec, system itp., pseudo-open_basedir i parę innych rzeczy) to nie wykonasz poleceń systemowych.

 

A jeśli nawet, to na samym końcu przychodzi ipt_owner, który pozwoli brutalnie wyciąć szkodnikom dostęp do świata zewnętrznego smile.png

Edytowano przez kafi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×