Аудит безопасности сайта 1С-Битрикс
Аудит безопасности — не сканирование одним инструментом. Это последовательная проверка конфигурации платформы, сервера, кода и прав доступа. Результат — не просто список уязвимостей, а приоритизированный план устранения с оценкой рисков.
Что проверяется в первую очередь
Версия ядра и модулей — Marketplace → Обновления. Устаревшее ядро — источник известных CVE. Проверяйте changelog на security-патчи. Критические обновления выходят вне расписания.
Права на файлы и директории — типичная проблема на shared-хостинге:
find /var/www/html -type f -name "*.php" -perm -o+w
find /var/www/html/upload -type f -name "*.php"
PHP-файлы в /upload/ — верный признак заражения или неправильных прав.
Открытые директории — /.git/, /bitrix/backup/, /bitrix/php_interface/ не должны быть доступны извне. Проверьте через curl или браузер.
Проверка кода и компонентов
Кастомные компоненты в /local/components/ и /local/templates/ — основной вектор для уязвимостей. Проверяйте:
- Экранирование вывода:
htmlspecialchars(),\Bitrix\Main\Text\HtmlFilter::encode() - SQL-запросы: только через
$DB->Query()с экранированием или через D7 ORM - Загрузка файлов: проверка MIME-типа через
\CFile::CheckImageFile(), ограничение расширений - Использование
$_REQUEST,$_GET,$_POSTбез валидации
Встроенный сканер Битрикс: Безопасность → Сканер безопасности. Проверяет известные паттерны заражения в файлах. Не заменяет ручной аудит, но быстро выявляет типовые инъекции.
Проверка конфигурации сервера
-
display_errors = Offв PHP на продакшене -
expose_php = Off— не раскрывать версию PHP в заголовках - Заголовки безопасности:
X-Content-Type-Options,X-Frame-Options,Content-Security-Policy - Открытые порты кроме 80/443 — проверить
nmapили через панель хостинга
Случай из практики
Аудит интернет-магазина после подозрения на заражение. Сканер Битрикс ничего не нашёл. Ручная проверка find /var/www -name "*.php" -newer /var/www/html/bitrix/modules/main/classes/general/module.php выявила 12 файлов с изменёнными датами — в /upload/resize_cache/. Все содержали обфусцированный PHP-код с base64. Вектор заражения: уязвимость в устаревшем кастомном компоненте загрузки изображений без проверки расширения.
Итог аудита
Результат оформляется как отчёт с разделением по уровням критичности: критические (требуют немедленного исправления), высокие (в течение недели), средние и низкие. Для каждой позиции — конкретное техническое решение.
Сроки выполнения
Базовый аудит безопасности — от 1 до 2 рабочих дней. Углублённый с анализом кода кастомных модулей — от 3 до 5 дней.







