Автор статьи: Глеб Демидов Ведущий бизнес аналитик Причина взлома Атака стала возможна из-за использования устаревших версий популярных модулей: 1. Импорт из Excel (версии 2.5.1–2.8.9) 2. Экспорт в Excel (0.8.6–1.2.2) 3. Экспорт/Импорт товаров в Excel (2.5.1–2.8.9) 4. Импорт из XML и YML (0.6.8–1.1.6) 5. Массовая обработка элементов инфоблока (0.5.9–0.7.7 6. Многофункциональный экспорт/импорт в Excel (0.2.2–0.4.8) Что делать, если вы используете эти модули 1. Обновитесь до последних версий CMS и модулей. В актуальных релизах уязвимости уже закрыты — это самый надежный способ защиты. 2. Если обновление невозможно, примените патч. Для этого: 1. Перейдите в административную часть Битрикс: Настройки → Инструменты → Командная PHP-строка. 2. Вставьте и выполните следующий скрипт: $arFiles = array( '/bitrix/modules/esol.allimportexport/admin/cron_settings.php', '/bitrix/modules/esol.importexportexcel/admin/iblock_export_excel_cron_settings.php', '/bitrix/modules/esol.importexportexcel/admin/iblock_import_excel_cron_settings.php', '/bitrix/modules/esol.importxml/admin/import_xml_cron_settings.php', '/bitrix/modules/esol.massedit/admin/profile.php', '/bitrix/modules/kda.exportexcel/admin/iblock_export_excel_cron_settings.php', '/bitrix/modules/kda.importexcel/admin/iblock_import_excel_cron_settings.php', ); $cnt = 0; foreach($arFiles as $fn) { $fn = $_SERVER['DOCUMENT_ROOT'].$fn; if(file_exists($fn)) { chmod($fn, 0775); $c = file_get_contents($fn); while(preg_match('#<\?.*//.*403 Forbidden.*\?>\s*<\?#Uis', $c, $m)) { $c = str_replace($m[0], '<?', $c); } $c = preg_replace('/^.*<\?/Us', '<?', $c); if(stripos($c, '403 Forbidden')===false || preg_match('/[^\/@]@?exec\(\$phpPath.\' \-v\'.*prolog_admin_before\.php/is', $c)) { file_put_contents($fn, "<?if(isset(\$_REQUEST['path']) && strlen(\$_REQUEST['path']) > 0) { header((stristr(php_sapi_name(), 'cgi') !== false ? 'Status: ' : \$_SERVER['SERVER_PROTOCOL'].' ').'403 Forbidden'); die(); } ?>".preg_replace('/@exec\(\$phpPath.\' \-v\'/', '//$0', $c)); $cnt++; } } } unlink(__FILE__); echo 'patched:'.$cnt.'.'; Если сайт уже заражен Узнать о взломе можно по следующим симптомам: 1. Измененный контент на сайте 2. Подмена Cron-задач 3. Подозрительные процессы на сервере 4. Массовая рассылка спама 5. Новые, несанкционированные администраторы Как восстановиться 1. Восстановите сайт из резервной копии. Это самый безопасный способ вернуть систему к рабочему состоянию. 2. Обновите CMS и все модули до последних версий. Если бэкапов нет, выполните следующее: Очистка и проверка сайта 1. Сканирование файлов на вирусы Перейдите в админку: Рабочий стол → Настройки → Проактивная защита → Поиск троянов → Сканирование файлов Удалите зараженные файлы, если они будут найдены. 2. Проверка .htaccess В том же разделе выполните: Проверка .htaccess → Удалить всё и установить минимальный набор. 3. Очистка Cron-задач Подключитесь по SSH и выполните: crontab -l Удалите подозрительные задачи. 4. Проверка запущенных процессов 1. Перезагрузите сервер 2. Проверьте процессы командой htop, top или ps aux Завершите подозрительные процессы с помощью: kill [PID] PID каждого процесса будет указан в выводе команд htop, top или ps aux. 5. Проверка пользователей Зайдите в: Настройки → Пользователи → Список пользователей. Убедитесь, что логины и email-адреса администраторов не были подменены. Если вы столкнулись с проблемами безопасности на сайте, мы готовы подключиться и всё настроить. Поможем с обновлением системы, установкой патчей, восстановлением зараженного сайта, а также с покупкой или продлением лицензии 1С-Битрикс. Если вы столкнулись с проблемами безопасности на сайте, мы готовы подключиться и всё настроить. Поможем с обновлением системы, установкой патчей, восстановлением зараженного сайта, а также с покупкой или продлением лицензии 1С Битрикс24.