Здравствуйте дорогие друзья! Недавно, от службы поддержки хостинга мне пришло письмо о том, что блог подвергся брут атаке подбора пароля, и они сменили страницу входа.
Спустя несколько дней страница перестала работать, и я обратился к ним с этим вопросом. Ответили мне довольно быстро. Написали, что восстановили стандартную страницу входа и попросили как можно быстрее ее сменить.
Выяснилось, что в последнее время участились атаки по подбору пароля к панелям администраторов CMS WordPress и Joomla. Злоумышленники используют десятки тысяч IP-адресов, что дает им большое преимущество.
Пользователи Joomla могут дополнительно защитить свой сайт, установив на папку administrator логин и пароль. Как это сделать уточните у своего хостера.
Тем, кто использует WordPress, рекомендую менять стандартную страницу логина (wp-login.php) вручную или с помощью плагина.
Сначала хотел предложить пару плагинов, но перепробовав несколько на тестовом сайте, понял, что зря убил время. Не устроило следующее:
- Плагины давали больше возможностей, чем мне было необходимо.
- Работа плагинов не устраивала. Она зависела, например, от того установлен блог в поддиректорию или директорию.
- Нужно много времени на поиск и тестирование работы плагина.
Думаю, вы также помните, что я не приветствую плагины, поэтому разберем, как изменить адрес входа в админку WordPress вручную.
wp-login.php находится в корневой папке WordPress.
Для того, чтобы переименовать файл wp-login.php (тем самым изменить страницу входа) вам потребуется:
- Измените название файла wp-login.php на свое (например, 123-abc.php)
- Скопируйте это название, откройте переименованный файл 123-abc.php и с помощью текстового редактора замените все слова wp-login.php на 123-abc.php.
- Откройте файл wp-includes/general-template.php и также произведите замену всех wp-login.php на 123-abc.php.
После этих несложных манипуляций адресная строка входа в панель администратора изменится с https://site.ru/wp-login.php на https://site.ru/123-abc.php
Если вы используете стандартный виджет «Мета» — удалите его, так как при наведении на ссылку «Войти» виден URL страницы входа, которую вы изменили.
Этими действиями мы изменили адрес админ-панели, а далее я расскажу «Как скрыть URL входа админ-панели WordPress«.
Вот такой, маленький по объему, но надеюсь полезный по содержанию пост.
Спасибо за совет, а то хостер, из за массового брута Вп сайтов, закрыл вход на стандартную страницу админки)
Пожалуйста! 🙂
Статья очень полезная но не совсем полная. Чтобы узнать новый адрес входа достаточно ввести https://site.ru/wp-admin и редирект вас перекидывает на ту самую новую страницу админки https://site.ru/123-abc.php. Расскажите пожалуйста, как убрать редирект.
Это также зависит от хостинга и можно проверить .htaccess. У меня при вводе wp-admin хостинг блокирует страницу, а если набрать site.ru/wp-login.php, то вылезет ошибка 404 🙂
Проблема АКТУАЛЬНА! редирект на всех сайтах? что у меня, что у знакомых, как его убрать? Ты написал про .htaccess — но написал только названия файла, много ли из этого можно понять?????
Посмотрите статью — “Как скрыть URL входа админ-панели WordPress“
Очень-очень вовремя! Как раз сейчас было нужно (переехал на новый хостинг), а самому искать где что прописано…
Спасибо огромное!
Виталий, пожалуйста! Рад, что вам пригодилось 🙂
Олег, для этого в файле htaccess добавьте
deny from all #Запрещено всем
Artem, спасибо за дополнение 🙂
Можно и конкретный файл закрыть, по его названию и расширению:
order allow,deny
deny from all
Этим мы закрываем wp-login.php
Однако как нельзя вовремя . Спасибо за инфу. Восстановил доступ к своим сайтам 😎
Пожалуйста 🙂
Добрый день, скажите пожалуйста, а если нет файла general-template.php, какой файл может быть вместо него ? пробовала изменить admin-bar, но тогда даже вход в админку не нужен, сразу оголяется весь сайт. Может этот файл создать можно? очень надо скрыть вход в админку, меня хотят взломать) Пробовала ставить плагины, но от них толку ноль, набираешь в адресной строке wp-admin и перекидывает на скрытую админку)
Здравствуйте, Мария. Файл general-template.php должен быть. Возможно, вы не заметили его или он скрыт, попробуйте воспользоваться ftp соединением. Проверьте почту, указанную в комменатрии. 🙂
Сергей, спасибо! Я нашла, благодаря вашему письму! 😉
Мария, пожалуйста! 🙂
это не стоит делать так как тогда будет постоянно редиректом перебрасывать на новую страницу, которую создали, URL будет не полсностью совпадать, но из него легко можно понять куда переехала админка.
И htaccess ничем не поможет, пока не вернул в файл wp-includes/general-template.php вместо нового имени старое wp-login.php
У меня никаких проблем не возникало 🙂 И куда переехала тоже особо не видно 🙂
Проблема аналогичная как у Александра пока не вернул wp-includes/general-template.php все время перекидывало на вновь созданный файл и куда переехала админка конечно же ОСОБО видно в адресной строке.
и конечно же дополнительно дополнительно прописал запрет на вход с других ай пи
deny from all
allow from 0.0.0.0
в поле allow from 0.0.0.0 прописал свой ай пи в виде исключения, можно прописывать сколько угодно добавляя новую строку ниже в таком же виде
Сайт подвергся буртатакам в последствии упал сервер. возобновили спустя несколько часов.
Возможно, в новой верси WordPress внесли какие-то изменения, на 3.5 все проверял, все было нормально. Перепроверю, спасибо.
Thank you very much! 😮 У меня стоит плагин, блокирующий IP на 48 часов после 9 неудачных попыток входа и отсылающий отчет об этом событии на е-маил. День через день по одному-два отчета приходило пока страницу не сменил.
Пожалуйста! 🙂 Правда в новой версии ВП какие-то непонятные изменения, страницу можно узнать, если захотеть, думаю, скоро найдется решение 🙂
Пожалуйста 🙂
Лучше уж плагины ставить, чем хакать ядро движка. А когда обновление выйдет, снова будете хакать уже новую версию?
Постараюсь что-то придумать.
Я так понимаю, что при обновлении WordPress на новую версию эти файлы заменятся, и надо будет их редактировать заново?
Да, вы все правильно поняли.
Для этого существует плагин: Lockdown WP. Меняет страницу входа и убирает редирект для незалогиненных пользователей. И еще один полезный плагин: Better WP Security. Так же не мешает установить Hide My WP — для удаления следов движка. 😉
Я ставил все указанные вами плагины, результат был нулевым. Также пытаюсь больше копаться в коде, нежели загружать блог бесполезными плагинами 😈
Спасибо! Все вопросы закрыл плагином Lockdown WP :o. Плагины стараюсь использовать по минимуму, но это стоящий того что-бы его установить 😎
Что значит нулевым? 🙂 При установке этих плагинов и еще парочке модификаций файлов, движок перестает определятся всяческими сервисами определения 🙂 А что еще нужно? Главное ведь избежать массовых атак?!
Вы предлагаете ставить несколько плагинов и при этом, все равно придется модифицировать какие-то файлы. Я же хочу найти решение, которое позволит обойтись всего парой модификаций, не прибегая к установке плагинов.
Да, вы правы, главное избежать атак и каждый борется, как может 🙂
Полезная статья! Использую версию WP 3.8.0. Все получилось! Давно искал полезное решение, нашел только здесь! Везде плагины да плагины а хочется чегото простого)) Спасибо! 🙂
Пожалуйста! 🙂 Я тоже не приветствую плагины, стараюсь использовать их в минимальных количествах.
Спасибо. Работает вроде бы все =)
Пожалуйста 🙂
У меня вот какая проблема… когда у меня в блоге кто-то оставляет комментарий мне приходит письмо, в котором есть ссылочки для того, чтоб одобрить комментарий, отклонить или отправить в спам.
Если я заранее не авторизован то меня перекидывает на заблокированную хостингом страницу wp-login.php а если авторизован, то ссылки срабатывают нормально. Подскажите пожалуйста, где мне поставить новый адрес вместо wp-login.php чтоб редирект шел на новую страницу авторизации? Чтоб я мог заранее не авторизовываясь заходить из почты в админку, если не авторизован.
Заранее благодарю.
Редирект вы можете настроить в файле .htaccess, не забудьте сделать резервную копию 🙂
Благодарю за ответ. Это первое, что я попытался сделать. К сожалению файл wp-login.php игнорируется на более высоком уровне, на уровне администрирования сервера. Таким образом, даде если его тупо удалить, сервер вме равно будет сообщать о том, что вход в админку изменен. В общем вариант с редиректом с wp-login на другой адрес не помогает.
Дмитрий, попробуйте 301 редирект на php:
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://site.ru");
die("Redirect");
Эти строки говорят браузеру, что с запрошенной страницы необходимо произвести перманентный редирект на адрес https://site.ru. А в свою очередь site.ru может являться не только адресом главной страницы текущего сайта, но и любым другим сайтом.
А куда вставить-то? Если в wp-login, то не вставится, потому, что страница не считывается браузером… вот msk-ct.ru/wp-login.php на этом сайте wp-login.php нет физически, но на уровне сервера он как будто бы есть и там стоит заглушка.
Возможно я что-то не правильно понял, я так, чайник…
Фактически, вставлять на ту же wp-login, которую можно создать. У меня к вам такой вопрос: какие вы прописывали правила в .htaccess?
В .htacess Redirect /wp-login.php /мойновыйадресадминки.php
Код вставил. Всё-равно не читается wp-login
Попробуйте:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^msk-ct.ru/wp-login.php [NC]
RewriteRule ^(.*)$ https://msk-ct.ru/Новый адрес [L,R=301]
Это перенаправление на уровне сервера.
Не, не помогает. 404, 500 ошибки вылезают…
Я себе как представляю, что где-то в движке зашита функция переадресации если в админке не залогинен и при этом переходишь по ссылке в админку. Вот где это может быть зашито? Через .htaccess не совсем то будет.
Дмитрий, даже не знаю, как сейчас вам помочь, захожу с телефона. Вам так нужны эти кнопки с почты? Мне кажется проще сразу в админку зайти
Эххх, ну да и фиг с ними. Да не то, чтобы очень нужны, просто каждый раз, когда модерирую комменты приходитмя с мобилки сначала авторизовываться, а потом уже модерировать. Не очень удобно, но не смертельно 😉
Спасибо большое за потраченное время!
Дмитрий, да не за что, жаль, что не смог вам помочь.
Мне при 500 ошибке сайта хостеры помогли… Это у них что — то за блокировано было, дали инструкцию где что подправить и все ок — заработало… но это немного на другой cms…Но я более чем уверен что стоит у них по ошибкам спросить — это ошибка по моему файла .htaccess
Все получилось)) Но только одна беда — не могу теперь выйти из админки 🙂 Как это можно поправить?
Рита, возможно, вы не везде заменили wp- login.php на свой, также очистите кэш браузера и сайта.
Насчет переименования wp-login — это хорошая тема. Сам удивляюсь, как я раньше не догадался. И убрать мета-виджет на вход тоже. Сам-то я знаю как заходить в админку, а это главное! ) Вообще, вы, ребята, молодцы. Хоть кто-то рассказывает об элементарных средствах защиты.
Согласен 🙂 Да, ребята стараются 😈
ничего не получилось.
белую страницу показывает при заходе на https://site.ru/123-abc.php. в чем может быть проблема?
Вы переименовали все значения wp-login на «123-abc» ? Возможно, что-то упустили. Было бы проще, если бы описали, что делали.
Все пишут о плагинах о изменениях 💡 , но почти никто не приводит, конкретных примеров…. названий плагинов итд… Вас же читают и начинающие пользователи!!!! ➡
Я вот знаю что если изменить в cms OpenCart админку — проблема с установкой дополнений будет (плагинов), в архиве плагина — директорию админ. нужно менять на то название на которое вы сменили админку cms, а потом устанавливать плагин.
Вопрос, по wordpress — в этой cms какая ситуация???? Возможно тоже такие же действия производить нужно?
Виктор, давайте процитирую предложение статьи:
А после, следуют довольно понятные пункты, что нужно делать. Насчет OpenCart не знаю, в WP все нормально, ставил как официальные, так и не официальные плагины, никаких проблем.
Страница админки открывается по адресу: www/site.ru/www/site.ru.. Хотя главная страница открывается по адресу: www/site.ru. Я так понимаю, что нужно что-то прописать в general-template.php, но как это сделать я не знаю, потому как абсолютный новичок. Помогите!
Татьяна посмотрите внимательно на все значения, попробуйте еще раз. Прочтите статью Как скрыть URL входа админ-панели WordPress возможно, она будет вам полезна 🙂
Сергей, спасибо большое за ответ! Эту проблему я уже решила и даже дважды, переустановив WP. И теперь передо мной стоит новая задача, приобретение сертификата SSL. Я это решила сделать ещё до настройки сайта, чтобы потом не менять тысячу страниц. Но ещё не одного шага в сайтостроительстве, в этом новом для меня деле, мне не удалось пройти без проблем. Долго искала, где бы мне поменять абсолютные адреса не относительные, так пока и не нашла… И не как не получается получить сертификат. Пытаюсь получить на startssl.com… В общем, у меня ещё много открытий впереди. 🙂
Спасибо за статью!
А как можно удалить стандартный виджет «Мета»? Достаточно только убрать из активных или есть какой-нибудь метод чтобы совсем удалить из вордпресс?
Пожалуйста 🙂 Достаточно просто убрать виджет из активных 🙂
А у меня получилось 🙂
Классно, когда все выходит так, как нужно 😈