Обзоры расширений Joomla

  • Тип – защита админки Joomla от несанкционированного доступа.

 

 

В статье «Обзор Siteguard. Проверка сайта на вирусы» я уже затрагивал тему повышения безопасности сайтов от несанкционированного доступа. В этой статье я хочу рассмотреть компонент (и плагин) для защиты админки сайта Joomla jSecure Authentication. Рассмотрение этого компонента будет проходить на примере системы управления контентом с открытым кодом Joomla версии 1.5.23. Версия jSecure Authentication 2.1.8. Сайт находится на локальном сервере (MySQL 5.1.4, PHP 5.3.3, Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8k).

Хочу сразу отметить, что плагин Joomla jSecure Authentication, как и любое другое отдельно взятое средство, не защитит Вас на 100% от всех способов взлома сайта. Но это маленький шаг к повышению общей устойчивости сайта к атакам. Он просто помогает скрыть админку Joomla.

Возможно, у Вас может возникнуть вопрос: «А зачем вообще скрывать доступ к административной зоне сайта, если для входа в неё всё равно потребуется ввести логин и пароль?». С одной стороны, установка любого компонента, модуля и\или плагина добавляет в Ваш сайт код, в котором могут содержаться ошибки, открывающие новые способы для атаки, замедляющие Ваш сайт, увеличивающие нагрузку на сервер и время загрузки страниц сайта у пользователя в браузере. Так же есть вероятность возникновения конфликтов с уже существующими компонентами и с вновь устанавливаемыми. Для опытных веб-мастеров, возможно будет проще самостоятельно скрыть доступ к административной зоне. Например, при помощи .htaccess и\или правки исходного кода самой системы управления контентом. Однако это может оказаться несколько трудозатратным делом. Но в любом случае «стандартный» доступ ко входу в администраторскую зону сайта необходимо скрыть. Ведь не для кого не секрет, что для входа в администраторскую зону сайта Joomla необходимо просто дописать в конце имени сайта в строке адреса слово administrator. И перед вами откроется окно с полями ввода логина и пароля. Злоумышленник сразу увидит, что это Joomla (а скорее всего поймёт и какая версия 1.0, 1.5 и так далее), и начнёт применять скрипты, направленные на известные уязвимости в безопасности конкретно этой системы управления контентом. Можно сразу приступить к подбору логина и пароля (хотя есть куда более эффективные методы получения доступа к административной зоне сайта). Даже если лично Вы используете надёжные логин и пароль, то другой человек, имеющий доступ к административной зоне сайта может использовать что-то типа 123456 в качестве пароля. А увидеть логин можно, например, на форуме, где он в качестве администратора модерирует ту или иную ветвь. При использовании .htaccess Вы заставите вводить дополнительные логин и пароль для доступа к административной зоне сайта, что повысит безопасность. Однако это не всегда возможно и\или удобно и jSecure Authentication обладает ещё несколькими полезными функциями.

.htaccess и jSecure Authentication использовать одновременно не получилось.

Базовая конфигурация

Окно jSecureAuthentication (рисунок ниже) Разделено на четыре вкладки. Настройка Joomla jSecureAuthentication происходит именно тут.

jSecure Authentication

  1. Базовая конфигурация.
  2. Расширенная конфигурация.
  3. Журнал. На этой вкладке (рисунок ниже) расположена таблица с историей входов и изменений конфигурации jSecureAuthentication. Доступны такие поля как: IP-адрес, логин пользователя, описание, действие и дата. Не смотря на то, что в журнале, в принципе, доступно не слишком много информации, он может быть полезен при расследовании различных инцидентов.
  4. Справка. Вкладка Справка содержит краткую справку на английском языке о Joomla Jsecure Authentication.

Joomla Jsecure Authentication

Вкладка Базовая конфигурация (рисунок ниже) содержит следующие поля для настройки.

Вкладка Базовая конфигурация

  • Включить. Включает\отключает компонент jSecureAuthentication.
  • Способ защиты. URL или Форма. Если Вы выбрали URL, то вход в административную зону сайта будет осуществляться при помощи добавления уникального ключа к адресу сайта. Если Форма, то путь к административной зоны сайта не измениться. Будет выдан запрос (рисунок ниже) на ввод ключа перед вводом логина и пароля Joomla. Второй способ менее интересен, так как он не «спрячет» административную зону. Эта опция поможет вам скрыть админку Joomla.

