Перейти к содержимому
N1
Legacy · безопасность · аудиторский след

Безопасность коробочного Bitrix24 и аудиторский след под требования регулятора

Клиент: Финансовая компания, NDA Категория: Legacy Стек: PHP 8, Bitrix24 D7, .env, RSA-OAEP (WebCrypto), syslog, cron, gzip, JavaScript Срок: около месяца
Проблема

Коробочный Bitrix24 финансовой компании годами обрастал скриптами: часть из них по анонимному запросу выдавала сессию администратора, API пропускал запросы без токена, доступы лежали в коде, а логи с ИИН и телефонами копились без ротации. Требования регулятора финрынка к аудиторскому следу при этом не выполнялись.

Ограничения

Прод нельзя останавливать, от текущего поведения зависят десятки интеграций; аудит должен включаться флагами с безопасными дефолтами, а ПДн не должны попадать ни в ответы, ни в логи.

Что сделал
  • Закрыты 6 мест выдачи админской сессии по анонимному запросу и обход авторизации в 6 API-эндпоинтах; из ответов убраны stack-trace
  • Анонимные ручки получили rate-limit, ИИН валидируется до платных внешних вызовов; закрыты IDOR и CSRF в рабочих интерфейсах
  • Пароль на форме входа шифруется в браузере (RSA-OAEP, ключ 4096 бит); около 50 захардкоженных доступов вынесены в .env
  • Аудиторский след под флагами: неудачные входы, журнал API-обращений, зеркало в syslog; ежедневный сторож ротации логов и регресса обязательной 2FA
  • Логгер маскирует ИИН, телефоны и карты; ротация 90 дней плюс архив 400 дней; ложное маскирование хэшей — с 5,1% до 0% на 200 000 значений
  • Просмотрщик логов с графиками и сквозным поиском по id запроса; health-API ловит всплеск ошибок против медианы, тишину и молчащую ротацию
Архитектура
Точки входа портала и API → Авторизация, лимиты, CSRF → Логгер с маской ПДн → Ротация и архив → Просмотрщик и health-API
Результат

Накопленные логи заархивированы: 6344 файла на 2041 МБ сжаты в архив 120 МБ с контрольными суммами, каталог local/ уменьшился с 2,6 ГБ до 578 МБ. Критичные дыры доступа закрыты, а в логах виден инцидент, а не шум.

Что можно переиспользовать
Логгер с маскированием ПДн и защитой хэшей Ротация логов с архивом и сторожем Health-API логов: всплеск против медианы и тишина