На днях хостер заблокировал мой IP. После вопроса в поддержку был получен ответ такого типа: Идет мощная DDOS атака, применяется brute force, к админкам на WordPress и Джумле подбираются пароли.
Естественно я рад, что хостер, ради защиты моего блога заблокировал подозрительную активность, но я ведь админ и мне нужно пользоваться блогом, писать сюда в конце концов :) Поэтому решил лишний раз себя обезопасить и свести на нет блокировку моего IP на время атак и на будущее. Что я сделал?
Первый шаг: смена админа
Самый банальный способ, но часто именно его никто не выполняет для усиления безопасности. Так было и со мной, но сейчас я сменил имя админа блога и еще одно слабое звено исключено. Как это сделать?
Логинемся под именем admin, как это делали всегда. Создаем нового пользователя с правами администратора (Пользователи ? Добавить нового):
- Имя пользователя (обязательно) — укажите тут то имя, с помощью которого вы будите логинется. Был admin, а станет, например FedyaPupkin2014 (не используйте только ваше реальное имя, или закодируйте его транслитом и дополнительными символами)
- E-mail (обязательно) — укажите реальную работающую почту, например FedyaPupkin2014@gmail.com
- Имя — например Fedya
- Фамилия — например Pupkin
- Сайт — можно не указывать
- Пароль (обязательно) — пароль указывайте не менее 15 символов! Не нужно лениться, это безопасность вашего сайта. Даже если на нем нет ничего важного и это просто сайт визитка, лишний геморрой вам не нужен, проще нажать пару дополнительных клавиш, чем портить себе нервы. Если индикатор сложности пароля зеленый — то все у вас отлично.
- Repeat Password (обязательно) — повторите пароль
- Роль — обязательно Администратор.
Выходим из админки и можем навсегда забыть о логине admin, теперь мы будем заходить как новый пользователь FedyaPupkin2014. Но для начала, нужно предпринять еще несколько шагов для безопасности. Логинемся как FedyaPupkin2014 и заходим в раздел Пользователи. Удаляем учетную запись admin и привязываем все записи к новому пользователю. Если вам жалко или по каким-то другим причинам не хочется удалять пользователя admin (а это лучшее решение), то можно сделать следующее. Понижаем права пользователя admin до подписчика:
Теперь, даже если пользователя admin взломают, то никаких возможностей для управления блогом у злоумышленников не будет.
У нового пользователя нужно скрыть логин ником. Для этого заходим в настройки пользователя FedyaPupkin2014. В поле Ник (обязательно) вписываем admin. В выпадающем списке Отображать как выбираем admin. Теперь, вы снова отображаетесь как admin, но при этом ваш логин совсем другой, а именно FedyaPupkin2014.
Шаг второй: установка и настройка плагина Lockdown WP Admin
Установите плагин Lockdown WP Admin и активируйте его. Я бы советовал это делать прямо из админки:
Теперь его нужно настроить и займет это целых 10 секунд :)
Прячем wp-login.php и wp-admin
При атаке brute force пароли подбираются к логину admin на странице входа wp-login.php и wp-admin. Поэтому важно не только сменить логин (а его могут узнать, если взламывать вручную например, но нужно сильно постараться), но и страницу с авторизацией. По умолчанию это wp-login.php, и даже если вы вручную измените эту страницу хитрыми способами и запретите на нее вход через .htaccess, то все равно новую страницу можно узнать перейдя на wp-admin. От автоматических и тупых ботов он может и защитит, а от ручных или умных — вряд ли. Тут нам и приходит на помощь плагин Lockdown WP Admin.
Заходим в раздел Lockdown WP и ставим галочку возле Yes, please hide WP Admin from the user when they aren’t logged in. Теперь страничка wp-admin доступна только тем, кто залогинелся, для других будет вылазить ошибка 404.
Скрыть/изменить wp-login.php поможет окошко Your current login URL is. Сюда вбейте страничку на которой вы хотите авторизовываться. Это должна быть совсем нелогичная, вымышленная страничка, известная только вам. Пример:
Вот и все. На практике, на это уйдет не более 15 минут. Теперь вы можете не переживать не только за автоматические атаки на ваш сайт, но и за ручной взлом. Все эти шаги я сделал на моем блоге, можете увидеть работу в действии.
17 ответов к “Защита WordPress: меняем имя администратора и прячем wp-login.php, wp-admin”
Это всё конечно здорово и мне мой регистратор даже дал доступ через 8080, но все попытки войти в админку оказались пусты, что делать не знаю
У меня все отлично заходит в админку. Возможно вам хостер на время атаки заблокировал вход в админку — у меня так было вчера или позавчера.
Спасибо за статью, волна ботов накрыла работу сайта… единственное замечание: для того что бы узнать логин скрывающийся под админом, к сожалению, сильно стараться не придется, проверил на вашем блоге так же легко выдает инфу — логин s….r
Ярослав и вам спасибо за комментарий. Только вот я тоже всех карт не раскрывал. Например, логин автора поста может не являться логином главного админа. Поясню: написав пост от имени seopmr и разместив его, можно иметь всего лишь роль Автора. Администратор же может скрываться под другим логином, вымышленным и тем, которое нигде не палится. Надеюсь фишку поняли :)
Да фишку понял, но на практике наверное не совсем удобно получается «разрываться» между 2-мя учетками, хотя все решаемо если залогиниться с разных браузеров и иметь доступ сразу))
Ничего сложного не вижу для себя. А логин и пароль в памяти браузера не держу принципиально :) Зато безопасно :)
Полагаю, мой новый плагин позволит поднять планку безопасности вашего WordPress: wordpress.org/plugins/apache-password-protect
Не совсем понимаю зачем он нужен. Лучше ссылку на русский мануал дайте.
для предотвращения атаки на каталог wp-admin и файл wp-login.php
Ну так ведь уже есть такой плагин и я его показал. Чем ваш плагин принципиально лучше? В чем его преимущества?
Спасибо! Первая часть для меня открытие))
Скажите пожалуйста, установил недавно этот плагин, в настройках случайно выбрал WordPress login Credentials. После этого при заходе в админку просит ввести пароль и логин только не пойму что за логин и пароль, так как под которыми я заходил в админку не пускает. Подскажите пожалуйста как зайти или как без админки убрать данную настройку(не плагин а именно настройку)
Приветствую. Вы имеете ввиду, что после ввода пароля основного окна у вас всплывает сообщение о вводе дополнительного логина и пароля? Если так, то убрать эту функцию можно только снеся плагин через ФТП, на то она и защита ;) В админку вы не попадете другим способом. Если не правильно вас понял, то напишите подробней — помогу ;)
Здравствуйте!
Спасибо за статью, сделала всё, как Вы написали. Хотя мой сайт ещё только готовится к выходу (пока он пустой, только тема установлена), но я заметила, что ко мне через login.php пытались войти. Установила плагин, прописала вымышленное имя для странички авторизации и наблюдала ещё 3 дня, как пытались атаковать сайт через login.php, но у них уже ничего не получалось.
Атака прекратилась и теперь я вижу, что иногда пытаются набрать стандартные фразы типа administrator, admin.php и т.п. и у них выдаёт ошибку, т.к. дальнейших действий от мошенников уже не поступает. И это замечательно!
Спасибо Вам за подробно написанную статью!!!
А ещё вопрос можно задать?
Т.к. я вижу, что и с какого IP адреса набирают при заходе на сайт, то после установки плагина я заметила, что моё вымышленное имя набирают Googlebot и ещё один бот от openstat. Хотя у меня плагин openstat и не стоит, т.к. мне пока статистику с сайта собирать нет смысла.
Скажите, пожалуйста, это так и должно быть (я про ботов)? У Вас тоже также происходит?
Я очень переживаю, что мой сайт могут взломать. Хотя на нём пока и ничего нет, но пишется тема и разрабатывается дизайн. А это очень затратно. И не хочется открывать сайт для посетителей, пока я не сделаю защиту.
С уважением, Юлия.
Приветствую. Спасибо за такой подробны и положительный комментарий. Скажите пожалуйста каким инструментом вы смотрите что ваше вымышленное имя набирают?
У меня в cPanel есть журнал последних посещений. И в нём сразу отражается с какого IP заходили, в какое время, с какого браузера и какую страницу просматривают.
К примеру если будут набирать site.ru/wp-admin (или к примеру /categori или название статьи), то я это вижу в журнале.
Если там отображается что заходит бот Гугла, то значит это не кто-то заходит, а сам Гугл. Скорее всего где-то на сайте есть ссылка на страницу для авторизации. Гугл бот по ней переходит и вы видите что кто-то заходит на эту страницу. Если я конечно правильно вас понял :)