Большинство взломов сайтов происходит не через саму CMS, а через сторонние модули и плагины: слайдеры, галереи, обмены, доработки «с прошлого подрядчика». Каждый установленный модуль - это чужой код с полным доступом к вашему сайту, и чем больше таких решений, тем шире поверхность атаки. Лечится это ревизией: удалить неиспользуемое, обновить нужное, заменить брошенное разработчиком. Ниже - как провести такую ревизию и не сломать сайт.

Почему модули, а не ядро. Ядро крупной CMS вроде 1С-Битрикс проверяют аудиты и тысячи внедрений, дыры закрываются быстро. Модуль же нередко пишет один человек: код никто не проверял, обновления выходят от случая к случаю, а иногда автор просто бросает проект - и найденная уязвимость остаётся навсегда.

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

  • Заброшенные решения - модуль не обновлялся годами, автор пропал, уязвимости никто не закроет
  • Дубли функций - три слайдера и два SEO-модуля: работает один, остальные просто лежат кодом на сервере и тоже уязвимы
  • Пиратские копии - «бесплатные» версии платных модулей часто идут сразу с бэкдором в подарок
  • Правки ядра и чужие доработки - код без документации, который страшно трогать, блокирует обновления всей платформы
  • Демо и тестовые модули - поставили посмотреть, забыли удалить; код остался и обслуживания у него нет
Важно. Уязвимый модуль опасен, даже если он выключен. Его файлы остаются на сервере и могут быть доступны напрямую по адресу. Неиспользуемое нужно удалять полностью, а не просто деактивировать.

Ревизия модулей сайта: пошаговый план

  1. Составьте полный списокВыгрузите перечень установленных модулей и решений из админки. В Битрикс: Marketplace - Установленные решения плюс раздел Модули.
  2. Отметьте, что реально используетсяПройдитесь по сайту и по списку: какую задачу решает каждый модуль. Не смогли ответить за минуту - кандидат на удаление.
  3. Проверьте даты обновленийМодуль не обновлялся 2-3 года, а автор не отвечает - считайте его заброшенным и планируйте замену на живой аналог.
  4. Сделайте бэкап и удалите лишнееПолная резервная копия, затем удаление неиспользуемых решений по одному с проверкой сайта после каждого.
  5. Обновите оставшеесяСначала на тестовой копии, потом на боевом сайте. Заодно обновите ядро платформы: старое ядро сводит на нет свежесть модулей.
  6. Запишите результатИтоговый список «модуль - зачем нужен - версия» сэкономит часы следующему разработчику и вам через год.

Наведём порядок в модулях вашего сайта

Проведём ревизию решений, удалим опасное, обновим нужное и аккуратно перепишем кривые доработки. 450+ проектов на Битрикс с 2013 года - видели любые зоопарки.

Заказать ревизию

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

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

Совет. Заведите правило тестовой копии: любые установки и обновления - сначала на копии сайта, на боевой сервер - только проверенное. Одно это правило избавляет от большинства «сайт лёг после обновления». Если после установки модуля сайт выдал ошибку - начните с разбора ошибки 500.

Признаки, что вас уже взломали через модуль

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

Каждый модуль на сайте - это дверь. Хорошая дверь заперта и обслуживается мастером. Заброшенный модуль - дверь, у которой давно потерян ключ, и вы не знаете, кто им пользуется.Команда Alavir

Частые вопросы об уязвимостях модулей

Сколько модулей на сайте - это уже много?
Дело не в числе, а в обслуживаемости: 15 актуальных решений из официального каталога безопаснее пяти заброшенных. Тревожный знак - модули, назначение которых никто в компании не может объяснить.
Правда ли, что бесплатные модули опаснее платных?
Не сами по себе. Опасны пиратские копии платных решений и любые модули из непроверенных источников: в них регулярно находят закладки. Бесплатный модуль из официального каталога с живым автором - нормальный выбор.
Модуль больше не поддерживается автором, но сайт на нём держится. Что делать?
Планировать замену: подобрать живой аналог или заказать доработку штатными средствами. До миграции - закрыть модуль от прямого доступа и усилить мониторинг. Тянуть годами не стоит: уязвимость в брошенном коде не закроет никто.
Обновление модуля сломает мои доработки?
Может, если доработки сделаны правкой файлов модуля или ядра. Правильные кастомизации живут отдельно и переживают обновления. Это ещё один аргумент за ревизию: заодно выяснится, как именно дорабатывали ваш сайт.

Итог: безопасность сайта - это в первую очередь гигиена модулей. Раз в полгода - ревизия, перед каждой установкой - проверка источника, обновления - регулярно и через тестовую копию. Не хочется разбирать зоопарк самостоятельно - отдайте его команде Alavir: в рамках доработки и поддержки сайтов мы приведём решения в порядок и будем держать их актуальными. Аудит и смета - бесплатно, за 1 день.