Защита админ-панели на wordpress
Всегда задавался вопросами безопасности блога. Последнее время часто стал замечать, что пароль от моей админки не раз пытаются подобрать(можно отследить специальными скриптами или плагинами). Для 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, то он увидит примерно следующую картину:
В следущей статье о защите можно узнать как скрыть имя админа сайта в WordPress и избавить себя от назойливых злоумышленников.
Отличный метод! Давно думаю повысить безопасность своего сайта, плагины не использую по тем же самым соображениям.
А есть возможность прописать айпишник сети от и до не внося весь список айпишников 99 штук в файл?
Конечно, нужно написать маску подсети, например 78.32.198.0\24 тогда пулл блокированных адресов будет выглядеть так:
Хост(min): 78.32.198.1
…
Хост(max): 78.32.198.254
Пестренький сайт, как будто в онлайн игру играешь) а на счет безопасности блога — надо ставить плагин, который кэширует данные, тогда вредоносный код невозможно будет установить, он просто не будет работать. Ну и не ставить логин admin и пароль 1234 и подобные словарные.
Да и не совсем простые логины и пароли подбирают.
Что касается шаблона блога — и вправду клевый.
Вообще самый простой метод — быть нестандартным, использовать не «admin» как логин, а какой-нибудь ник, так как боты будут перебирать пароли именно для этого пользователя.
Выходит так, что надо не только подобрать пароль, но и пользователя, особенно если на сайте как автора использовать другой ник.
Метод прост и действенен даже с паролем «12345»
Windows, вы не правы) Узнать, имя админа сайта на wordpress c 98 процентной вероятностью можно, даже если оно изменено — дело 10ти секунд) Например, у вас имя админа — windows. Надеюсь, пароль не 12345 )))
Гугл меня сдал? Просто нигде не светился, а гугл каким-то образом нашёл страницу. С роботсом не доработал.
Или есть другие способы?
Windows, описал все в этой статье: Как скрыть имя админа сайта в WordPress
А что делать, если я хочу, к примеру, уехать в командировку и не знаю еще какой там будет ip-шник? Как получить доступ к своему сайту!?
Иван, доступ по ip ограничен админкой. Никто не мешает в командировке зайти на свой хостинг и вписать в конфиг новый айпишник!)
Обычно ставится плагин ограничения попыток актиации, какой нибудь Anti-XSS attack и подчищается wp-config. Вскрыть wp можно в любом случае, вопрос зачем.Может лучше не тратить время на усиление защиты, а чаще делать бэкапы.
Бекапы не прокатят, если вы нашли вредоносный код на своем сайте спустя пару месяцев — бывает и так, причем довольно часто) Редко кто имеет беки сроком больше недели.
У меня ip меняется при каждом подключении,поэтому такой метод не подойдет.
Галина, для вас — да. Но в наше время, динамический ip, не часто встречается у провайдеров)
Все написано верно! Я лично считаю что достаточно смены стандартного логина «admin» и пароля символов от 12.
Я два сайта потерял потому что меня взломали и предлагали выкуп. При том предлагали выкуп на арабском.
Где то встречал другое решение — двойной пароль в админку (2 разные страницы) + кастомный урл админки. Если с произвольным урл все не так сложно, то двойной пароль вызывает вопросы. Неужели плагином делали?
двойной вход используется на некоторых движках, но на вордпрессе я его пока не встречал)
Очень актуальная тема! В свое время подрабатывала контент-менеджером: наполняла сайта на Вордпрессе. В отношении двух ресурсов, самых успешных, предпринимались попытки взлома. С заказчиком остаюсь в дружеских отношениях до сих пор и обязательно дам ему ссылку на эту статью.
Нет ничего лучше htaccess!
Все написано верно! Я лично считаю что достаточно смены стандартного логина «admin» и пароля символов от 12.
Меня больше заинтересовал вариант с кастомизацией урл админки… но мне кажется, что тоже легко узнать. Многие админку в роботс прописывают, как дислоу… хотя, возможно только я так делаю и смысла от этого нет. Я не особо знаток в этом. В любом случае мне кажется, что даже это узнать можно. А вообще где-то читал, что чем популярнее CMS, тем выше риск взлома.
Метод хороший, но не очень удобный, т.к. в админку бывает нужно входить с разных мест. Клиенту точно такое не сделаешь, т.к. через пару месяцев прибегут с «непонятной» ошибкой недоступности админки.
Здравствуйте, спасибо за статью сделал все как здесь написано, давно нужно было обезопасить сайт и ограничить доступ к админской панели через .htaccess
Актуальная тема, особенно когда трафик на сайт пошёл найдется обязательно кто будет ломать.