Atak brute force na stronę opartą o popularny system Wordpress wykonać może nawet średnio rozgarnięty dzieciak - wystarczy, że znajdzie odpowiedni skrypt w internecie i ściągnie do niego odpowiednio dużą bazę haseł. W tym artykule podpowiemy Wam, jak temu zapobiec.
Czym jest atak brute force?
Atak brute force to próba włamania poprzez próbę odgadnięcia loginów i haseł do witryny. Atakujący z reguły korzysta z dużej bazy najpopularniejszych i wygenerowanych haseł (zawierającej czasem miliony rekordów).
Oprócz oczywistego problemu włamania na stronę problemem jest także jej przeciążanie - intruz z reguły dokonuje kilku prób odgadnięcia hasła na raz przez co Twoja witryna może być niedostępna.
Przy odpowiednio silnym łączu zgadnięcie hasła bywa kwestią czasu.
Certyfikat SSL i kopie zapasowe - zadbaj o bezpieczeństwo swojego biznesu
Jak zapobiec atakowi?
1. Ustawienie trudnego do zgadnięcia hasła
Jeżeli Twoja dziewczyna ma na imię Angelika i urodziła się w roku 1986, ustawienie jej imienia i daty urodzin jako hasła nie jest dobrym pomysłem. Nie pomoże nawet ustawienie tez miesiąca i dnia ;).
Na temat tego, czym jest trudne do zgadnięcia hasło napisano sporo elaboratów. Powinien to być stosunkowo długi tekst, najlepiej z generowanych znaków zawierający duże i małe litery oraz znaki specjalne. Dobrym pomysłem wydaje się być bezsensowny zlepek kilku słów łatwy do zapamiętania dla człowieka a trudny do zgadnięcia przez komputer. Na przykład Pi3czecN4Dywani3.
2. Zablokowanie dostępu do strony logowania
Włamywacza można odciąć w ogóle od strony logowania poprzez dopuszczenie do autoryzacji tylko z określonego adresu IP, lub wymuszenie dodatkowej autoryzacji.
Temat szeroko opisaliśmy w artykule: Ograniczenie możliwości włamania do Wordpress'a.
Plusem tego rozwiązania jest zablokowanie włamywaczowi dostępu do skryptów php, dzięki czemu obciążenie przez niego generowane jest znacznie mniejsze.
3. Najprostsza metoda - zainstalowanie pluginu
Plugin Brute Force Login Protection tak naprawdę jest tematem artykułu - szukaliśmy metody na proste zabezpieczenie dla niezaawansowanych użytkowników, okazało się, ze można to zrealizować w kilku kliknięciach.
Instalujemy plugin standardowo - klikamy Wtyczki -> Dodaj nową. W okno wyszukiwania wpisujemy Brute Force Login Protection i instalujemy znalezioną wtyczkę. Po instalacji można przejść do jej ustawień: Ustawienia -> Brute Force Login Protection:
Ustawienia są naprawdę proste:
- Allowed login attempts before blocking ip - ilość prób logowania przed zabanowaniem adresu IP,
- Minutes before resetting login attempts count - czas po jakim adres zostanie odblokowany,
- Delay in seconds when a login attempt has failed (to slow down brute force attack) - opóźnienie logowania. Dobrze jest nie ustawiać zbyt wysokiej wartości, aby nie zblokowało to na strony,
Opcjonalnie wysyłamy powiadomienie o zablokowaniu adresu i komunikat blokady. I to tyle :)
Z czasem zobaczymy na liście poniżej listę adresów które zostały zablokowane. Możemy zarządzać nie tylko nimi, ale również adresami które nigdy nie będą zabanowane - można tu np wpisać swój adres IP.
Skrypt przetestowaliśmy w warunkach bojowych - działa świetnie, więc rekomendujemy jego instalację.