Заражение вирусами сайтов на битрикс и как этого избежать
Жил-был сайт. Работал, зарабатывал деньги для владельца. И в один не прекрасный момент умер.
Страшно? А между тем уже 3 года такое и происходит с сайтами на битрикс…
Немного истории
С 2022 года происходят массовые заражения сайтов на битрикс. Заражения происходят в основном из-за ошибок безопасности в коде, которые позволяют внедрить сторонний код на сайт.
Что дальше этот код делает – это ограничено фантазией автора данного кода.
С чем удалось столкнуться (насколько сейчас помню):
- Меняется главная страница на всякие ругательства из соседней страны
- Блокируется админка сайта
- Полностью удаляется весь код сайта
В общем, много неприятностей для владельца сайта.
Как происходит заражение
К сайту по разным адресам идет обращение, где в запросе в base64 находятся команды по загрузке/созданию кода вируса.
После этого могут создаваться временные файлы, размещаться в крон для запуска в фоне и производятся прочие действия, которые делают вирус вирусом.
При этом могут использоваться уязвимости функций unserialize или другие ошибки в коде (такое встречалось и у битрикса и у разработчиков модулей/решений).
Что делать чтобы сайт не пополнил список зараженных сайтов
Обновлять все (при этом надеемся, что имеющиеся ошибки уже выявлены и исправлены).
Делаем бэкапы. Каждый день. Не храним их на сервере. Почему? Да все просто – если сервер сломается, то сайт помашет ручкой и попросить денег сделать его заново. Редизайн и обновления сайта нужно делать периодически, но лучше делать в плановом порядке, а не так. Поэтому – делаем бэкапы. Можно при помощи моего модуля - https://marketplace.1c-bitrix.ru/solutions/ammina.backup/ чтобы сохранять, например на яндекс-диск. И раз в месяц/квартал качаем 1 бэкап к себе на компьютер. Принцип простой – больше мест хранения бэкапов – выше вероятность восстановить сайт.
Написал модуль блокировки внедрений вирусов - https://github.com/AmminaSolutions/ammina.stopvirus .
Блокирует известные способы заражения, позволяет найти то, что еще неизвестно. Ставим и пользуемся. Пока на маркетплейсе модерацию проходит – через гитхаб можно установить.
Из дополнительного – можно в git код сайта сохранить и при заражении достаточно быстро открутить заражения