Security Blog
Security Blog
Posted By Gregory

Ograniczenie prób logowania bez wtyczki?

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


English version: Limit login attempts without a plugin?


W Internecie można znaleźć wiele komentarzy i porad na ten temat. Ale czy to prawda?

Domyślnie WordPress umożliwia nieograniczone próby logowania za pomocą formularza logowania, wysyłania specjalnych plików cookie, korzystania z wywołania XML-RPC i wywołań API REST. Pozwala to na łamanie haseł ze względną łatwością dzięki atakowi brute force. Obecnie hakerzy i boty stale próbują zalogować się do Twojej witryny WordPress, zgadując hasło administratora i hasła innego użytkownika zarejestrowanego na stronie. Jeśli więc chcesz chronić swoją witrynę bez użycia wtyczki, potrzebujesz:

  1. Dobrze znasz PHP .
  2. Dowiedz się wystarczająco dużo o filtrze uwierzytelniającym i akcji (wbudowanej w WordPress), aby je podłączyć. Zalecam zacząć od haków, takich jak „uwierzytelnij” i „wp_login_failed”.
  3. Śledź formularz logowania po zalogowaniu, żądania autoryzacji XML RPC i API REST, i tak, nie zapomnij plików cookie autoryzacji (czy są one poprawne?).
  4. Przechowuj gdzieś wszystkie próby z wszystkimi próbami logowania i wszystkimi adresami IP, aby obliczyć, kiedy i jaki adres IP musisz zablokować. Polecam używanie Transient API. Poważnie. To najłatwiejszy sposób. Oczywiście nie możesz tego kontrolować, ale używanie go pozwala zrobić coś bez znajomości SQL.
  5. Oblicz czas między nieudanymi próbami logowania dla konkretnego adresu IP.
  6. Masz narzędzie lub kod PHP, aby zresetować dowolny z tych liczników i zablokować IP klienta. Co się stanie, jeśli jakiś legalny klient zostanie przypadkowo zablokowany?

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

Wniosek: Możesz znaleźć wiele porad, jak ograniczyć próby logowania bez wtyczki w Internecie. Ale wszystkie rady są udzielane przez osoby, które nawet nie wiedzą, jak działa algorytm uwierzytelniania WordPress, w tym także tych miłych facetów z stackoverflow. Ale w każdym razie możesz to zrobić, jeśli naprawdę nie martwisz się o bezpieczeństwo swojej strony, ponieważ nie ma możliwości zrobienia tego w odpowiedni sposób bez umiejętności kodowania PHP i znajomości mechanizmu uwierzytelniania WordPress.

Jeśli na twojej stronie jest coś dziwnego, do kogo zadzwonisz?


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.