Как защитить вход в админку WordPress? Примитивные меры и WPS Hide Login. Защищаем админку Joomla от посторонних посетителей Ограничение доступа к папке в ISP

Добрый день уважаемые читатели! Рано или поздно перед вами встанет вопрос: «Как защитить сайт и админку от взлома «. Хотелось бы мне чтобы это было раньше, а не когда уже прогремит гром. То есть сайт посетят непрошенные гости и придется посидеть над восстановлением файлов. Хорошо, если вы делали резервные копии файлов и базы данных. То это день работы, а сколько нервов. Так вот, чтобы вы чувствовали себя в безопастности и нервы ваши были в порядке, я расскажу как защить админку сайта на Joomla с помощью плагина System - jSecure Authentication и не только.

Для начала хочу сказать, что у cms Joomla есть слабое место — это ее адрес к административной панели. Адрес к админке у всех практически одинаковый —

http://namesite/administrator

http://namesite/administrator

И для умельца, поставившего перед собой цель взломать ваш сайт, подобрать пароль и логин — пара пустиков.

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

Теперь следует позаботиться о сохранение резервных копий файлов и базы данных. Случиться может всякое: взломали, сами допустили ошибку — проект вылетел. На восстановление уйдет не один день. А вот при наличии копии можно проблему будет решить за считанные минуты или часы. Здесь все будет зависить от ситуации.

Так что примите мой второй совет по защите админки на Joomla
У любого хостера есть возможность создания резервных копий файлов или иначе говоря бэкап. Так что возьмите за правило ежедневно после произведенных изменений делать бэкап файлов и бд. Это поможет в непредвиденных случаях сделать откат, то есть за несколько минут вернуть проект. Если же хостер не обладает такой функцией установите себе плагин для создания бэкапа и получения его на ваш e-mail.

Еще немного я остановлюсь на хостере. К панели управления сайта у хостера вы также вводи логин и пароль. Логин дается один раз и его изменить вам не удастся, а вот пароль вы можете менять хоть ежедневно.

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

Не следует забывать и об дополнительных средствах защиты, осложняющих доступ к админке сайта на Joomla. Установите -1.0.7. он позволяет создать дополнительный ключ для входа в административную панель. Я расскажу как он работает.
Для начала его необходимо будет скачать и распаковать. Прежде чем производить его установку следует поменять атрибуты доступа у папок- system и plugins, они находятся в папке public.html или же в ttpdocs, на 777.

Это производить с помощью ftp — клиента. Запустив его и выбрав для начала папку plugins и меняем доступ, затем тоже проделываем и с папкой system. При этом следует запомнить какие изначально права были для каждой из этих папок.
Затем заходите в административную панель сайта и открываете вкладку Расширения - Установка или Удаление и устанавливаете плагин. После того как плагин был установлен, его необходимо активировать. Для этого открываете вкладку Плагины и ищете плагин System - jSecure Authentication, заходите в его настройки.
Первым делом поставить галочку в положение включить. Затем в Настройках плагина в строке Key необходимо указать кодовое слово к админпанели, а в строке Redirect Options - выбирать, что будет происходить если не правильно указали кодовое слово. Здесь два варианта - первый - возвращение на главную страницу сайта и второй сообщение об ошибке. Лучше выбрать первый вариант.

http://namesite/administrator/?кодовое слово

