Еще пара уловок для защиты блога на wordpress
В нарушение всех планов на написание постов хочу дополнить предыдущий пост о защите блога на wordpress, а точнее о защите файлов и папок средствами .htaccess. В корне наших блогов лежат файлы wp-login.php и wp-config.php, которые особенно интересны злоумышленнику, ну и нам их без внимания оставлять не следует.
Злоумышленники в нашем случае — это «школота», которая в летний период, вместо того, чтобы отдыхать и гулять, сливают в сети готовые разного рода программы и уже считают себя «хакерами». Смех да и только, но хлопот, те самые, запускаемые «школотой» программы доставляют не мало.
Прежде чем приступим к защите wp-login.php и wp-config.php, напомню несколько прошлых постов о защите сайтов на wordpress, которые актуальны и сейчас:
- Воспользуйтесь 5 практическими решениями для защиты сайта от взлома
- Делайте регулярный автоматический бекап данных в панели управления сервером ISP Manager
- Ну и прошлый пост о том, как мы можем закрыть доступ в админку сайта абсолютно всем и пофиг, что у них большой список прокси-серверов)
Отлично, идем дальше и закрываем от всех лишних глаз файл wp-login.php.
Шаг 1. Оригинальный wp-login.php переименуем в любое другое название, хоть в «s4gr3gerh6hb.php».
Шаг 2. Затем заменим все слова wp-login.php на новое имя, в нашем случае на s4gr3gerh6hb.php, в файле s4gr3gerh6hb.php (старый wp-login.php) и в файле wp-includes/general-template.php.
Шаг 3. Заключительным шагом станет полное ограничение доступа к файлу wp-login.php в .htaccess:
<Files wp-login.php>
Order Deny,Allow
Deny from all
</Files>
Поясню зачем ограничивать доступ к файлу wp-login.php, если по сути его уже нет, а есть новый, неизвестный злоумышленнику «s4gr3gerh6hb.php». Как я говорил выше, попытками взлома наших блогов занимаются далеко не серьезные люди, а «школота», которая скачивает программу-заготовку и запускает ее по инструкции, совершенно не соображая, что действия, производимые программой, бессмысленны.
Но нас на самом деле это не очень успокаивает, потому что в ответ на многочисленные запросы сервер возвращает нашу 404 страницу, а это очень большая нагрузка, которую мы можем избежать, воспользовавшись шагом 3. Теперь, когда в .htaccess к несуществующему файлу ограничен доступ, в ответ подлецу 🙂 будет отдаваться 403 ошибка, а серверу это какой либо заоблачной нагрузкой не грозит.
С защитой файла wp-config.php все намного проще. Нам он требуется крайне редко, если вообще после установки блога требуется, потому к нему достаточно закрыть доступ для всех. Пишем в .htaccess
<Files wp-config.php>
Order Deny,Allow
Deny from all
</Files>
и мы в шоколаде.
Удачи Вам, друзья, успехов. Предохраняйтесь, не давайте им шанса 😉
Весь день ддосят админку
Поменял логин пхп, но после введения пароля редирект на админ пхп
Что делать
Простите чайника за возможно глупый вопрос. Страшно ли пропустить первые 2 шага и воспользоваться только 3м шагом? Переименовав файл, я просто боюсь пропустить файл какой-нибудь, где присутствует ссылка на wp-login.
Так как все-таки закрыть и /wp-admin тоже, чтобы остался только один известный хозяину сайта вход?
Спасибо. Очень хорошая статья. Удовлетворил свои паранояльные потребности.
Кстати, есть еще вопрос. А при запрете доступа к /wp-admin/ всем IP, могут ли пользователи с другими правами заходить на сайт? (редакторы, подписчики)
Здравствуйте,
а вот что делать, если стоит плагин «Login With Ajax».
Это я про защиту wp-login.php.
Все сделал как описано выше, все работатет, но теперь по этому плагину не зайти.
Все! Снимаю свой вопрос.
Надо было еще и в этом плагине везде заменить wp-login.php на свой новый.
Так малолетние сетевые хулиганы не знают о том, что файл переименован и продолжают настойчиво долбить несуществующий wp-login.php. Это создает нагрузку на хостинг, в то время, как он отдает постоянно 404 ошибку.
Нет смысла запрещать запрещать доступ к переименованному файлу, о нем все равно никто не знает 🙂
Я сделал проще, прописал в htaccess так
Deny from all
Allow from мой ip
но этот вариант не подойдёт тем у кого динамический ip