Как ограничить доступ в панель администратора wordpress по ip-адресу

Как ограничить доступ в панель администратора wordpress по ip-адресу

От автора: согласно данным исследования 2013 года, каждый день взламываются примерно 30 000 сайтов. И как все мы понимаем, чтобы обезопасить свой сайт от взлома, необходимо предпринять определенные меры. Важно обезопасить свои личные данные, но еще важнее дать пользователям понять, что их данные также находятся под защитой. Защищенный сайт значит сайт, заслуживающий доверия.

Существует несколько методов от взлома вашего сайта на WordPress. Один из них это ограничить доступ заданным пользователям. В этой статье я пошагово расскажу, как ограничить доступ к панели администратора WordPress по ip-адресу.

Но сначала давайте быстро пробежимся по угрозам безопасности сайтов на WordPress.

Угрозы безопасности WordPress

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

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

Версия WordPress – Если хакер узнает вашу версию WordPress, он может использовать уязвимости данной версии для получения доступа к сайту.

Глобальная регистрация в WordPress – По умолчанию в WordPress отключена возможность регистрации на сайте из любого уголка мира. Лучше оставить эту опцию выключенной в качестве превентивной меры.

Доступ к темам и плагинам – Администраторы сайта получают доступ к редактированию файла функциональности, что может привести к проблемам в безопасности. Не рекомендуется изменять файл функционала сайта.

Прежде чем редактировать файлы сайта, давайте рассмотрим предварительные шаги, которые необходимо проделать.

Меры безопасности

Чуть ниже мы добавим PHP код в файл настроек .htaccess. Но перед этим необходимо сделать резервную копию файла конфигурации.

Некоторые из вас захотят сделать полную копию сайта перед тем, как что-то изменять. Регулярное резервное копирование – хорошая привычка. Обязательно делайте копию сайта перед серьезными изменениями. Помочь в этом вам может плагин VaultPress.

Статический или динамический ip-адрес

В этом уроке мы покажем, как ограничить доступ к админке сайта как для статических адресов, так и для динамических.
Используйте инструкцию для статического ip-адреса, если вы редактируете сайт с домашнего компьютера или из нескольких других мест. В таком случае ваш ip-адрес не меняется, т.е. остается статическим.

Используйте инструкцию для динамического ip-адреса, если вы редактируете свой сайт из множества разных мест. IP-адрес часто меняется в случаях:

Когда другие члены команды разработчиков заходят и редактируют сайт из разных мест

Когда для редактирования вы используете мобильный телефон

Вы постоянно путешествуете, и вы заходите на сайт из разных мест

Основы разобрали, вот теперь можно и приступить к делу.

Приступаем к работе

Чтобы ограничить доступ к странице авторизации по ip-адрему сперва необходимо узнать свой ip-адрес.

Выше мы уже упоминали, что нам потребуется внести изменения в файл .htaccess. Второй шаг – найти файл конфигурации .htaccess. Этот файл располагается в корневой папке сайта. Если по каким-то причинам файла там нет, его можно создать вручную. Авторизуйтесь через cPanel или FTP и найдите этот файл.

Как только вы нашли файл, переходим к шагу три – вам нужно найти подходящий текстовый редактор, чтобы добавить код в файл конфигурации. Рекомендуем использовать или встроенный в cPanel редактор или установленный на компьютере (например Notepad).

Обратите внимание: Дабы не испортить существующие настройки сайта, весь код в .htaccess добавляется в самый верх.

Ограничиваем доступ по статическому ip-адресу

Если ваш ip-адрес не меняется или вы используете всего пару-тройку известных адресов, можно ограничить доступ к сайту по статическим адресам. Вы научитесь создавать список IP-адресов, которым позволено входить в панель администратора.

Как ограничить доступ к панели администратора по статическому ip-адресу

Откройте файл .htaccess через cPanel или любой другой текстовый редактор.

Скопируйте код ниже в самый верх файла .htaccess (Gist).

RewriteEngine on

    RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$

    RewriteCond %{REMOTE_ADDR} !^12\.345\.678\.90

    RewriteCond %{REMOTE_ADDR} !^IP Address InsertTwo$

    RewriteCond %{REMOTE_ADDR} !^IP Address InsertThree$

RewriteRule ^(.*)$ - [R=403,L]

Редактируем код

Вам осталось лишь изменить строки 4 и 5 (в Gist это строки 9 и 10) и добавить разрешенные ip-адреса. Для этого замените IP Address InsertTwo$ и IP Address InsertThree$ на нужные адреса. Адреса должны быть в формате, как в строке 3 (в Gist строка 8).

Добавление и удаление авторизованных пользователей

Если нужно добавить еще разрешенные адреса, просто скопируйте строку RewriteCond %{REMOTE_ADDR} !^IP Address Insert$ и замените в ней IP Address Insert$ на нужный адрес. Также можно запретить доступ пользователям к панели администратора, удалив строку с их адресом RewriteCond %{REMOTE_ADDR}.

Что будет если неавторизованный пользователь зайдет на страницу?

После того, как вы ограничили доступ к админке по ip-адресу неавторизованный пользователь, зайдя на страницу авторизации или страницу wp-admin, увидит страницу 404.

Если вы используете Gist, то можете заметить, что редирект там прописан в первых двух строках. В строках 1 и 2 необходимо заменить your-site’s-path на адрес вашего сайта.

Ограничиваем доступ по динамическому ip-адресу

Некоторые из вас, возможно, хотят открыть доступ к панели администратора множеству пользователей. Такая ситуация может возникнуть, если у вас много редакторов сайта, или вы обслуживаете сеть из нескольких сайтов. Основной момент тут в том, что для входа в панель администратора требуется несколько динамических ip-адресов.

Как ограничить доступ к панели администратора по динамическому ip-адресу

Откройте файл .htaccess через cPanel или любой другой текстовый редактор. Скопируйте код ниже в самый верх файла .htaccess (Gist).

RewriteEngine on

    RewriteCond %{REQUEST_METHOD} POST

    RewriteCond %{HTTP_REFERER} !^http://(.*)?your-site's-name.com [NC]

    RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]

    RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$

RewriteRule ^(.*)$ - [F]

Редактируем код

Чтобы код заработал, замените your-site’s-name.com в строке 3 на URL вашего сайта (в Gist строка 7). В Gist версии редирект также прописан в первых двух строчках. В строках 1 и 2 замените your-site’s-path на адрес вашего сайта. После этого если сработает редирект, то вас перебросит на страницу 404.

Функционал кода

Данный код ограничивает доступ хакерам, которые с помощью ботов пытаются подобрать логин и пароль простым перебором извне. Код файла .htaccess означает, что на страницу авторизации или wp-admin смогут попасть только пользователи, которые перешли на нее по внутренней ссылке.

Заключение

Решения, которое гарантирует стопроцентную безопасность вашего сайта от любых возможных угроз, не существует. Ограничение доступа по ip-адресу добавит хакерам сложностей при попытке взлома сайта простым перебором.

Автор: Rafay Saeed Ansari

Источник: http://www.sitepoint.com/

Редакция: Команда webformyself.

Хотите быстро научиться создавать сайты и блоги на WordPress с уникальным дизайном?

Получите самую полную в Рунете бесплатную систему обучения создания сайтов на WordPress “Уникальный сайт с нуля”

Получить

Метки:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree