Инструкция по настройке интеграции с антивирусом
Назначение документа
В данном документе представлена архитектура и способы антивирусной проверки, а также ее конфигурирование.
Документ предназначен для использования системными администраторами.
Дополнительная документация
Архитектура и описание системы — в документе представлено описание сервисов, обеспечивающих антивирусную проверку, и расположение log-файлов данных сервисов. Не является частью публичной документации, обратитесь к представителю VK Tech, чтобы ознакомиться с документом.
Архитектура и способы антивирусной проверки
За проверку файлов антивирусом отвечает сервис Kowalski . Сервис работает на собственных локальных очередях и общается с файловым бэкендом ub.<DOMAIN> и универсальным сервисом подписок Scribl.
Архитектура:
После загрузки файла в сервис Go-files идёт HTTP-запрос в сервис Kowalski с информацией о файле (hotbox object ID, bucket name, fileID). Сервис Kowalski помещает этот файл к себе в очередь на проверку.
Способы антивирусной проверки
В данный момент представлено два вида проверки файлов:
- Через протокол ICAP.
- Через интеграцию с KATA (Kaspersky Anti Targeted Attack) по API.
Описание конфигурирования для каждого способа представлено ниже.
Конфигурирование с использованием ICAP
Для конфигурации сервиса в режиме проверки файлов по протоколу ICAP необходимо:
-
В конфигурационном файле сервиса Kowalski /usr/local/etc/k8s/helmwave/projects/kowalski/values/kowalski.yml в переменной
antivirusType
задать значение «ICAP»: -
Задать таймаут для соединения:
-
Задать параметр с адресом и портом ICAP антивируса в ETCD:
etcdctl --endpoints=[ХОСТ_ETCD]:[ПОРТ_ETCD] put /vars/services/demo/development/public/service/antivirus/ICAP/address icap:\/\/ [DLP_SERVER_ENDPOINT]
Пример:
-
Зафиксировать количество реплик сервиса Kowalski:
Конфигурирование с использованием KATA
Файлы на проверку отправляются асинхронно, без ожидания результата проверки. Затем отправляется дополнительный запрос с информацией о проверке.
Информация о состоянии файла проверяется отдельной горутиной. Горутина делает запрос о состояниях с частотой, указанной в kata: checkDelay
. После получения информации помещает файл в очередь на оповещение о состоянии проверки.
Чтобы начать взаимодействовать с KATA, необходимо в конфигурационном файле сервиса Kowalski /usr/local/etc/k8s/helmwave/projects/kowalski/values/kowalski.yml:
-
Установить для переменной
antivirusType
значение «KATA»: -
Задать интервал проверки состояния файла в переменной
kata: checkDelay
, а также общий таймаут на запросыkata: timeout
рекомендуемое значение 5 cек: -
Путь до сертификата прописать в переменную
kata: certFilePath
. Наличие файла необязательно, его создаст сам сервис и поместит туда сгенерированный сертификат: -
Путь до системы с КАТА прописать в переменную
kata: endpoint
: -
Чтобы сервис доверял серверу KATA, необходимо:
-
добавить его сертификат в доверенные сервису Kowalski. Для поля
enabled
установите значение true: -
положить сертификат сервера KATA или цепочку сертификатов в Kubernetes (файл my-cert.pem на машине). Пример, как получить только сертификат сервера KATA и положить его в файл:
-
отправить сертификаты в Kubernetes командой:
-
-
Если необходимо добавить домен для поиска, то используйте параметр
customDomainSearches
. Пример: -
Примените изменения конфигурации:
-
Зафиксируйте количество реплик сервиса Kowalski:
Сервис отправляет следующие запросы к КАТА:
- https://support.kaspersky.com/KATA/3.7.2/ru-RU/176838.htm
- https://support.kaspersky.com/KATA/3.7.2/ru-RU/176830.htm
- https://support.kaspersky.com/KATA/3.7.2/ru-RU/176836.htm
В случае неавторизованной системы КАТА возвращает 401 (подробнее см. https://support.kaspersky.com/KATA/3.7.2/ru-RU/176825.htm). Если авторизация системы в сервисе КАТА не происходит, то сервис об этом сообщает в логах и постоянно шлет запросы до успешной авторизации.
Внимание
Если поменять в системе sensorId (удалить или изменить файл), а сертификаты оставить старые, то любой запрос будет возвращать 400. Необходимо удалить сертификаты, чтобы избавиться от проблемы.
Подробная документация о взаимодействии с KATA по API доступна по ссылке: https://support.kaspersky.com/KATA/3.7.2/ru-RU/181505.htm
Место хранения отправляемых файлов
Файлы, отправляемые пользователями, хранятся в S3. При пересылке используется тот же файл, экземпляр файла не копируется и не пересоздается.
Режим проверки отправляемых файлов
Режим проверки отправляемых файлов антивирусом определяется конфигурационным файлом сервиса Go-files /usr/local/go.files.icq.com/files.icq.com.config.yaml
В секции antivirus:
необходимо поставить один из флагов:
- sync (препроверка) — файл нельзя скачать, если он не проверен или заражен.
- async (постпроверка) — файл нельзя скачать, если он заражен.
Дата обновления документа: 04.07.2024 г.