Скрыть админку Joomla

  • Ключ. Это «секретный код», который будет добавлен к адресу административной зоне сайта. Например, aleksius.com/administrator/?j55nffd4x. Так вот «j55nffd4x» и есть этот самый ключ. Его нужно будет обязательно вводить для доступа к административной зоны сайта. Знак «?» добавляется автоматически. Его вписывать в поле Ключ не надо. Нельзя использовать в качестве ключа пробелы и специальные символы. Чувствительности к регистру – нет. Можно использовать только цифры и буквы английского алфавита. Нельзя использовать только цифры.
  • Опции перенаправления. Доступно две опции: Домашняя страница сайта и Произвольный путь. В случае выбора произвольной страницы, Вам будет предложено указать адрес этой страницы. Если Вы включили jSecureAuthentication и пользователь пытается войти в административную зону сайта без добавления к адресу ключа, то его перенаправят на заданную или домашнюю страницу.

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

Расширенная конфигурация

Вкладка Расширенная конфигурация (рисунок ниже) разделена на пять вкладок.

  1. Почта.
  2. IP.
  3. Мастер пароль.
  4. Мастер почта.
  5. Журнал.

Вкладка Расширенная конфигурация

Рассмотрим эти вкладки немного детальнее.

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

  • Отправлять почту. Указывает использовать или не использовать данную функцию в принципе.
  • Настройки отправки письма. Вы можете указать, в каких случаях отправлять письмо на почту. В случае попытки доступа к административной панели управления сайтом (с указанием не верного ключа или без ключа вовсе), в случае успешного доступа (с указанием корректного ключа) и отправка письма и в том и в том случае.
  • Адрес почты. Адрес электронной почты, на которую необходимо отсылать письма.
  • Тема письма. Тема письма сообщения.

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

Вкладка IP (рисунок ниже) позволит Вам создать чёрный\белый список IP адресов доступа к к административной панели управления сайтом. При указании только списка белых IP адресов Вы, тем самым, закрываете доступ всем остальным. Даже при знании секретного слова, логина и пароля они не смогут получить доступ к административной панели управления сайтом. Хочу напомнить, что этот способ защиты не даёт 100% гарантии.

Вкладка IP

Мастер пароль. На данной вкладке (рисунок ниже) Вы можете ввести пароль, который будет необходимо вводить для доступа непосредственно к jSecure Authentication.

Мастер пароль

При доступе к jSecureAuthentication, при условии, что установлен мастер пароль. Вам будет необходимо ввести его два раза в разные поля (рисунок ниже). Возможно, это сделано с целью повышения безопасности и усложнения автоматического подбора пароля. Из собственного опыта хочу порекомендовать не использовать выражения более 6-8 символов и специальные знаки. Рекомендую использовать только цифры и буквы английского алфавита.

Ввод пароля

Мастер почта. Данная вкладка (рисунок ниже) позволит Вам настроить отправку сообщения на указанный почтовый адрес в случае смены конфигурации jSecureAuthentication.

Мастер почта

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

Русификатор jSecure Authentication

Скачать русификатор jSecure Authentication.

К недостаткам хочу отнести то, что иногда при использовании слишком длинных ключей и паролей к jSecure Authentication Вы можете потерять доступ к административной части сайта. Это устраняется в течении 3-5 минут при наличии доступа к FTP сайта. Отсюда следует ещё один маленький недостаток. Вам очень внимательно следует относиться к правам доступа на папки и файлы вашего сайта. Впрочем, внимательно относиться к правам доступа на папки и файлы нужно всегда. Не смотря на простой и понятный интерфейс хотелось бы получить возможность смены языка.

Так как у jSecureAuthentication есть возможность установки пароля на доступ к своим управляющим элементам, то хотелось бы реализовать возможность скрывать те или иные пункты панели управления Joomla 1.5 от доступа для определённых пользователей. Так же хотелось бы при получении письма о смене настроек самой jSecure Authentication видеть детальный отчёт о том, с чего и на что был изменён тот или иной параметр. При администрировании и\или модерации сайта несколькими людьми (при условии необходимости доступа к административной панели), можно было бы организовать отсылку писем с детальной информацией о всех изменениях вносимых пользователями главному администратору (с возможностью гибкой настройки данной опции для предотвращения «загрязнения» трафика и почты). Или же вести детальное журналирование. Это может быть полезно при расследовании различных инцидентов.

На момент написания статьи (26.07.2011) уже доступна новая версия Joomla и новая версия jSecure Authentication Joomla 1.7, переписанная специально для новой системы управления контентом. С точки зрения интерфейса и функциональности плагин jSecure Authentication 2.1.8 для Joomla 1.5 мало чем отличается. Самое главное изменение произошло в исходном коде из-за изменений API в Joomla 1.7. И это повышает надёжность jSecure Authentication Joomla 1.7. Ведь взлом происходит не через пользовательский интерфейс, а при помощи нахождения и эксплуатации ошибок безопасности исходного кода. Но смысл остаётся - скрыть админку Joomla.

В следующих статьях «Обзор jSecure Authentication 3. Защита админки Joomla» и «Обзор jSecure Lite. Защита админки Joomla» мы рассмотрим новые возможности этого компонента.

 

Полезные ссылки: