Baza wiedzy

Utrata połączenia z bazą Drukuj

  • 6

Jeśli pojawia się sytuacja, w której nagle Twoja strona na chwilę traci połączenie z bazą danych, może to oznaczać, że przekracza dopuszczalny godzinowy limit liczby zapytań do bazy danych. Skutkiem jest zablokowanie dostępu do bazy, co ma za zadanie uchronić serwer baz przed przeciążeniami.

Limity stosowane na o12.pl są na tyle wysokie, że pojawienie się tego zjawiska może sugerować problemy ze stroną, np. kiepsko zoptymalizowane zapytania sql, brak mechanizmów cache itd. Najczęściej jednak wysycenie limitów ma związek z atakami typu brute force. Tego typu ataki to nic innego jak próby odgadnięcia danych dostępowych do panelu administracyjnego strony WWW. Najbardziej narażone na tego typu działania są popularne systemy, takie jak WordPress, Joomla itd. W skrócie działa to tak, że roboty włamywaczy, znając specyfikę danego CMS-u, automatycznie przesyłają żądania POST do skryptów logowania. W przypadku WordPressa jest to skrypt wp-login.php. W efekcie generuje to dodatkowe zapytania do bazy danych, dodatkowe wykorzystanie CPU i pamięci operacyjnej, które jest tym wyższe, im więcej jest przesyłanych żądań (prób zalogowania się). Tego typu ruchu nie znajdziemy w żadnych statystykach odwiedzin działających na bazie wywołania skryptów JS, np. w Google Analytics, dlatego możemy nie mieć w ogóle świadomości związanej z tym, że ruch na stronie w rzeczywistości jest znacznie wyższy niż normalnie. Praktycznie każda strona bez względu na jej charakter prędzej czy później staje się celem ataków. W przypadku popularnych CMS-ów jest to wręcz gwarantowane.

Aby zminimalizować to zjawisko, warto zainstalować wtyczkę, która posiada cechy firewalla jak Wordfence, dzięki której możemy skonfigurować dodatkowe reguły, takie jak dopuszczalna liczba nieudanych prób logowania się itd. Jeśli limit zostanie przekroczony, dostęp z danego IP zostanie przez wtyczkę zablokowany. Możemy także pokusić się o implementację ciekawego mechanizmu logowania się przy wykorzystaniu kodu kreskowego.

Ochronę przed atakami brute force warto wdrożyć już na początku, gdy uruchamiamy stronę. Jeśli to popularny CMS, możemy szybko zainstalować gotowe wtyczki, a jeśli korzystamy z autorskiego produktu, warto takie mechanizmy wdrożyć lub zasugerować je producentowi.

Czy ta odpowiedź była pomocna?

« Powrót