Захист сторінок логіна від brute force атак

Кожен сайт в тій чи іншій мірі, періодично або постійно, піддається різним атакам хакерів. Однією з найбільш поширених атак є підбір паролів для входу на веб-ресурс - Brute Force (брутфорс) атаки. Атаки такого роду на сторінки логінів сайтів були, є і по видимому будуть завжди. Боротися з ними можна і потрібно, навіть не дивлячись на те, що 100% захисту ніхто не зможе надати.


У цій статті ми розглянемо кілька рекомендацій з форуму BulletProof Security Pro щодо захисту блогів на WordPress від брутфорс-атак на сторінки логіна і реєстрацій. І хоча тут будуть розглянуті приклади щодо WordPress, але ті ж методи з успіхом можуть застосовуватися на будь-яких інших типах сайтів, для чого знадобиться всього лише внести відповідні поправки в код.

Увага!
Перед початком експериментів переконайтеся, що у Вас є доступ (з можливістю редагувати) до кореневого файлу сайту .htaccess і до файлів поточної теми блогу WordPress як мінімум по FTP або SSH, або з адмін-панелі хостингу.

Заборона логіна або реєстрацій для сторонніх на основі протоколу

Даний метод дозволить заблокувати більше 90% спроб автоматизованих Brute Force атак, так як саме протокол версії HTTP / 1.0 є типовим для автоматизованих брутфорс-атак.

Після додавання цього коду в файл .htaccess доступ до сторінки логіна блогу (wp-login.php) буде заблокований для всіх запитів, що використовують протокол HTTP / 1.0.

Якщо все ж Ви не змогли залогінитися на свій сайт і у Вас немає доступу до його файлів по FTP або SSH, то тоді вже доведеться звертатися за допомогою до служби підтримки хостингу.

Комбінування блокування доступу по IP і протоколу

Дозвіл доступу до сторінки логіна тільки для себе

Цей метод заснований на перевірці додаткового параметра (або декількох параметрів) в запиті. Наприклад таке:

Природно, що крім SecretKey = 25637653269 Ви можете використовувати інше ім'я параметра і його значення, на ваш розсуд.
Для реалізації запропонованого методу потрібно в файл functions.php активної теми вашого блогу додати код, подібний цьому:

При використання цього коду всі запити на сторінку wp-login.php. в яких відсутня або не збігається SecretKey = 25637653269. будуть автоматично перенаправлені на головну сторінку блогу. Використовуючи даний метод захисту сторінок логіна від Brute Force атак не забувайте про всяк випадок частіше міняти пари ключ-значення для запитів SecretKey = 25637653269. і до того ж намагайтеся використовувати для них найбільш унікальні імена і значення.

Інші статті схожою тематики:

Ну а «найкрутіша» захист від спроб залогінитися - видалити, перейменувати або зробити порожнім (щось на зразок