подробнее о рекламодателе можно узнать внутри блока
Спасибо. А теперь сам материал.
Честно говоря, я уже несколько лет не используюJoomla в новых проектах. Не могу сказать, что считаю ее плохой, наоборот - с версии 4 и выше,CMS стала более, если можно так сказать, "взрослой", с читаемыми конструкциями стандартовООП,namespace и в целом выглядят уже как с подходом хорошей практики разработки. Но тем не менее, мне стали больше нравятся решения более "кастомизированные"чтоли, а длялендингов и вовсе в сторону TS (там говорят вышла уже 7 версия), а также руки чешутся еще все это изучить с точки зренияheadless решений. Что я имею ввиду - например мне очень понравилась платформаMODx, за счет того, что буквально все нужно писать руками и платформа не заставляет тебя писать "костыли" под какой-нибудь свойmootools, илиjquery, как было у старых версийJoomla. А в случае сheadless так и вовсебэкэнд не связан с тем, что будет на выходе. Однако, у меня скопилось несколько проектов на версияхjoomla 3 и я отчетливо помню ту боль, когда нужно было переходить с 2.5 на 3 версию. И в этом плане я всегда недолюбливалjoomla, когда у других систем, как у той жеwordpress (которую защищает даже серверныйcrowdsec), обновление с версию на версию происходит нажатием одной кнопки и, при наличиибэкапов (а они всегда и везде должны быть), особо не волнуешься - тоjoomla переход с версию на версию - это обязательно сломается шаблон, компонент, сайт, текст, сайт будет висеть в ошибка, вwarning отphp и т.д. А некоторые расширения и вовсе не поддерживали новую версию, а их разработчики уже давно забили на свой продукт. В итоге обновление платформы даже для безопасности превращается в целую миграцию (собственно они так и пишут в своих мануалах), когда ты сидишь скрестив пальцы, что не придется всю ночь потом чинить. И это вовсе не критика самой платформы, я был большим фанатомджумлы, особенно за возможность перезаписи стандартных компонентов вывода контента. Но то, что из коробки нужно ставить много компонентов и плагинов, которые потом превращаются в такую беду при обновлении - это реально большая проблема. Ну а движки сайтов это не тот случай, где работает постулат многих "не нужно трогать, то что работает" и вот этот инцидент - тому доказательство.
Недавно мне самому пришлось столкнуться сразу с несколькими вариантами подобных атак на старые компоненты.
Все началось с письмаVPS провайдера о том, что один из сайтов отдает левый контент. Я тогда еще не знал про массовые атаки и, зайдя в директории сайта, увидел много левых файлов, как это было когда-то в версиях 1.5. Прямвайбы ностальгии. Ну а в логахnginx было очень много запросов к com_jce - популярного редактора текста. Так как чистые копии были - проще было удалить сайт, чем лечить ну и заодно это стало мотивацией переписать все с нуля на другой платформе, обновив дизайн и наполнение (по согласованию с заказчиком, конечно). Поискав информацию в интернете, вот что удалось найти:
По данным изданияCybernews со ссылкой на Австралийский центркибербезопасности (ACSC), злоумышленники развернули глобальную кампанию по компрометации сайтов, работающих на популярныхCMS, включаяWordPress иJoomla. Основной целью становятся не сами системы управления контентом, а уязвимые или устаревшие плагины и расширения, через которые на сервер загружаютсяwebshell'ы и другое вредоносное ПО. После успешной эксплуатации атакующие получают возможность удаленно выполнять команды, изменять содержимое сайта, размещатьфишинговые страницы или использовать сервер для дальнейших атак. Отдельное внимание привлекла критическая уязвимость в расширенииJoomlaContentEditor (JCE). Как сообщаетSecurityWeek, Агентство покибербезопасности и защите инфраструктуры США (CISA) включило ее в каталогKnownExploitedVulnerabilities (KEV) после подтверждения фактов активной эксплуатации в реальных атаках. Речь идет об уязвимости CVE-2026-48907, позволяющейнеаутентифицированному злоумышленнику загрузить произвольныйPHP-файл и добиться удаленного выполнения кода на сервере. Разработчики уже выпустили исправления, а в последующих версиях добавили дополнительные механизмы защиты.CISA настоятельно рекомендует администраторам немедленно обновить компонент, поскольку наличие публичныхэксплойтов значительно повышает риск автоматизированных атак на незащищенные сайты. (Источники: публикацииCybernews,SecurityWeek)
Ну а потом туда добавились решения на популярном Helix3 и SPPageBuilder. Да, разработчики быстро выкатили исправления, только вот, чтобы их установить нужно или продлить\купить лицензию, а также,самое главное, обновить версиюJoomla. Что, как я уже писал выше, влечет за собой переписывание шаблонов и остальные радости миграции.
Как выглядят типичные такие атаки:
1. В логах доступа постоянные запросы кjoomla com_ajax с ответом 200, com_jce иiconfonts
2. в папке с сайтом начинают появляться левые файлы, в зависимости от того, какую уязвимость нашли. Например в случае с helix3, вместо главной страницы -Hacked by ... , а в папках сплошные cox.json, с com_jce там вообще все печально, особенно в папкеimages куча левых файлов, а сpagebuilder, в папкеmedia компонента, появляется сотни папок сiconfonts и набором символов.
3. В процессах на сервере от имени пользователя сайта (в зависимости как организована работа веб сервера) крутится левый процесс из папки /tmp
Основные проблемы
1. com_JCE - при удалении файлов, они заново появляются - нужно искать какой процесс их создает. обычно пользуются папкой /tmp, куда качаются компоненты
2. с sppagebuilder - названия этих, типа шрифтов, записаны в БД, в таблицу компонента, от пользователя с id 0.
Как лечить - тут я не знаю. Я просто удалил и переписал. Хотя резервные копии у меня были, разработчики срочно выпустили исправления, но для меня это стало еще одним аргументом сjoomla стараться не связываться. И я не хочу критиковать платформу, тут можно сказать, что и моя вина есть, что не обновлял все до последний версий, но я окончательно убедился, что для небольших сайтов и, особенно,лендингов сегодня всё чаще надо выбирать совсем другой подход. Если раньше практически любой сайт автоматически создавался наCMS, то сейчас во многих случаях гораздо проще сделать проект наTypeScript с использованием современныхфреймворков вродеReact,Nest, Vue или и собрать его как статический сайт либо использоватьheadlessCMS только для управления контентом. Когда та жеFigma илиCodex позволяют бесплатно получить готовый каркас, которые несложно править, ставить что-то полноценное ради одной страницы становится избыточно в плане последующей поддержки. Конечно у классическихCMS по-прежнему остается множество преимуществ, особенно для крупных информационных проектов и сайтов с большим количеством страницы, но история последних недель еще раз показала простую вещь: любаяCMS требует регулярного сопровождения, а откладывать обновления годами - это всегда риск, который однажды может обернуться потерей сайта. А такой подход разработчиковjoomla еще с 3 версии для меня всегда был огорчением, отношение кlegacy, когда старые версии оказываются не нужными - это очень обидно и печально. Не говоря уже про то, что сторонние компоненты не поддерживают новые версии, а без них в старых версияхджумлы было невозможно создать что-то серьезное.Joomla, конечно, молодцы, что развиваются, но, к сожалению, я уже не могу ничего хорошего сказать - был очень сильно раздражен, когда еще переходил с 2 на 4 версию, а теперь еще и подавно люто зол.
Ну и банальное:
Всегда делаете резервные копии - базы данных чаще, статику реже. Лучше всего по стандартной 3-2-1. Когда 1 копия на физическом носителе, 2 копии на стороннем сервере и 3 локальные. Лично я для копий использую холодное хранение у другого оператора по S3 протоколу.
Всегда все обновляйте. Когда "работает - не трогай" - это всегда доинцедента, лучше тренироваться на резервной копии локальной имитации, чем потом попасть
Не устанавливайте ломанные компоненты и расширения, и шаблоны - потом выйдет боком.
Не пытайтесь переубедить людей, что, условный конструктор сайта это плохо, а лучше ставить cms - на каждую задачу должно быть свое решение и ради одной странички с визиткой, подниматьCMS, чтобы потом забить на обслуживание и получить неприятное письмо отхостера - ну такое себе.
Всегда развивайтесь и изучайте новое - языки программирования развиваются, появляются новые стандарты
Ну и так далее, я не считаю себя грамотным специалистом и профессионалом, просто решил написать материал про вот такую грустную историю и пойду дальше переделывать и восстанавливать.