Корпоративный сайт. Платформа: 1С-Битрикс. Объём сайта: 20 страниц. Сайт: shafran-clean.ru CMS: 1С-Битрикс: Управление сайтом 23.675.0 Проблема: 3 дня идут автоматические атаки и спам-заявки через форму обратной связи/заказ звонка. В журнале вторжений Битрикса фиксируются SQL/XSS/PHP-инъекции. Часть запросов идёт по WordPress-путям, но есть опасные попытки именно по Bitrix/admin и сторонним модулям ESOL/KDA. Что уже сделано: 1. Включена проактивная защита. 2. В активной реакции выставлено: - Сделать данные безопасными; - Добавлять IP атакующего в стоп-лист; - Блокировка на 1440 минут; - Заносить попытку вторжения в журнал. 3. Вручную добавлены IP в стоп-лист: Нужно срочно сделать: 1. Найти источник формы заявки - Кнопка/форма «Заказать звонок». - Определить, через что работает форма: кастомный компонент, шаблон сайта, AJAX-обработчик, CRM-форма, сторонний модуль или почтовое событие. - Найти конкретный URL обработчика, куда бот отправляет заявки. 2. Поставить защиту на форму - captcha / reCAPTCHA / Яндекс SmartCaptcha; - honeypot-поле; - rate limit: не чаще 1 заявки с IP за 1–3 минуты; - проверка времени заполнения формы: запрет отправки, если форма отправлена быстрее чем за 3–5 секунд; - CSRF/token-проверка; - валидация телефона и email; - запрет прямого POST без открытия страницы формы. 4. Проверить попытку загрузки вредоносного PHP-файла В логах была попытка записать файл: f8e23d36a0fb.php Нужно проверить наличие этого файла и похожих файлов в: - корне сайта; - /upload/ - /local/ - /bitrix/tmp/ - /images/ - /upload/resize_cache/ Команды для проверки: find /var/www/u1292420/data/www/shafran-clean.ru -name “f8e23d36a0fb.php“ И проверить свежие PHP-файлы: find /var/www/u1292420/data/www/shafran-clean.ru -type f -name “*.php“ -mtime -7 5. Проверить сторонние модули ESOL/KDA В журнале были атаки на: - /bitrix/admin/esol_massedit_profile.php - /bitrix/admin/esol_allimportexport_cron_settings.php - /bitrix/admin/kda_export_excel_cron_settings.php - /bitrix/admin/kda_import_excel_cron_settings.php Нужно: - проверить, установлены ли модули ESOL/KDA; - проверить их версии; - обновить, если используются; - отключить/удалить, если не используются; - проверить, нет ли известных уязвимостей в текущих версиях. 6. Проверить сайт на взлом - Запустить «Поиск троянов» в Битриксе. - Проверить /bitrix/php_interface/init.php - Проверить /bitrix/php_interface/dbconn.php - Проверить .htaccess - Проверить cron-задачи. - Проверить новых пользователей-администраторов. - Проверить последние изменённые файлы за 7 дней. - Проверить папку /upload/ на PHP-файлы — там PHP быть не должно. 7. Усилить защиту админки - Включить защиту административного раздела в Битриксе. - Поставить дополнительную Basic Auth на /bitrix/admin/. - Проверить сложность паролей администраторов. - Включить двухфакторную авторизацию, если возможно. - Не закрывать админку только по IP, если у владельца динамический IP. 8. Обновления - Проверить возможность обновления ядра Битрикса. - Проверить лицензию: сейчас в админке указано, что срок лицензии закончился 03.03.2024. - Обновить ядро и модули после создания бэкапа. - До обновлений обязательно сделать резервную копию файлов и базы. 9. Серверная защита - Настроить WAF/ModSecurity, если доступно на хостинге. - Ограничить частые POST-запросы к обработчику формы. - Проверить права на файлы и папки. - Запретить выполнение PHP в /upload/, если ещё не запрещено. - Проверить логи nginx/apache за последние 3 дня и выделить URL, куда идут спам-заявки. 10. Отчёт после работ Нужен короткий отчёт: - был ли сайт взломан или только атакован; - найден ли файл f8e23d36a0fb.php; - какие файлы менялись за последние 7 дней; - какие модули ESOL/KDA установлены и что с ними сделано; - какой обработчик формы был найден; - какая защита поставлена на форму; - что ещё нужно сделать после продления лицензии. Главный акцент для специалиста: не просто “поставить капчу”, а найти обработчик формы и проверить, не успели ли залить PHP-файл. Спам-заявки неприятны, но попытка записи f8e23d36a0fb.php — это уже красный флажок.