Защита админ-панели на wordpress

Ноябрь24

logo

Всегда задавался вопросами безопасности блога. Последнее время часто стал замечать, что пароль от моей админки не раз пытаются подобрать(можно отследить специальными скриптами или плагинами). Для wordpress существует огромное количество плагинов, закрывающих доступ к админке, меняющих ее адрес, ограничивающих количество попыток ввода перед блокировкой IP злоумышленника. Все они широко используются и имеют кучу отзывов в сети. Можно было бы использовать для защиты своего блога их — но есть некоторые моменты, почему мне бы этого делать не хотелось:

1. Плагины можно ломать и обходить — что неоднократно доказывали разные народные умельцы.

2. Ставя плагин — мы не всегда представляем четко механизм его работы. Хорошо, если он действительно работает так, как написано в описании. А если он имеет другие недокументированные функции? Скажем, устанавливает на ваш сайт некий скриптик…( нет, я вовсе не параноик, просто сталкивался с подобной вещью и был очень зол на разработчиков, с тех пор ставлю малоизвестные плагины очень аккуратно )

3. Мы никогда не можем быть уверены, что плагин не даст сбой после обновления или после установки другого схожего плагина( был случай, когда плагин после обновления смел базу разрешенных ip адресов для подключения — пришлось заново настраивать. После подобного случая быстро от него отказался. ).

4. Лишний плагин грузит ресурсы нашего сайта.

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

Защита админ-панели через .htaccess

Чтобы защитить свой блог от взлома, логичнее всего закрыть доступ к админ панели. В WordPress за это отвечает папка wp-admin — в ней находятся все файлы вашей админки.
Самый надежный способ защиты — ограничить доступ к этой папке для всех, кроме собственных компьютеров. Мы будем это делать по IP адресам( как узнать свой ip адрес? ). Для нужно создать в папке wp-admin нашего сайта файл .htaccess (должен начинаться с символа точки) и написать в нем следующий код:

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WP Access Control"
AuthType Basic
<LIMIT GET>
#Запрещаем доступ всем!
order deny,allow 
# кроме.. указанных ниже
deny from all 
# разрешаем IP из Дома
allow from xx.xx.xx.xxx
# разрешаем IP от Друга 
allow from xx.xx.xx.xxx
# разрешаем IP с Работы
allow from xx.xx.xx.xxx
</LIMIT>

Как видно из кода, мы указываем серверу «Apache» запрет доступа к папке для пользователей со всех айпи. И далее вносим исключения и прописываем доступ с каких «айпишников» мы разрешаем. Если разрешений довольно много, то можно добавить к ним комментарии — для памяти( возможно в будущем нужно будет что-то поменять ).

 Как это действует?

Все довольно просто. Если пользователь, IP адрес которого не числится в списках разрешенных, обратится к нашей админке с запросом в схеме протокола http://НАШ_ДОМЕН/wp-admin, то он увидит примерно следующую картину:

301_error

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

Поделиться в соц. сетях

Метки: ,
Copyright © 2013-2017. All rights reserved.

Опубликованно Ноябрь 24, 2014 by Feanor184 в категории Web

Об Авторе

Постигаю Linux, учу Python, пытаюсь программировать)