Которое было указано в строке Key. Административная панель открылась. А теперь попробуйте снова открыть админку, но уже не прописывая после слова administrator слеш, знак вопроса и кодового слова (просто пропишите

Вы наверняка уже знаете как можно попасть в админку WordPress?

Сделать это можно как минимум четырьмя способами, добавив к адресу вашего сайта следующее:

  1. /admin, т.е. так: http://вашсайт/admin
  2. /wp-admin
  3. /login
  4. /wp-login.php

В общем-то, все три первых варианта редиректом (перенаправлением) приведут вас всё равно на страницу: http://ваш_сайт/wp-login.php

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

Конечно же, это совсем не значит что этот любой желающий сможет также легко попасть в админку, ведь ему нужно еще знать Имя пользователя или Ваш e-mail и Ваш пароль.

Если Ваш пользователь-администратор имеет логин: – то это совсем не осмотрительно с Вашей стороны и злоумышленнику останется только угадать или подобрать Ваш пароль.

Кроме того, вы увидели надпись: Имя пользователя или e-mail ? Да, да, именно e-mail WordPress может использовать как Имя пользователя. А Вы ведь могли где-нибудь на сайте указать E-mail адрес, который совпадает с E-mail пользователя-администратора. Получается первое, что может попробовать злоумышленник – это ввести Ваш E-mail и тут WordPress ему снова поможет, ведь если E-mail не подходит он увидит такое сообщение:

а если E-mail правильный, WordPress-напишет что пароль для него не верный:

В итоге, мы имеем ситуацию при которой потенциальному злоумышленнику для взлома Вашего сайта (доступа в админку) нужно будет только угадать или подобрать Ваш пароль.

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

А теперь давайте подробнее:

  1. По возможности, сделайте так чтобы E-mail пользователя-администратора на сайте нигде не упоминался – публичный E-mail должен быть каким-нибудь другим.
  2. Ваш пароль должен быть не простым, при установке WordPress сам генерирует для вас сложный пароль, если не хотите его использовать придумайте какой-нибудь более менее сложный пароль, включающий в себя маленькие и большие символы, цифры и какие-нибудь символы типа -, ?, _ и т.д.
  3. Имя Вашего пользователя тоже не должно быть простым, никаких: admin, manager, root, administrator, user и прочих простейших слов!
  4. И наконец, нужно ввести третью самую главную неизвестную – поменять URL-адрес входа в админку, для этого установите простой плагин: WPS Hide Login
WPS Hide Login

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

После установки и активации плагина, вам нужно перейти в раздел админки: Настройки / Общие , далее прокрутить страницу до самого низа и увидеть всего один параметр добавляемый этим плагином:

По умолчанию плагин предлагает использовать вход http://вашсайт/login – но это отнюдь не самый лучший вариант! Придумайте что-нибудь своё, например: yyy12_go )))

После изменения этого параметра не забудьте нажать на кнопку Сохранить изменения – иначе при активном плагине у вас будет вход через http://вашсайт/login

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

После изменения точки входа в админку, при попытке зайти по стандартным URL-адресам пользователь будет получать 404 страницу ошибки.

Внимание! Если вдруг Вы забудете новый адрес входа в админку, вам нужно будет отключить данный плагин. Сделать это можно не попадая в админку при наличии доступа к папкам и файлам сайта. Нужно просто переименовать или удалить папку плагина wps-hide-login, которая будет в папке plugins (папка plugins находится в папке wp-content).

В итоге: после применения всех выше перечисленных мер мы должны получить защиту входа в админку с тремя неизвестными: E-mail / Имя пользователя, сложный пароль и свой уникальный URL-адрес входа – а это может значительно усложнить потуги юных хакеров)

Когда-то я уже писал пост о том, как . Способ конечно великолепен, если ваш IP — статичный и работаете над сайтом вы только в одном месте (скажем только дома или только в офисе).

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

Но что тогда делать? Ведь хочется как-то ещё защитить админку. Да так, чтобы вся директория /wp-admin была недоступна для посторонних.

Мне представляется хорошим вариантом поставить на сайте дополнительную авторизацию, используя связку.htaccess + .htpasswd .

Что ещё более удобно, вы можете применять эту блокировку не только к админке, но и ко всему сайту, например, если ваш сайт находится на стадии тестирования и вы никому не хотите его показывать раньше времени. Вот как это будет выглядеть (для Google Chrome, в разных браузерах по-разному):

Весь процесс будет состоять из двух шагов. Приступим.

.htaccess

В первую очередь создаём файл.htaccess в той директории сайта, которую хотим защитить паролем. Так как речь шла об админке WordPress, то создаем файл в папке /wp-admin .

AuthName Название авторизации. Сообщение будет отображаться в окошке ввода логина и пароля. Кроме того, для того, чтобы сохраненные пароли в браузерах сбросились, вы можете просто поменять это сообщение. AuthUserFile Абсолютный путь на сервере к файлу с логинами и паролями (как раз.htpasswd). Для того, чтобы узнать его, используйте PHP функцию getcwd() (Get Current Working Directory).

.htpasswd

Файл с пользователями и паролями вида пользователь:пароль. Пароль должен быть представлен в зашифрованном виде. Шифруем .

admin:$apr1$gidPSkjR$qvsL5fMNunK2T17DKSxtR/

Важным аспектом защиты сайтов на джумле является ограничение доступа для посторонних к административной панели управления. Большую часть атак хакеров приходится на получения доступа суперпользователя - с такими правами можно залить шелл и делать с проектом что угодно. Злоумышленники используют как обычный перебор паролей (атаку брутофорсом), так и всевозможные уязвимости самой Joomla. Именно поэтому важно вовремя обезопасить сайт и закрыть доступ к админке джумлы. Некоторые используют различные плагины для скрытия или изменения адреса админки. Как яркий пример можно привести Jsecure. Однако лично я не советую их использовать, а даже наоборот рекомендую их удалять, потому что есть более надежные и простые способы ограничения доступа от незванных гостей.

Защита админки Joomla через файл htaccess

Доступ к административной панели можно ограничить как модулями, так и настройками сервера.

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

Рассмотрим для начала как сделать это в ISP Managere. Заходим в панель управления сайтом и выбираем в "World Wide Web" пункт "Ограничение доступа":

Паролирование папки administrator в ISP manager

Выбираем пункт "Создать" и в появившемся окошке указываем полный путь до папки administrator (путь можно посмотреть по фтп, к примеру).


Поставить защиту на админку Joomla

После этого выбираем созданный пункт и нажимаем кнопку "Пользователи". Здесь жмем кнопку создать и вводим логин, сохраняем, выделяем созданного пользователя и выбираем "Изменить":


Защита админки Joomla

Вводим и подтверждаем пароль, нажимаем "Ок" - теперь админка защищена от посторонних ботов, подбирающих пароли.

