Skocz do zawartości

Skrypt chroniący zasoby serwera przed złośliwymi botami


exa

Sonda  

43 użytkowników zagłosowało

  1. 1. Użyteczność skryptu

    • Tak, przetestuję
      15
    • Przetestowałbym, ale nie wiem jak go zainstalować
      6
    • Nie do końca rozumiem czy jest mi to potrzebne
      3
    • Nie potrzebuje takich zabezpieczeń
      3


Rekomendowane odpowiedzi

Źle odczytałem te "wywołań to 25/30 sekund" jako dopuszczalna ilość wywołań 30 na sekundę :)

Jeśli user przeglądający serwis załapie się na blokadę, bez zrozumiałego dla niego powodu przestanie taki serwis odwiedzać...

Dlatego w pliku konfiguracyjnym możesz ustawić własny komunikat przy blokadzie.

$bd_page_blocked = 'exaBotDefender. Dostęp do strony został zablokowany na 30 minut.';

Rzeczywiście przydałoby się dopisać wyjaśnienie. Jakby ktoś to dobrze i zrozumiale dobrał w słowa to podmienię domyślną wiadomość na coś bardziej opisowego. Poza tym dalej twierdzę, że normalny użytkownik nie wpadnie w blokadę (kto otwiera 26 zakładek w ciągu 30 sekund na jednej stronie?).

Skrypt chroniący zasoby serwera przed atakami botów exaBotDefender: https://docs.google.com/View?id=dgkd4pj4_0hfj5j4gx

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 35
  • Dodano
  • Ostatniej odpowiedzi

Wiec popraw jeszcze te roboty wyszukiwarek o których później dopisałem...

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Wiec popraw jeszcze te roboty wyszukiwarek o których później dopisałem...

Fajny projekt, a na stronie https://www.web6.pl/exaBotDefender/ masz opis o co chodzi z botami:

# Q: W jaki sposób są wykrywane boty Google, Yahoo, MSN?

# A: Szybko. Pierwszy człon adresu IP musi być z sieci z przedziału <63, 75>. Drugim warunkiem oceny jest User Agent. Boty wyszukiwarek na 100% nie zostaną pomylone z użytkownikiem.

# Q: IP google są jeszcze z innej klasy adresowe, nie zapomniałeś ich uzwględnić?

# A: Nie. To, że inne adres IP należy do google lub yahoo nie oznacza od razu, że są to IP botów wyszukiwarek. Należy zawsze sprawdzić reverse-DNS dla testowanego IP. Jeżeli jest to bot będzie to zaznaczone w zwróconej nazwie hostname.

# Q: Dlaczego dla botów też przydzielasz limit żądań/30 sekund?

# A: Istnieje nikłe prawdopodobieństwo, że złośliwy bot będzie z jest samej sieci i będzie się podszywał. Boty wyszukiwarek nie zajeżdżają stron i nie przekroczą 150 wywołań w ciągu 30 sekund.

Myślę że z tymi botami to ciekawe rozwiązanie.

Odnośnik do komentarza
Udostępnij na innych stronach

masz opis o co chodzi z botami:

Myślę że z tymi botami to ciekawe rozwiązanie.

Przecież piszę na poprzedniej stronie, że to nie działa wiec co mi po opisie ?

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Przecież w opisie jest napisane, że "Pierwszy człon adresu IP musi być z sieci z przedziału <63, 75>", więc co po Twoich testach?
No wlanie ...

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Tak na marginesie w Twój "bloker" jest zabójstwem dla SEO, bo blokuje mam również boot sieciowy wyszukiwarki na którym wszystkim zależy. Ustawiłem w FF user agenta na googlebota przedstawiającego się:

