Wczoraj pisałem o błędzie, jaki wyświetlał się na jednej ze stron, prawdopodobnie w momencie niedostępności usługi/serwera baz danych. Uznałem, że to przypadek wart pokazania, bo oprócz informacji o przyczynach niedostępności strony wyświetlane były wszystkie dane związane z autoryzacją do serwera MySQL (adres, nazwa użytkownika i hasło, port). Sytuacja potencjalnie bardzo niebezpieczna, choć przy poprawnej konfiguracji dostępu do bazy danych (np. ograniczenie zdalnego łączenia się z bazą danych dla danego użytkownika) nie jest tak źle, i – jeśli podobne dane nie były wykorzystywane nigdzie indziej – to co najwyżej „lekko kompromitująca” dla osób odpowiedzialnych za skrypt/stronę… ;-)

Dziś za to będzie o innym błędzie, tym razem może niezwiązanym bezpośrednio z bezpieczeństwem strony, ale potencjalnie niebezpiecznym z punktu widzenia biznesu, jakim jest sklep internetowy, który ma sprzedawać.

Too many requests from this IP. (Err: 4-NGX-0-429)

Niedawno robiłem większe zakupy związane m.in. z domowym wyrobem piwa i cydru (bez destylacji, a więc legalnie można w domu na własne potrzeby). Przy tej okazji odwiedziłem kilka sklepów, gdzie wybrałem sobie produktu, które postanowiłem kupić. Jednym z tych sklepów był sklep internetowy WinoDomowe.pl, działający w ramach platformy IAI-shop.com (sklep jako usługa, czyli typowy SaaS).

Z racji tego, że kolega też przymierzał się do tego typu zakupów, zaproponowałem mu, by przejrzał wieczorem ofertę sklepu, i jak coś go zainteresuje, to niech podeśle mi linki, wtedy rano zrobię wspólne zakupy (optymalizacja, czyli koszt wysyłki dzielimy na dwa ;-)).

Następnego dnia uruchomiłem komputer oraz przeglądarkę internetową, która automatycznie otworzyła mi kilka „zostawionych na później” stron w sklepie. I na tym zakończyły się moje zakupy we wspomnianym sklepie:

Otworzenie okna przeglądarki z zapisanymi na później pięcioma kartami wybranych produktów z oferty sklepu spowodowało wyświetlenie błędu:

Too many requests from this IP. (Err: 4-NGX-0-429)

Czyli z zakupów nici. Zapewne po jakimś czasie blokada automatycznie by ustała, ale w tej sytuacji postanowiłem wybrać ofertę konkurencyjnego sklepu, gdzie podobna operacja, tylko z jeszcze większą liczbą zapisanych kart przebiegła bez problemu.

Przy tej okazji pomyślałem, że skoro sklep internetowy ma sprzedawać, a ten konkretny – przynajmniej tym razem – nie był w stanie tego zrobić, i to z tak wydawałoby się abstrakcyjnego powodu, to postanowiłem sprawdzić, co to za ustrojstwo mnie zablokowało.

Ochrona anty-DDoS dla wszystkich sklepów IAI

Po krótkich poszukiwaniach trafiłem na informację na blogu IAI-chop.com o aktywacji „zabezpieczenia anty-DDoS dla wszystkich sklepów IAI”:

Mając na uwagę ochronę sklepów internetowych IAI, zwłaszcza w okresie przedświątecznego szczytu zakupowego, wprowadziliśmy program ochrony naszych klientów przed działaniami wrogimi mającymi na celu paraliżowanie stron internetowych w sposób świadomy lub nie (np. konkurencja która napisała skaner cen).

(…)

Wynikiem lat doświadczeń w tej kwestii było stworzenie w pełni automatycznego narzędzia, które zabezpiecza sklepy internetowe przed aktywnością ataków typu DOS (…) Warto podkreślić, że pod tym względem IAI dba wyjątkowo o bezpieczeństwo i dostępność sklepów, znacząco wyprzedzając trendy na rynku.

W tym momencie już wiedziałem, że dzięki „latom doświadczeń w kwestii tworzenia w pełni automatycznego narzędzie do zabezpieczenia sklepów internetowych” został skutecznie zablokowany mój 5-kartowy atak typu DOS, co pozwoliło zwiększyć „dostępność sklepu”, dzięki czemu sklep „znacząco wyprzedził rynkowe trendy”, odsyłając zainteresowaną osobę do konkurencji… ;-)

Na koniec jeszcze cytat z bardziej szczegółowym wyjaśnieniem mechanizmu działania blokady:

Rozwiązaniem, jakie wprowadziliśmy jest analizator ilości otwieranych stron dynamicznych na minutę. Wartość ta może być zmieniona przez operatora sklepu, jednak domyślnie wynosi ona 60 stron na minutę (średnio 1 strona na sekundę). Jest to wartość pozornie niska, jednak wykraczająca znacznie poza możliwości szybkiego klikania przez człowieka. Jeżeli system wykryje większą częstotoliwość (sic!) otwierania stron, blokuje dany adres IP na określoną ilość minut (domyślnie 10). Obie wartości można zmienić lub wyłączyć moduł całkowicie w panelu administracyjnym sklepu w zakładce ADMINISTRACJA \ Zarządzanie domenami i usługami systemowymi sklepu \ Zabezpieczenie przed atakami DDOS oraz skanerami cen.

Sama idea stojąca za tego typu rozwiązaniem wydaje się słuszna, choć w moim przypadku coś poszło nie tak. Dla mnie bez znaczenia jest to, czy w tym przypadku zawiodły ustawienia domyślne, czy klient dokonał ręcznej modyfikacji ustawień, i z powodu braku doświadczenia coś przeszacował. Istotne jest to, że przez to sklep stracił klienta. A patrząc po informacjach w internecie, nie był to pierwszy taki przypadek, ani nie był to też pierwszy sklep, który zaserwował tego typu blokadę potencjalnemu klientowi.

Nie ma też co ukrywać, że firma IAI robi to z dobrego serca, tylko w interesie swoich klientów. Bo skoro sklep internetowy dostarczany jest jako usługa (świadczona w modelu SaaS), to po stronie usługodawcy (IAI) jest zapewnić odpowiednio wydajne serwery, by sklepy klientów działały prawidłowo, nawet w okresie przedświątecznej gorączki. Choć mam też świadomość, że – zwłaszcza w tym okresie – faktycznie „lata po sklepach internetowych” sporo robotów/automatów, których celem jest skanowanie oferty na potrzeby różnych raportów, np. dla konkurencji.

(!) Zgłoś błąd na stronie
Pomogłem? To może postawisz mi wirtualną kawę?
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Patryk