Один инцидент безопасности — редиректы на фишинг или падение производительности — может стоить бизнесу от 100 000 рублей за сутки простоя. Мы это знаем: за 10 лет провели более 500 аудитов Битрикс-проектов. В каждом втором находили критические уязвимости: от XSS до SQL-инъекций, от подмены прав доступа до полностью открытой админки с паролем по умолчанию. Устранение уязвимостей — не разовое действие, а системный процесс. Мы не просто закрываем дыры, а внедряем комплекс мер: харденинг, мониторинг целостности, проактивный фильтр. Это снижает риск повторного заражения на 90%. Стоимость такого подхода — доли процента от оборота, а экономия на одном инциденте перекрывает все затраты. Наша команда использует современные инструменты: сканеры уязвимости, фаззинг, ручной аудит кода. Это позволяет находить даже скрытые проблемы. Безопасность сайта — это не опция, а необходимость. Утечка данных клиентов может привести к судебным искам и потере репутации. Внедрение мер защиты окупается за один инцидент. Проверьте свой сайт уже сегодня — не ждите, пока взломщики найдут брешь. Мы предлагаем полный цикл: от аудита до харденинга и пост-инцидентного анализа. Ниже — что мы делаем, как и какие результаты гарантируем.
Типичные уязвимости на Битрикс-сайтах
По нашей статистике, 70% проектов содержат XSS-уязвимости. Межсайтовый скриптинг возникает при выводе данных из $_GET/$_POST без экранирования в кастомных компонентах и шаблонах. Пример:
// Уязвимо:
echo $_GET['search'];
// Правильно:
echo htmlspecialchars($_GET['search'], ENT_QUOTES, 'UTF-8');
// Или через Битрикс D7:
echo \Bitrix\Main\Text\HtmlFilter::encode($_GET['search']);
Рефлективный XSS в URL страницы поиска — типичный вектор. Проверьте все параметры URL, которые выводятся в шаблоне.
SQL-инъекции — встречаются в 30% проектов. Устарели при использовании D7 ORM, но живы в старом коде с $DB->Query():
// Уязвимо:
$DB->Query("SELECT * FROM b_user WHERE LOGIN = '" . $_POST['login'] . "'");
// Правильно:
$DB->Query("SELECT * FROM b_user WHERE LOGIN = '" . $DB->ForSql($_POST['login']) . "'");
PHP-инъекции через загрузку файлов — отсутствие проверки расширений при загрузке через кастомные формы. Файл shell.php.jpg может быть переименован и выполнен.
IDOR (небезопасные прямые ссылки на объекты) — запросы вида /order/?ID=12345 без проверки принадлежности заказа текущему пользователю. В стандартных компонентах Битрикс это закрыто, в кастомных — часто нет.
Как мы устраняем заражение?
Если сайт уже заражён — последовательность действий:
- Изоляция: перевести в режим обслуживания или закрыть внешний доступ.
- Поиск вредоносного кода:
find /var/www -name "*.php" -exec grep -l "base64_decode|eval|system|exec" {} \;
- Анализ дат изменения: файлы, изменённые после даты последнего деплоя — подозреваемые.
- Сравнение с чистым дистрибутивом: скачайте чистую версию Битрикс и сравните файлы ядра через
diff -r. - Смена всех учётных данных: пароли администраторов, ключи API, пароль БД, FTP-доступ.
- Обновление ядра и модулей до актуальных версий.
Таблица b_security_log — проверьте события до момента заражения. Часто видно IP, с которого эксплуатировалась уязвимость.
Что входит в полный харденинг?
Набор мер, который закрывает 90% типовых векторов атак. Простой сайта на сутки при заражении обходится бизнесу в крупные суммы — потеря продаж и репутационные издержки.
| Мера | Описание | Срок выполнения |
|---|---|---|
| Настройка прав доступа | chmod 755 для папок, 644 для файлов, 440 для конфигов |
1–2 часа |
| Блокировка PHP в upload/ | Через nginx/apache | 30 минут |
| Включение проактивного фильтра (WAF) | Настройка правил, тестирование | 3–4 часа |
| Мониторинг целостности | inotify + модуль Контроль целостности | 4–6 часов |
| Аудит кастомного кода | Проверка компонентов, событий, агентов | от 8 часов |
| Обновление ядра и модулей | До последней стабильной версии | 2–4 часа |
Почему харденинг необходим?
После харденинга сайт соответствует стандартам OWASP Top 10 и требованиям 54-ФЗ. 90% типовых атак блокируются автоматически. Подробнее о типах атак можно прочитать в Wikipedia: Cross-site scripting и SQL injection.
Практический кейс: редиректы для ботов
Крупный интернет-магазин, редакция «Бизнес Плюс». Симптом: периодически появляются редиректы на сторонние сайты, но только для поисковых ботов (User-Agent). Сканер Битрикс — чисто. Анализ файлов по дате изменения выявил модифицированный /bitrix/modules/main/include/prolog.php — в него был инжектирован код с проверкой User-Agent и редиректом. Дополнительно: backdoor в /bitrix/components/bitrix/main.include/component.php. Вектор входа — скомпрометированный FTP-пароль хостинга (пароль, который не меняли несколько лет, утёкший через другой сервис).
Исправление: восстановление файлов ядра из эталонного дистрибутива, смена всех паролей, включение двухфакторной аутентификации для FTP и SSH, настройка SFTP с ключевой аутентификацией вместо паролей.
Превентивные меры после устранения
- Мониторинг целостности файлов: настройте
inotifywaitили используйте модуль «Контроль целостности» в Битрикс. Это в 10 раз быстрее, чем ручная проверка раз в месяц. - WAF: включите и настройте проактивный фильтр в активный режим.
- Регулярные обновления: подпишитесь на рассылку security-обновлений Битрикс.
- Ограничение доступа: FTP/SSH только с конкретных IP, деплой через CI/CD без постоянного FTP-доступа.
Дополнительно рекомендуем ознакомиться с документацией Битрикс по безопасности.
Сроки выполнения
| Задача | Срок |
|---|---|
| Устранение конкретной уязвимости в коде | 2–4 часа |
| Очистка от заражения + аудит | 1–2 рабочих дня |
| Полный харденинг после инцидента | 3–5 рабочих дней |
Сроки зависят от степени заражения, объёма кастомного кода и наличия резервных копий до заражения.
Закажите аудит безопасности вашего Битрикс-сайта — получите детальный отчёт и план устранения уязвимостей. Свяжитесь с нами для консультации.







