Захист сайту на WordPress від Brute Force засобами Apache
- Skype: maxix2009
- Mail: info@wp-admin.com.ua
- Моя тема на searchengines.guru
Щоб налаштувати якісний захист на сайті потрібна хороша кваліфікація та досвід у розробці сайтів, але сьогодні я розповім про один непоганий метод захисту. Цей метод зробить на сайті подвійну авторизацію, обійти яку буде не так вже й просто.
В цілому 90% сайтів страждають від злому через слабкі паролі та стандартні логіни користувачів, у багатьох системах є діри через які можна дізнатися логін користувача і WordPress у цьому не виняток. Якщо налаштувати подвійну авторизацію, то щоб зламати ваш сайт хакеру потрібно буде постаратися і написати скрипт який перебиратиме паролі не тільки до адмінки.
Для захисту сайту на WordPress я опишу нескладні дії, які необхідно буде зробити.
Аутентифікація засобами Apache на WordPress
Спочатку при спробі входу ваш Apache відправлятиме сигнал браузеру і браузер у відповідь виведе вікно з полями логіна та пароля для входу. Після введення сервер отримає ваші дані та перевірить збіг логіну зі спеціальним списком, також він порівняє пароль. Якщо все введено правильно, то користувач отримає доступ до сторінки входу на WordPress.
Вводити логін та пароль потрібно буде лише один раз, потім браузер закешує ім'я користувача, пароль та область дії. Вікно вас діставати більше не буде, якщо все введено правильно.
Хоч цей вид і збільшує шанс захиститися від хакера, але не захищає на 100%, оскільки дані з цієї форми не будуть зашифровані і зберігатимуться у відкритому вигляді. Є можливість перехопити введені дані під час передачі пакетів. Не варто використовувати такий вид автентифікації без додаткових засобів захисту, особливо на комерційних сайтах. Важливо ставити різні паролі для адмінки WordPress та цього виду аутентифікації.
Є варіант шифрування пароля mod_auth_digest, але для цього ви повинні бути адміністратором сервера та мати можливість його налаштовувати.
Послідовність дій для захисту сайту
На всіх сайтах WordPress в корені сайту є файл .htaccess і поруч з ним потрібно створити файл .htpasswd для генерації вмісту файлу .htpasswd ви можете використовувати спеціальний генератор цього файлу Генератор htpasswd.
Після створення файлу на вашому сайті, куди б ви не пішли, браузер буде вимагати введення пароля. Це корисно, якщо вам потрібно закрити весь сайт, але нам потрібно закрити лише директорію wp-admin, А точніше WP-LOGIN.php. Щоб уточнити сторінку входу, потрібно вказати пару команд в .htaccess. Після всіх налаштувань у файлі .htaccess додайте кілька нових рядків коду.
Зразок коду нижче:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# END WordPress # Stop Apache from serving .ht* files <Files ~ "^\.ht"> Order allow,deny Deny from all </Files> # Protect wp-login <Files wp-login.php> AuthUserFile /home/logn/sitename/www/.htpasswd AuthName "Private access" AuthType Basic require user admin </Files> |
Якщо все зробили правильно, Тоді захист буде працювати тільки на WP-Login файлі.php а дані аутентифікації будуть запитуватися тільки на сторінці входу. важливо адмін замініть службу генерації файлів .htpaswd своїм логіном.
Дізнатися шлях до кореневого каталогу на сервері (/головна/logn/sitename/www/.htpasswd), Вам буде найпростіше створити файл інформації в корені сайту.php і зареєструвати в ньому виклик функції <?php phpinfo() ?> , далі зайти у файл за адресою на вашому сайті https://yoursite.com/info.php і у вікні знайти $_SERVER[DOCUMENT_ROOT], навпаки ви побачите потрібний вам шлях.
Сподіваюся, стаття вам сподобалася, у коментарях хто хоче приєднатися пишіть які ви знаєте способи захисту.
- Skype: maxix2009
- Mail: info@wp-admin.com.ua
- Моя тема на searchengines.guru
/*
- Базовий курс з веб-дизайну;
- Верстка сайтів;
- Загальний курс CMS WordPress та продовження курсу з розробки шаблонів;
- Розробка сайтів на PHP.