# Информационная безопасность (apelsincom) > [!warning] Гриф: internal > Эта заметка описывает устройство защиты и слабые места — она полезна и защищающему, и атакующему. Не публиковать, доступ по необходимости. Секреты (пароли, токены, ключи) здесь не приводятся — только указание, где они лежат. Оперативный список того, что чинить, — в [[Известные проблемы и рекомендации (apelsincom)]]. ## Активы и границы Что защищаем: - **Данные покупателей** — заказы, кабинеты (ПДн, см. ниже про 152-ФЗ). - **Коммерческие данные** — каталог, цены, остатки, выгрузки поставщиков. - **Доступ к управлению** — FTP, БД MySQL, админка, а также **токены REST API** (`richcode.api`). - **Целостность сайта и API** — защита от подмены кода и несанкционированных вызовов. Точки входа: публичный веб (HTTPS), админка `/bitrix/admin/`, FTP (порт 21), **внешний API `/api/`**, штатный `/rest/`, интеграции (1С, Яндекс.Маркет, Битрикс24). Секреты — в `bitrix/.settings.php`, `bitrix/php_interface/dbconn.php`, `bitrix/license_key.php`. ## Модель нарушителя - **Внешний аноним** — сканирует пути Битрикса, ищет открытые бэкапы/дампы, пробует API без токена. - **Обладатель утёкшего токена API** — действует от имени пользователя-владельца токена (права = права этого пользователя). - **Скомпрометированный FTP/админ-доступ** — полный контроль. ## Угрозы и меры (прослеживаемость «угроза → мера») | Угроза | Мера | Статус | |---|---|---| | Раскрытие данных: бэкап `shoes.zip` и фиды в webroot | убрать из публичного доступа | **нарушено**, см. [[Известные проблемы и рекомендации (apelsincom)]] | | Несанкционированный вызов API | токен-авторизация + белый список IP + CORS + только HTTPS (опции `richcode.api`) | включённость проверить | | Утечка/подбор токена API | хранить токен как секрет, ротация, минимальные права пользователя-владельца | зависит от эксплуатации | | Перехват доступа | FTPS/SFTP вместо FTP, HTTPS для API (`ONLY_HTTPS_EXCHANGE`) | FTP по 21, требует действий | | Утечка ПДн через лог API | не логировать лишнее; ограничить доступ к HL-блоку лога | при включённом `LOGGING` | | Инъекции/XSS, устаревшие уязвимости | актуальная версия Битрикса, «Проактивная защита» (WAF) | версия свежая; фильтр проверить | | Подмена файлов ядра/шаблонов | контроль целостности, отказ от правок ядра, работа в `/local/` | базово соблюдается | | Захват админки | сложные пароли, OTP, ограничение по IP | OTP-модуль есть, статус проверить | ## Приоритет для этого сайта — API Так как наружу торчит REST API, именно он — главная нестандартная поверхность атаки. Проверьте в настройках `richcode.api`: - `ONLY_HTTPS_EXCHANGE` — включён; - белый список IP (`USE_WHITE_LIST_ADDRESS_FILTER`) — если API вызывает известная система; - CORS-домены — ограничены; - токены выданы точечно, пользователи-владельцы (поле `UF_API_TOKEN`) имеют минимальные права и состоят только в нужной группе. > [!warning] Токен передаётся в URL > Рабочий код `richcode.api` берёт токен из **сегмента URL**, а не из заголовка. Значит, токен попадает в логи веб-сервера, в реферер и в собственный лог модуля (HL-блок при включённом `LOGGING`). Ограничьте доступ к логам, не включайте лишнее логирование, регулярно перевыпускайте токены. Детали — [[REST API — методы и примеры (richcode.api)#Авторизация и фильтры]]. ## Персональные данные (152-ФЗ) Сайт собирает ПДн (заказы, заявки, кабинет). В подвале есть PDF политики и согласия (`/upload/docs/`). Проверьте: собирается ли согласие в формах, актуальны ли реквизиты оператора, отражена ли передача данных третьим лицам (Битрикс24, Яндекс.Маркет, виджет higgleby.tech), определён ли уровень защищённости ИСПДн (для РФ — ПП №1119, меры приказа ФСТЭК №21). ## См. также - [[Известные проблемы и рекомендации (apelsincom)]] - [[REST API (richcode.api)]] - [[Доступы и окружение (apelsincom)]]