26 комментарий(ев) к записи “Защита админ-панели на wordpress

  1. Stas85

    Отличный метод! Давно думаю повысить безопасность своего сайта, плагины не использую по тем же самым соображениям.

  2. IMPULSE

    А есть возможность прописать айпишник сети от и до не внося весь список айпишников 99 штук в файл?

    1. Feanor184 Автор поста

      Конечно, нужно написать маску подсети, например 78.32.198.0\24 тогда пулл блокированных адресов будет выглядеть так:
      Хост(min): 78.32.198.1

      Хост(max): 78.32.198.254

  3. greenhard

    Пестренький сайт, как будто в онлайн игру играешь) а на счет безопасности блога — надо ставить плагин, который кэширует данные, тогда вредоносный код невозможно будет установить, он просто не будет работать. Ну и не ставить логин admin и пароль 1234 и подобные словарные.

    1. Иван

      Да и не совсем простые логины и пароли подбирают.
      Что касается шаблона блога — и вправду клевый.

  4. Windows

    Вообще самый простой метод — быть нестандартным, использовать не «admin» как логин, а какой-нибудь ник, так как боты будут перебирать пароли именно для этого пользователя.

    Выходит так, что надо не только подобрать пароль, но и пользователя, особенно если на сайте как автора использовать другой ник.

    Метод прост и действенен даже с паролем «12345»

    1. Feanor184 Автор поста

      Windows, вы не правы) Узнать, имя админа сайта на wordpress c 98 процентной вероятностью можно, даже если оно изменено — дело 10ти секунд) Например, у вас имя админа — windows. Надеюсь, пароль не 12345 )))

    2. Windows

      Гугл меня сдал? Просто нигде не светился, а гугл каким-то образом нашёл страницу. С роботсом не доработал.
      Или есть другие способы?

  5. Иван

    А что делать, если я хочу, к примеру, уехать в командировку и не знаю еще какой там будет ip-шник? Как получить доступ к своему сайту!?

    1. Feanor184 Автор поста

      Иван, доступ по ip ограничен админкой. Никто не мешает в командировке зайти на свой хостинг и вписать в конфиг новый айпишник!)

  6. Giesgrat

    Обычно ставится плагин ограничения попыток актиации, какой нибудь Anti-XSS attack и подчищается wp-config. Вскрыть wp можно в любом случае, вопрос зачем.Может лучше не тратить время на усиление защиты, а чаще делать бэкапы.

    1. Feanor184 Автор поста

      Бекапы не прокатят, если вы нашли вредоносный код на своем сайте спустя пару месяцев — бывает и так, причем довольно часто) Редко кто имеет беки сроком больше недели.

    1. Feanor184 Автор поста

      Галина, для вас — да. Но в наше время, динамический ip, не часто встречается у провайдеров)

  7. A-Kak

    Все написано верно! Я лично считаю что достаточно смены стандартного логина «admin» и пароля символов от 12.

  8. Дмитрий

    Я два сайта потерял потому что меня взломали и предлагали выкуп. При том предлагали выкуп на арабском.

  9. Vlad

    Где то встречал другое решение — двойной пароль в админку (2 разные страницы) + кастомный урл админки. Если с произвольным урл все не так сложно, то двойной пароль вызывает вопросы. Неужели плагином делали?

    1. Feanor184 Автор поста

      двойной вход используется на некоторых движках, но на вордпрессе я его пока не встречал)

  10. Надежда

    Очень актуальная тема! В свое время подрабатывала контент-менеджером: наполняла сайта на Вордпрессе. В отношении двух ресурсов, самых успешных, предпринимались попытки взлома. С заказчиком остаюсь в дружеских отношениях до сих пор и обязательно дам ему ссылку на эту статью.

  11. Oddwings Escape

    Все написано верно! Я лично считаю что достаточно смены стандартного логина «admin» и пароля символов от 12.

  12. Владислав

    Меня больше заинтересовал вариант с кастомизацией урл админки… но мне кажется, что тоже легко узнать. Многие админку в роботс прописывают, как дислоу… хотя, возможно только я так делаю и смысла от этого нет. Я не особо знаток в этом. В любом случае мне кажется, что даже это узнать можно. А вообще где-то читал, что чем популярнее CMS, тем выше риск взлома.

  13. Тихвин

    Метод хороший, но не очень удобный, т.к. в админку бывает нужно входить с разных мест. Клиенту точно такое не сделаешь, т.к. через пару месяцев прибегут с «непонятной» ошибкой недоступности админки.

  14. Николай

    Здравствуйте, спасибо за статью сделал все как здесь написано, давно нужно было обезопасить сайт и ограничить доступ к админской панели через .htaccess

Оставьте комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

=

Перед тем, как оставить комментарий, убедитесь, что вы ознакомились с правилами комментирования этого блога.