Поставить админку под пароль на хостинге Beget

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

Для начала заходим в панель управления хостингом. Здесь нам необходимо выбрать и перейти в файловый мененеджер:


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


Теперь кликаем по меню "Инструменты" и у нас появится выбор между парольной защитой и сокрытием админки по айпи. Я рассмотрю оба варианта реализации на практике.


Меню "Инструменты" в менеджере файлов бегета

Если выбрали пункт "Установить пароль на текущую директорию", то появится всплывающее окно с заполнением имени пользователя и пароля. Если всё было указано корректно, то после нажатия кнопки "Установить пароль" в папке administrator создадутся файлы.htpasswd с зашифрованным паролем и логином и.htaccess с готовыми директивами. В целях повышения безопасности я советую выносить файл паролей.htpasswd за пределы сайта (выше директории public_html). Не забудьте после этого прописать новые пути в файле.htaccess!


Немного запутано выглядит второй вариант с использованием фильтрации айпи-адресов. В появившемся окне галочка должна стоять на пункте "Запретить доступ с любого адреса" и в дополнительных параметрах " Сначала запрещенные, потом разрешенные". После этого добавляем белые айпи и не забываем всё это дело сохранять. После всех манипуляций в админку можно будет зайти только с определённых айпи.


Аналогичным образом можно поставить парольный доступ к любой другой директории на сервере или же аналогичным образом можно защищать админки других CMS, таких как Wordpress, Drupal, Modx, Bitrix и другие.

Добавление пароля на папку в CPanel

Ещё одна популярная контрольная панель управления сайтами, используемая многими хостингами - это Cpanel. И в ней уже изначально внедрено создание паролей на директории и не надо самим тратить много времени с созданием и добавлением htpasswd файлов.

Для начала конечно же надо зайти в панель управления и среди множества разных пунктов выбрать "Конфиденциальность каталога" во вкладке "Файлы":


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


У нас появится окно с забавным переводом "Параметры безопасности". Здесь можно добавлять, удалять и редактировать пользователей, но всё это не будет работать, пока не поставишь галку на защите директории. Я советую сначала добавлять нового пользователя, а потом уже применять защиту папки. В любом случае, надо будет 2 раза нажимать кнопку сохранить и по юзабилити этот момент оказался непродуманным.


Можно воспользоваться генератором паролей или придумать свою кодовую фразу обязательно нажмите сохранить для добавления пользователя. Должно появиться окно об успешном завершении:


Далее нажимаем кнопку назад и применяем защиту на папку. Для этого ставим галочку напротив "Защитить этот каталог паролем", можно отредактировать сообщение, которое будет выдавать незваным гостям и обязательно жмём "Сохранить". Проверяем результат, в итоге у нас должна быть работающая двухфакторная авторизация на административную панель Joomla.

Basic авторизация для админки джумлы

Следующим вариантом для рассмотрения будут возможности файла.htaccess (в принципе предыдущий метод основан на этом, поэтому я расскажу подробнее, как сделать это вручную, или для тех, у кого хостингом не предусмотрена такая настройка в панели управлении). Для простоты понимания данный метод я называю двухфакторной авторизацией в админку.

Создаем в папке administrator файл.htaccess со следующим кодом:

AuthType Basic
AuthName "/"
AuthUserFile "Путь к файлу паролей/.htpasswds/passwd"
require valid-user

Итак, теперь рассмотрим подробнее, в строке AuthName в кавычках мы указываем текст выводимого сообщения авторизации (Будь то "Введите логин-пароль для входа в административную панель" до "Бот дальше не пройдет" - всё зависит от вашей фантазии).

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

Создать файл паролей не так сложно, достаточно в гугле вбить "htpasswd creator", и нам будет предложено много онлайн-сервисов по генерации ключа.

Не забудьте поместить сгенерированную строку в файл по пути, которому мы прописали в файле.htaccess. И обязательно проверьте работоспособность успешного входа: при неверно прописанных путях даже с корректным вводом пароля будет выдаваться ошибка сервера, и в админку мы не попадем.

Данный способ называется basic авторизацией, реализованный в стандартных инструментах апача. Единственным недостатком данного метода является то, что пароли передаются открытым текстом. Хоть вероятность перехватить данные пароли мала, для более высокой степени защищенности можно использовать digest авторизацию.

Digest авторизация для защиты админки джумлы.

На этот раз пароль будет зашифрован браузером в md5 и уже не будет обычного незащищенного текста. В остальном всё схоже с basic вариантом, обязателен лишь параметр AuthName. Ну и изменяется тип авторизации, а так всё остается аналогичным:

AuthType Digest AuthName protected AuthUserFile мой путь к файлу.htpasswd Require valid-user

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

Защита админки Joomla по айпи

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

Order Deny,Allow
Deny from all
Allow from myip

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

Allow from 192.168.0.1

Allow from 127.0.0.

Allow from 178.133.

В первом случае зайти можно будет с одного адреса, во втором случае с диапазона 127.0.0.1-127.0.0.255, а в последнем варианте с адресов 178.133.0.1-178.133.255.255

На этом о защите админки хватит, а теперь стоит почитать