Доверяете ли вы плагинам Joomla?

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

То есть, как только такое расширение устанавливалось на сайт, он тут же становился открытым для для действий злоумышленников. Это мог быть как простой дефейс, так и "зомбирование" сайта.

О двух случаях стало известно, но это не значит, что таких ситуаций не было больше.

Так что же мы можем сделать, чтобы не допустить подобного в дальнейшем?

Некоторые разработчики плагинов для Joomla при публикации расширения указывают md5sum файла с дистрибутивом. Это уникальное число, рассчитанное из последовательности данных путём применения определёного алгоритма, используемое для проверки правильности передачи данных (для исключения влияния каких-либо помех при передаче), с помощью которого можно определить, скачали вы настоящий файл или модифицированный.

И по идее, если автор плагина не имеет привычки публиковать md5sum, неплохо было бы ему заметь такую привычку.

И тут стройный хор голосов говорит мне, что если, дескать, хакер смог подменить файл, то ему ничего помешает и подменить опубликованную md5. Так и есть…

Что же делать? Где решение проблемы?

Если публиковать md5-суммы файлов на стороннем довернном сайте, то пользователи смогут быть более уверены, что опубликованная md5-сумма действительно принадлежит соответствующему файлу и не была изменена.

Очевидный выбор для такого "стороннего" доверенного сайта, где можно публиковать контрольные суммы дистрибутивных файлов плагинов Joomla, -  Joomla Extension Directory (JED), где для этой цели можно просто добавить еще одно поле в описании плагина..

И это не так сложно, но…

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

Может Joomla 1.6 предложить лучшее решение?

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

Как сейчас работает менеджер установки:

  1. загружает архивный файл с дистрибутивом
  2. разворачивает его во временную папку
  3. производит непосредственно установку плагина (компонента, модуля, бота)

Идея, представленная ниже, предлагает расширить функционал установщика. И это усовершенствование потребует от компонентов, написанных для Joomla 1.5 небольшого, но все-таки изменения для совместимости с Joomla 1.6

Предложение состоит в том, чтобы давать каждому установочному файлу уникальный ID, который будет использоваться в имени файла. Например, 945618-com_commenter.zip, 72861-mod_googleads.zip

И тогда менеджер плагинов будет выполнять следующую работу:

  1. загружает архивный файл с дистрибутивом
  2. вычисляет md5sum загруженного файла и сравнивает с опубликованной контрольной суммой плагина
  3. если сумма верная (вычисленная совпадает с опубликованной), то разворачивает его во временную папку и устанавливает
  4. если не сумма не верная, то информирует пользователя о том, что файл, возможно, поддельный и удаляет загруженный файл с сервера

Настолько ли все это важно?

"Мой сайт не был взломан, потому что я быстро заменил зараженную версию дистрибутива на настоящую, безопасную. Так зачем все эти усложнения?" Ну да. Пока лично вас это не коснулось, вы, может быть,  считаете, что все это не нужно. То, что вы успели заменить зараженные файлы нормальными, или то, что вас не взломали через зараженные расширения, означает только то, что вы просто счастливчик, что вас просто не дошла очередь. Не факт, что завтра завтра все это не случится.

Описанные методы улучшения безопасности Joomla-плагинов относительно просты в реализации. Нужно только чтобы люди умеющие и желающие внести лепту в улучшение Joomla, написали патч к менеджеру плагинов; а другие люди (администраторы JED) добавили специальное поле в описание плагина. Ну и, конечно, нужно еще донести до всех авторов необходимость вычисления и публикации контрольных сумм.

Дополнительное преимущество такого решения в том, что все это заставит авторов расширений держать записи об их плагинах в Joomla Extension Directory в актуальном состоянии.

Вы можете оставить комментарий , или использовать trackback - ссылки с вашего сайта.

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

Читать RSS в Google

Добавить в Google Reader

Читать RSS в Яндексе

Добавить в Яндекс-ленту

Rambler's Top100