Защита сайта на WordPress от Brute Force средствами Apache

Чтобы настроить качественную защиту на сайте нужно хорошая квалификация и опыт в разработке сайтов, но сегодня я расскажу об одном неплохом методе защиты. Этот метод  сделает на сайте двойную авторизацию, обойти которую будет не так уж просто.

В целом 90% сайтов страдают от взлома из за слабых паролей и стандартных логинов пользователей, во многих системах есть дыры через которые можно узнать логин пользователя и WordPress  в этом не исключение. Если настроить двойную авторизацию, то чтобы взломать ваш сайт хакеру нужно будет постараться и написать скрипт который будет перебирать пароли не только к админке.

Для защиты сайта на WordPress я опишу несложные действия которые необходимо будет сделать.

Аутентификация средствами Apache на WordPress

Изначально при попытке входа ваш Apache будет отправлять сигнал браузеру и браузер в ответ выведет окно с полями логина и пароля для входа. После ввода сервер получит ваши данные и проверит совпадение логина со специальным списком, также он сравнит пароль. Если все введено верно, то пользователь получит доступ к странице входа на WordPress.

Вводить логин и пароль нужно будет только один раз, потом браузер закеширует имя пользователя, пароль и область действия. Окно вас доставать больше не будет, если все введено правильно.

Хоть этот вид и увеличивает шанс защититься от хакера, но не защищает на 100%, так как данные из этой формы не будут зашифрованы и будут храниться в открытом виде. Есть возможность  перехватить введенные данные при передаче пакетов. Не стоит использовать такой вид аутентификации без дополнительных средств защиты, особенно на коммерческих сайтах. Важно ставить разные пароли для админки WordPress и данного вида аутентификации.

Есть вариант шифрования пароля mod_auth_digest, но для этого вы должны быть администратором сервера и иметь возможность его настраивать.

Последовательность действий для защиты сайта

На всех сайтах WordPress в корне сайта есть файл .htaccess и рядом с ним необходимо создать файл .htpasswd для генерации содержимого файла .htpasswd можно использовать специальный генератор этого файла htpasswd generator.

После создания файла на вашем сайте, куда бы вы не пошли, браузер будет запрашивать ввод пароля. Это полезно если вам надо закрыть весь сайт, но нам нужно закрыть только директорию wp-admin, а точнее wp-login.php. Для уточнения страницы входа нужно прописать пару команд в .htaccess. После всех настроек в файле .htaccess добавьте несколько новых строк кода.

Пример кода ниже:

Если все сделали правильно, то защита будет работать только на файл wp-login.php и данные аутентификации будет запрашиваться только на странице входа. Важно admin заменить на ваш логин указанный в сервисе генерации файла .htpaswd.

Для того чтобы узнать путь к корневой директории на сервере (/home/logn/sitename/www/.htpasswd), вам проще всего будет в корне сайта создать файл info.php и в нем прописать вызов функции <?php phpinfo() ?> , далее зайти в файл по адресу на вашем сайте https://yoursite.com/info.php и в появившемся окне найти $_SERVER[‘DOCUMENT_ROOT’], напротив вы увидите нужный вам путь.

Надеюсь, статья вам понравилась, в комментариях кто хочет присоединиться пишите какие вы знаете способы защиты.

Помощь с защитой сайта:
Купить хостинг WordPress

Читайте также: