Security Blog
Security Blog

Ograniczyć próby logowania bez wtyczki?

Jak chronić stronę logowania WordPress bez użycia wtyczki


English version: Limit login attempts without a plugin?


Można znaleźć mnóstwo komentarzy i porad na ten temat w Internecie. Ale czy to prawda?

Domyślnie WordPress zezwala na nieograniczoną liczbę prób logowania za pomocą formularza logowania, wysyłania specjalnych plików cookie, korzystania z wywołania XML-RPC i wywołań REST API. Pozwala to na łamanie haseł z względną łatwością za pomocą ataku siłowego. Obecnie hakerzy i boty nieustannie próbują zalogować się do Twojej witryny WordPress, zgadując Twoje hasło administratora i hasła innych użytkowników zarejestrowanych w witrynie. Tak więc, jeśli chcesz chronić swoją witrynę bez użycia wtyczki, potrzebujesz:

  1. Znajomość PHP na poziomie zaawansowanym.
  2. Dowiedz się wystarczająco dużo o filtrze uwierzytelniania i akcji (wbudowanej w WordPress), aby je podłączyć. Zalecam zacząć od haków takich jak „authenticate” i „wp_login_failed”.
  3. Śledź formularz logowania, żądania autoryzacji XML RPC i REST API, a także nie zapomnij o plikach cookie autoryzacyjnych (czy są prawidłowe?).
  4. Przechowuj gdzieś wszystkie próby logowania i wszystkie adresy IP, aby obliczyć, kiedy i jakie IP należy zablokować. Polecam użycie Transient API. Naprawdę. To najłatwiejszy sposób. Oczywiście, nie możesz tego kontrolować, ale korzystanie z niego pozwala Ci zrobić coś bez znajomości SQL.
  5. Oblicz czas pomiędzy nieudanymi próbami logowania dla danego adresu IP.
  6. Masz narzędzie lub kod PHP, aby zresetować którykolwiek z tych liczników i zablokowanych adresów IP klientów. Co jeśli jakiś prawowity klient zostanie przypadkowo zablokowany?

Wygląda szalenie? Masz drugą opcję. Możesz poszukać w Google i pobrać fragmenty kodu z jakiegoś bloga w Internecie bez żadnej gwarancji i wsparcia.

Wniosek: W Internecie można znaleźć mnóstwo porad, jak ograniczyć próby logowania bez wtyczki. Ale wszystkie porady pochodzą od osób, które nie wiedzą nawet, jak dokładnie działa algorytm uwierzytelniania WordPress, w tym od miłych gości ze stackoverflow. Ale tak czy inaczej, możesz to zrobić, jeśli naprawdę nie martwisz się o bezpieczeństwo swojej witryny, ponieważ nie ma opcji, aby zrobić to dobrze bez umiejętności kodowania PHP i znajomości mechanizmu uwierzytelniania WordPress.

Jeśli na Twojej stronie pojawi się coś podejrzanego, do kogo się zgłosisz?


I'm a team lead in Cerber Tech. I'm a software & database architect, WordPress - PHP - SQL - JavaScript developer. I started coding in 1993 on IBM System/370 (yeah, that was amazing days) and today software engineering at Cerber Tech is how I make my living. I've taught to have high standards for myself as well as using them in developing software solutions.

View Comments
There are currently no comments.