Atak Brute Force to forma ataku hakerskiego, o której z pewnością słyszał każdy programista. Przeciętni użytkownicy internetu, którzy mają swoje własne strony internetowe, najczęściej dowiadują się o tym pojęciu, gdy padną jego ofiarą. Czym jest atak brute-force i co można zrobić, aby zabezpieczyć przed nim stronę?

Co to jest atak brute force?

Nazwa pojęcia może przyprawiać o dreszcze, jednak w rzeczywistości jest to bardzo prymitywny atak hakerski. Złamanie zabezpieczeń odbywa się poprzez próbę odgadnięcia hasła do danej strony. Proces „odgadywania” jest niczym innym, jak zgadywaniem odpowiednich kombinacji znaków.

Stworzony wcześniej skrypt, w którego posiadaniu jest haker, próbuje dostać się do systemu, sprawdzając kolejne kombinacje znaków – aż do skutku. Metoda ta, choć prymitywna jest niezwykle skuteczna, szczególnie w przypadku krótkich i prostych haseł. To właśnie dlatego tak często niektóre systemy rejestracyjne, wymuszają na użytkowniku podanie hasła odpowiedniej długości, urozmaiconego o znaki specjalne. Im dłuższa i bardziej skomplikowana kombinacja, tym dłużej trwa atak brute-force, nim odniesie sukces.

atak brute force - co to

Jednak to nie wszystkie negatywne skutki, jakie niesie za sobą atak tego typu. Haker, który próbuje zalogować się na zaplecze danej strony, poprzez skrypt wysyła kolejne zapytania do serwisu. Jeśli takich zapytań jest dużo, powstaje obciążenie serwera, a strona może całkowicie przestać funkcjonować.

Można to porównać do sytuacji, gdzie mały serwis internetowy, zostaje wyróżniony w jakimś znanym miejscu w sieci. W jednej chwili próbuje dostać się na niego tysiące użytkowników, co powoduje wysypanie się danego portalu. Istnieje również możliwość, że urządzenia naszego operatora, które monitorują wszelkie obciążenia, automatycznie zablokują dostęp do naszej strony.

Atak można również przybliżyć z nieco bardziej technicznej strony. Wszystkie dane dostępu do serwisu, znajdują się w bazie danych w odpowiedniej tabeli. Podczas gdy administrator wpisuje poprawne dane logowania, system zwraca informację „zalogowano”. Maszyna wykonująca atak brute-force będzie podawała kombinacje hasła do momentu, gdy system zwróci komunikat „zalogowano”. Oczywiście atak tego typu można wykonać ręcznie. Jest to jednak nieopłacalne, ze względu na czas, jaki trzeba poświęcić na jego przeprowadzenie. Maszyna robi to po prostu dużo szybciej.

Jak zabezpieczyć się przed atakiem brute-force?

Aby zabezpieczyć się przed atakiem hakerskim brute-force, najlepiej podjąć kilka kolejnych kroków.

Po pierwsze, trzeba pamiętać, że absolutną podstawą jest stworzenie wymagającego hasła do panelu administratora. Wszelkie hasła składające się z kilku znaków w logicznym ciągu odpadają. Przykładowo są to „12345” lub bardzo popularne „admin”. Hasło powinno być rozbudowane, zawierać małe i duże litery, cyfry, a nawet znaki specjalne. Im bardziej skomplikowane hasło, tym mniejsze szanse powodzenia ataku. 

Dodatkowym zabezpieczeniem strony może być ograniczenie prób logowania w określonym czasie. Jeśli do naszego systemu będzie można logować się 5 razy w ciągu 5 minut, to atak tego typu znacznie się wydłuży. Jeśli ktoś wykona 5 błędnych prób logowania do panelu, system zablokuje taką czynność na określony czas. 

To jednak nie koniec zabezpieczania witryny. Jednym z prostszych i najpowszechniejszych sposobów jest nałożenie dodatkowego hasła, korzystając z pliku .htaccess:

  1. Na początku musimy utworzyć plik na pulpicie lub w innym dowolnym miejscu (zalecana nazwa pliku to .htpasswd).
  2. Następnie konieczne będzie skorzystanie z generatora online, w tym celu wpisujemy w wyszukiwarkę „generator htpasswd” i przechodzimy na wybraną stronę.
  3. Wygenerowany ciąg znaków wklejamy do przygotowanego wcześniej pliku i wysyłamy go na serwer, korzystając z klienta FTP.
  4. Zabezpieczenie nie jest jeszcze uaktywnione. Aby je włączyć, musimy dodać do pliku .htaccess następujący kod:
AuthType Basic 
AuthName "Logowanie do zaplecza."
AuthUserFile /public_html/nazwa_katalogu/.htpasswd 
require valid-user
jak zabezpieczyc sie przed brute force

W linijce „AuthUserFile /public_html/nazwa_katalogu/.htpasswd” należy oczywiście podać ścieżkę, w której umieszczony został plik z hasłem (.htpasswd). Od teraz serwer udostępni logowanie do panelu (wp-login.php), dopiero gdy pierwsze hasło dostępowe okaże się poprawne.

W ramach ciekawostki warto wspomnieć również o wtyczce iThemes Security, która monitoruje stronę przez przez całą dobę. W ustawieniach wtyczki możemy określić ilość maksymalnych prób logowania z jednego IP czy maksymalną liczbę prób logowania z użyciem tego samego loginu.  

Jeśli użyjemy powyższych metod, możemy spać spokojnie. Wszak zrobiliśmy wszystko, aby zabezpieczyć się przed atakiem. Nawet jeśli ktoś podejmie próbę przeprowadzenia brute-force, spotka się z nie lada wyzwaniem.

Autor