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?


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

Domyślnie WordPress zezwala na nieograniczoną liczbę prób logowania poprzez formularz logowania, wysyłanie specjalnych plików cookie, korzystanie z wywołań XML-RPC i wywołań REST API. Pozwala to na stosunkowo łatwe łamanie haseł za pomocą ataku siłowego. W dzisiejszych czasach hakerzy i boty nieustannie próbują zalogować się do Twojej witryny WordPress, odgadując hasło administratora i hasła innego użytkownika zarejestrowanego na stronie. Jeśli więc chcesz chronić swoją witrynę bez korzystania z wtyczki, potrzebujesz:

  1. Dobrze znasz PHP .
  2. Dowiedz się wystarczająco dużo o filtrze uwierzytelniania i akcji (wbudowanej w WordPress), aby je przechwycić. Polecam zacząć od haków, takich jak „authenticate” i „wp_login_failed”.
  3. Śledź formularz logowania do postu, żądania autoryzacji XML RPC i REST API, i tak, nie zapomnij o plikach cookie autoryzacji (czy są ważne?).
  4. Przechowuj gdzieś wszystkie próby ze wszystkimi próbami logowania i wszystkimi adresami IP, aby obliczyć, kiedy i jaki adres IP musisz zablokować. Polecam korzystanie z 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. Miej narzędzie lub kod PHP do resetowania dowolnego z tych liczników i zablokowanego adresu IP klienta. Co się stanie, jeśli jakiś legalny klient zostanie przypadkowo zablokowany?

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

Wniosek: W Internecie można znaleźć wiele porad, jak ograniczyć próby logowania bez wtyczki. Ale wszystkich porad udzielają osoby, które nawet nie wiedzą, jak dokładnie działa algorytm uwierzytelniania WordPress, w tym ci mili faceci ze stackoverflow. Ale w każdym razie 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ś 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.