Mozilla/5.0 (compatible; Googlebot/2.1; +https://www.google.com/bot.html)

dla testowej strony https://www.web6.pl/exaBotDefender/test/

i mamy exaBotDefender. Dostęp do strony został zablokowany na 3 minuty.

Wiec cos nie tak z tym Twoim oprogramowaniem przynajmniej tym demo...

Mion, pierwszy człon Twojego IP to 213. Więc na starcie skrypt wykrywa, że nie jesteś googlebotem. Musiałbyś mieć IP zaczynające się od np. 63., 64., 65. itd. (czyli z przedziału od 63. do 75., co jest zaznaczone w FAQ). Wszystko jest OK.

Jak ktoś zna zakres IP netsprinta, to niech mi wyśle na PW (o ile jeszcze w ogóle komuś zależy na indeksowanie przez netsprinta).

Skrypt chroniący zasoby serwera przed atakami botów exaBotDefender: https://docs.google.com/View?id=dgkd4pj4_0hfj5j4gx

Odnośnik do komentarza
Udostępnij na innych stronach

Nie wiem czy zwracacie na to uwagę, ale teraz coraz częściej widzę boty, które chodzą po stronie otwierając podstronę co kilka/kilkanaście/kilkadziesiąt sekund przy czym robi to cały czas, tj. 24/h. Kilkaset-kilka tysięcy odsłon dziennie. Są to boty głównie z serwerów z Rosji. W sumie obciążenia większego nie generuje, transferu dużo nie zje, ale warto i to blokować jeżeli to faktyczne są boty (np. na tym forum pewnie sporo z nas zrobi po kilkaset odsłon, więc w zależności od strony różne kryteria należy przyjmować).

Na dodatek jest wiele użytkowników, którzy z niewyjaśnionych powodów (jakieś wirusy?) wchodząc na stronę w ciągu kilku sekund otwierają wszystkie podstron, do których są linki na stronię na której lądowali. Z połowa moich blokad to właśnie tacy użytkownicy. Przychodzą z Google, wpisują normalną frazę, przy wejściu robią wiele odsłon, dostają blokadę. Dlatego ważne jest, aby odblokowywać zablokowane IP co jakiś czas, bo różne IP tam trafia.

Wg mnie najlepszym sposobem jest łapanie IP, które w ciągu dość długiego czasu, tj. ok. 5-10 minut. Raczej mało kto 'wpada i klika' przez 5 minut. Ja potrafię na PiO i klikać w zakładki kolejne wątki z nowymi postami, przy czym nie robię tego samego po 5 minutach.

Najlepiej po prostu raz na jakiś czas przeglądać blokady, i w zależności od tego ustawiać limity. Inaczej dla for, inaczej dla serwisów z dużą ilością podstron, dla stron z kilkoma-kilkudziesięcioma podstronami to blokady w ogóle nie potrzeba.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie wiem czy zwracacie na to uwagę, ale teraz coraz częściej widzę boty, które chodzą po stronie otwierając podstronę co kilka/kilkanaście/kilkadziesiąt sekund przy czym robi to cały czas, tj. 24/h. Kilkaset-kilka tysięcy odsłon dziennie. Są to boty głównie z serwerów z Rosji. W sumie obciążenia większego nie generuje, transferu dużo nie zje, ale warto i to blokować jeżeli to faktyczne są boty (np. na tym forum pewnie sporo z nas zrobi po kilkaset odsłon, więc w zależności od strony różne kryteria należy przyjmować).
Dla mnie bot, który nie zajeżdża serwera i nie pochłania transferu nie jest szkodliwy :(. Może ktoś testuje nowego crawlera?
Na dodatek jest wiele użytkowników, którzy z niewyjaśnionych powodów (jakieś wirusy?) wchodząc na stronę w ciągu kilku sekund otwierają wszystkie podstron, do których są linki na stronię na której lądowali. Z połowa moich blokad to właśnie tacy użytkownicy. Przychodzą z Google.
To pewnie boty (nawet jak "przychodzą" z wyszukiwarek). Nawet jeżeli to zawirusowiony użytkownik to nadal jego obecność na naszej stronie jest szkodliwa (mogą to być trojany robiące to samo, co boty).
Wg mnie najlepszym sposobem jest łapanie IP, które w ciągu dość długiego czasu, tj. ok. 5-10 minut. Raczej mało kto 'wpada i klika' przez 5 minut.
Ale zdajesz sobie sprawę ile szkód taki bot robi w ciągu 5-10 minut? Należy go zablokować jak najszybciej po wykryciu. Mój skrypt zbiera informacje ciągle i sprawdza średnią aktywność na przedziale 30 sekund. Limit jest tak dobrany, że człowiek nie złapie blokady. Bot zostanie ubity przez przekroczeniem 30 wywołań zamiast kilku tysięcy, które zrobiłby w 5-10 minut.
Ja potrafię na PiO i klikać w zakładki kolejne wątki z nowymi postami, przy czym nie robię tego samego po 5 minutach.

Ja też, wchodzę, otwieram sporo zakładek i czytam. Dlatego w moim skrypcie jest dodatkowy mechanizm. Jeżeli w ciągu 30 sekund nie wykonasz żadnej czynności twoje statystyki są zerowane. Żaden bot nie oszuka blokady, jeżeli wejdzie raz na stronę i po godzinie zacznie mieszać na serwerze.

Najlepiej po prostu raz na jakiś czas przeglądać blokady, i w zależności od tego ustawiać limity. Inaczej dla for, inaczej dla serwisów z dużą ilością podstron
U mnie nie ma takiej potrzeby. Dla forów, gdzie często pojawiają się nowe treści do otworzenia w zakładkach limit 25-30 to zupełnie bezpieczne maksimum. Dla blogów, zapleczy IMO wystarczy limit 15 żądań/30 sekund.
Dlatego ważne jest, aby odblokowywać zablokowane IP co jakiś czas, bo różne IP tam trafia.
Czas blokady jest do ustawienia w konfiguracji. Domyślnie jest to 30 minut. Ja osobiście stosuję 15-minutową blokadę.

Fajnie byłoby, gdyby ktoś z wordpressem (bo boty często atakują ten system) z jakimś ruchem zainstalował skrypt i podzielił się spostrzeżeniami. Na stronie, którą się opiekuję od rana żaden bot się nie złapał (przypominam, że dopiero dzisiaj dodałem logi z listą blokowanych botów). Ale jest to autorki CMS (więc przez google tej strony nie szukają) a blokadę stosuję już sporo czasu, możliwe, że poblokowane w przeszłości boty już do mnie nie wracają.

Ktoś w ankiecie oddał głos, że by przetestował nie wie jak zainstalować skrypt. Wystarczy mi na PW wysłać link do skryptu a przeglądnę go i dodam do dokumentacji opis sposobu instalacji.

Skrypt chroniący zasoby serwera przed atakami botów exaBotDefender: https://docs.google.com/View?id=dgkd4pj4_0hfj5j4gx

Odnośnik do komentarza
Udostępnij na innych stronach

To pewnie boty (nawet jak "przychodzą" z wyszukiwarek).

to nie boty, bo różni userzy, z rożnych, normalnych IP (neo, chello, itp), itd.. normalny użytkownik...

ile szkód taki bot robi w ciągu 5-10 minut?

wiem, na razie nie trafiłem na jednego co mi 'jakoś uszkodził bazę', należało wtedy kliknąć w cpanel, czy phpmyadmin na 'napraw bazę' :] ale ten zanim zajechał mnie to przez 3 godziny chodził po stronie, i był to jakiś IP z multimedia z Łodzi... jeszcze wtedy nie blokowałem botów w ogóle...

ten co w 5-10 min jest w stanie narobisz szkód, to boot dedykowany specjalnie dla nas, więc na dobrą sprawę trudno się będzie przed nim uchronić, potestuje, poprzegląda, w końcu dojdzie, że nie można przekroczyć 25 odsłon na 30sek i będzie robił 24... dla transferu to zamiast odsłon może pobierać cały czas jakiś większy plik, a tego blokada nie obejmuje...

ok, można utrudniać, zabezpieczać się, itd.. mi wystarcza te 5-10 minut...

skoro analizujesz tyle danych to wydaje mi się, że wydajność samego skryptu może być spora jak na funkcję jaką ma pełnić,

ja po prostu zapisuję IP odwiedzających, co 5-10min z crona sprawdzam ilość poszczególnych IP w tabeli, jeżeli jest większa od limitu to pobieram IP do blokady (jak blokować - osobna dyskusja), na koniec czyszczę tabelę... koniec... za 5 minut będzie to samo...

Odnośnik do komentarza
Udostępnij na innych stronach

@exa nie wpatrywałam się w kod dlatego zadam pytanie czy Twój skrypt obsługuje wildcard?

czy maszynka rozróżni 15 wejść bota na www.adres1.pl i 15 wejść tego samego bota na www.adres2.pl czy zliczy to jako 30 wejść i zablokuje mu dostęp tak jak w Twoim demie?

*www.adres1.pl oraz www.adres2.pl podpięte są pod ten sam katalog

/Magda

brak sygnatury

Odnośnik do komentarza
Udostępnij na innych stronach

  • 10 miesięcy temu...

Witam!

Zainstalowałem skrypt na phpBB3 i wygląda, że na stroch forum dziłą OK, ale nie mogę wejść do panelu admina - dostaję komunikat o błędzie:

exaBotDefender blad: nadaj uprawnienia zapisu dla./exaBotDefender/bdsave/9/
Wszystkie katalogi mają pełne prawa dostępu - taki błąd nie pojawia się też przy otwieraniu innych ston forum - tylko z zakresu katalogu adm/ .

Co może powodować ten problem?

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności