Blog 24/7

limit prób logowania

TAB. 1Hasłopo polsku
Po angielskulogin lockout
Którą formą pisaćpo polsku Polska nazwa przyjęła się w tekstach i w wyszukiwarce — używaj jej samodzielnie.
Inne formyblokada konta po nieudanych próbach logowania · ograniczanie liczby prób logowania · limitowanie liczby nieudanych prób logowania · limitowanie częstotliwości żądań
KategoriaStrony WWW, WordPress i hosting

Limit prób logowania to ochrona przed zgadywaniem haseł, która ogranicza liczbę i częstotliwość nieudanych prób uwierzytelnienia. OWASP określa blokadę konta jako najpowszechniejszą ochronę przed takimi atakami: po określonej liczbie nieudanych logowań kolejne próby są wstrzymywane na pewien czas [1]. Brak takiego ograniczenia MITRE opisuje jako słabość CWE-307, w której produkt nie stosuje wystarczających środków przeciw wielu nieudanym próbom w krótkim czasie [3]. Mechanizm należy do szerszej ochrony przed atakami brute force.

Jak działa

System prowadzi licznik nieudanych prób i porównuje go z progiem. OWASP wymienia trzy parametry, które trzeba ustalić: liczbę nieudanych prób przed blokadą (próg), okres, w którym te próby muszą wystąpić (okno obserwacji), oraz czas trwania blokady [1]. Licznik powinien być związany z kontem, a nie z adresem IP, bo inaczej atak rozproszony na wiele adresów go obejdzie [1].

RYS. 1Obsługa nieudanej próby logowania

Zamiast stałego czasu blokady można stosować blokadę wykładniczą. OWASP podaje przykład, w którym blokada zaczyna się od bardzo krótkiego okresu, na przykład jednej sekundy, i podwaja się po każdej kolejnej nieudanej próbie [1]. NIST w wytycznych SP 800-63B wymaga, by weryfikator ograniczał liczbę kolejnych nieudanych prób dla danego uwierzytelniacza na jednym koncie do nie więcej niż 100 [2]. Jako sposoby zmniejszenia ryzyka blokady NIST wymienia test wykrywający boty przed logowaniem, oczekiwanie rosnące wraz ze zbliżaniem się do limitu (na przykład od 30 sekund do godziny) oraz techniki adaptacyjne oparte na adresie IP, geolokalizacji, rytmie żądań czy metadanych przeglądarki [2].

Odmiany

Pod jedną nazwą kryje się kilka mechanizmów. MITRE jako środki zaradcze wymienia rozłączenie użytkownika po kilku nieudanych próbach, limit czasowy, blokadę atakowanego konta i wymóg wykonania zadania obliczeniowego [3].

MechanizmNa czym polegaSłaby punkt
Blokada kontakonto zamknięte po przekroczeniu progu [1]może posłużyć do odcięcia ofiary [5]
Rosnące opóźnieniekażda kolejna próba czeka dłużej [2]spowalnia, ale nie zatrzymuje ataku
rate limitinglimit żądań na adres, sesję lub trasę [4]atak z wielu adresów rozkłada ruch [1]
CAPTCHAtest na człowieka po kilku porażkach [1]wiele implementacji da się obejść [1]

OWASP traktuje CAPTCHA jako warstwę uzupełniającą, a nie samodzielną ochronę, i radzi wymagać jej dopiero po kilku nieudanych próbach, a nie od pierwszego logowania [1].

W WordPressie

Dokumentacja WordPressa zaleca ograniczanie tempa żądań do /wp-login.php i /xmlrpc.php na poziomie serwera WWW albo WAF [4]. Jeśli dostawca hostingu lub CDN nie ogranicza tempa na brzegu, dokumentacja wskazuje, że logowania może spowalniać wtyczka bezpieczeństwa [4]. Zaznacza przy tym, że wtyczki działają w PHP i pod silnym atakiem same zużywają zasoby, więc lepsze jest ograniczanie na brzegu albo na serwerze [4].

Osobnym celem jest XML-RPC. Według dokumentacji xmlrpc.php jest częstym celem ataków siłowych, zwłaszcza przez metodę system.multicall [4]. Limit ustawiony tylko na formularzu wp-login.php nie obejmuje więc tej drogi. Dokumentacja radzi też przeglądać logi nieudanych logowań i czasowo blokować nadużywające adresy, na przykład narzędziem fail2ban [4].

Przykładowa reguła ograniczająca tempo w serwerze nginx (ilustracja, wartości dobiera się do ruchu):

limit_req_zone $binary_remote_addr zone=login:10m rate=5r/m;
location = /wp-login.php {
    limit_req zone=login burst=3 nodelay;
}

Limit prób warto łączyć z innymi warstwami, które wymienia ta sama dokumentacja: rezygnacją z loginu admin, silnymi hasłami z menedżera haseł i uwierzytelnianiem dwuskładnikowym (2FA) dla administratorów [4]. Rdzeń WordPressa nie ma wbudowanego 2FA; trzeba je dodać wtyczką albo przez zewnętrznego dostawcę tożsamości [4].

Zagrożenia i skutki

Bez limitu atakujący może wykonać dowolną liczbę prób z różnymi hasłami i w końcu uzyskać dostęp do konta w ataku siłowym (brute-force) [3]. Skutkiem jest przejęcie konta, a przy koncie administratora cała witryna.

Źle zaprojektowany limit tworzy nowe ryzyko. Niebezpiecznik ostrzega, że blokowanie dostępu do konta po kilku nieudanych próbach pozwala komuś, kto zna login ofiary, celowo i wielokrotnie wywoływać blokadę, czyli przeprowadzić atak odmowy usługi (DoS) na konkretnego użytkownika [5]. OWASP również wymaga, by mechanizmu nie dało się użyć do blokowania kont innych osób [1].

Blokada pojedynczego konta nie chroni też przed password spraying. W opisanym przez Niebezpiecznika scenariuszu atakujący sprawdza jedno popularne hasło kolejno na wielu kontach, więc żadne konto nie osiąga progu [5]. Przeciw temu pomagają techniki adaptacyjne, które oceniają adres, rytm żądań i metadane przeglądarki [2], a przeciw credential stuffing dodatkowo drugi składnik logowania.

Dobre praktyki

  • Licznik per konto, nie tylko per adres. OWASP wiąże licznik z kontem, żeby atak z wielu adresów go nie obszedł [1]; ograniczenia per adres IP można dodać jako osobną warstwę na serwerze [4].
  • Opóźnienie zamiast trwałej blokady. Niebezpiecznik zaleca, by nie blokować konta na stałe po nieudanych próbach, tylko po kilku porażkach żądać rozwiązania CAPTCHA [5]. NIST dopuszcza rosnący czas oczekiwania jako sposób ograniczenia blokad [2].
  • Alternatywna droga dla właściciela konta. OWASP wskazuje, że w czasie blokady prawowity użytkownik powinien mieć sposób odzyskania dostępu, na przykład przez odzyskiwanie hasła [1].
  • Wszystkie wejścia. Limit obejmuje formularz, XML-RPC i API, a nie tylko stronę logowania [4] [5].
  • Obserwacja. Logi nieudanych logowań pokazują, skąd przychodzi atak i czy limit działa [4].

Historia i przykłady

Brak limitu prób wciąż pojawia się w komunikatach o podatnościach. CERT Polska 30 czerwca 2026 roku opublikował informację o podatnościach w systemie e-BOK firmy KTM System; według komunikatu system nie ograniczał liczby prób logowania ani nie limitował ich czasowo, co pozwalało wykonywać nieograniczoną liczbę żądań uwierzytelnienia [6]. Ta sama publikacja opisuje błędy utrwalenia sesji, CSRF i słabych wymagań dotyczących haseł; poprawkę zawiera wydanie z czerwca 2026 roku [6].

TAB. 2

Przypisy

6
  1. [1] Authentication Cheat Sheet · OWASP
  2. [2] NIST SP 800-63B-4: Digital Identity Guidelines — Authentication and Authenticator Management · NIST
  3. [3] CWE-307: Improper Restriction of Excessive Authentication Attempts · MITRE
  4. [4] Brute Force Attacks — Advanced Administration Handbook · WordPress.org
  5. [5] Ochrona webaplikacji przed atakami zgadywania haseł · Niebezpiecznik
  6. [6] Podatności w oprogramowaniu KTM System e-BOK · CERT Polska
TAB. 3

Hasła w tym artykule

13
TAB. 4

Linkują tutaj

41

Wszystkie kategorie → · Hasło w słowniku →

Blog 24/7
05.11CISA i FBI wzywają do zabezpieczenia sterowników chłodzenia po atakach w Europietherecord.media05.11Midnight Blizzard atakowała iPhone'y i Androidy przez zainfekowane strony w Europie i USAsecurityweek.com05.11APT29 kradła dane z iPhone'ów i Androidów przez przejęte i podrobione stronytherecord.media05.11Grupa APT29 przejęła skrypt Plerdy i atakowała niezałatane iPhone'y i Androidythehackernews.com05.11Microsoft wykrył 7,3 mld wiadomości phishingowych w III kwartale 2026microsoft.com05.11DigiCert ujawnia wyciek danych klientów i skanów dokumentów tożsamościbleepingcomputer.com05.11CWPdoor podmienia serwer cwpsrv w Control Web Panel i otwiera tylne wejście do Linuksableepingcomputer.com05.11Brytyjskie NCSC ostrzega, że narzędzia AI zwiększyły liczbę wykrywanych luk zero-daythehackernews.com05.11Skaner RootEvidence sprawdza starą lukę w Cisco IOS i dodaje nagłówki Opt-Outisc.sans.edu05.11Włamanie do portalu grantowego Norad, zagrożone dane 20 614 użytkownikówhelpnetsecurity.com