Сканирование объектов с помощью Kaspersky Scan Engine, развернутого в Kubernetes или Docker

14 июля 2026

ID 193820

В большинстве случаев вы можете проверять объекты с помощью Kaspersky Scan Engine, когда он развернут в Kubernetes или Docker, так же, как и с Kaspersky Scan Engine, установленным на вашем компьютере. Однако есть несколько исключений.

Сканирование файлов в режиме HTTP

Kaspersky Scan Engine сканирует файлы с помощью метода API scanfile (/api/v3.0/scanfile в протоколе KAV версии 3 и /api/v1.0/scanfile в протоколе KAV версий 1 и 2). В Docker-контейнере этот метод работает, только если вы правильно настроили среду.

Чтобы просканировать файлы в отдельном Docker-контейнере:

  1. На основной машине найдите директорию, содержащую файлы, которые вы хотите просканировать.
  2. Откройте kavhttpd.xml на основной машине.
  3. В элементе <ScanningPath> укажите путь к директории контейнера, в которой директория из шага 1 будет подключена к контейнеру:

    <ScanningPaths>

    <ScanningPath>%path to the container directory with the files to scan%</ScanningPath>

    </ScanningPaths>

  4. Сохраните и закройте kavhttpd.xml.
  5. Запустите Docker-контейнер Kaspersky Scan Engine:

    docker run -d -p 8080:8443 -p 8085:9998 -v %host_scan_dir%:%cont_scan_dir% -v %host_conf_dir%:/tmp/scanengine/mounted --name ScanEngine kaspersky/scanengine:%KSE_VERSION%

    В приведенной выше команде:

    • %host_scan_dir% – директория хоста, в которой находятся объекты для сканирования.
    • %cont_scan_dir% – это директория контейнера, в которой находятся сканируемые объекты.
    • %host_conf_dir% – это директория хоста, содержащая файлы конфигурации (должны находиться в директории /configs) и файл ключа или код активации (должны находиться в директории /lic).
    • %KSE_VERSION% – версия Kaspersky Scan Engine, используемая в Docker-образах. Например, 2.0.0.1157.
  6. Просканируйте файлы, отправив HTTP-запрос. Обратите внимание, что следует указать путь к директории контейнера с файлами для сканирования.

Если вы хотите использовать API-метод scanfile в Docker-контейнере, развернутом в Kubernetes, выполните следующие действия.

Чтобы просканировать файлы в Kubernetes:

  1. Откройте kaspersky_httpd_kubernetes.yaml.
  2. В поле volumes добавьте следующие строки:

    - name: %PersistentVolumeClaim name%

    PersistentVolumeClaim:

    claimName: %PersistentVolumeClaim%

    В строках выше:

    %PersistentVolumeClaim name% – пользовательское имя этого параметра (например, kl_scandir).

    %PersistentVolumeClaim% – это имя PersistentVolumeClaim, содержащего указанную выше директорию.

  3. В поле containers/volumeMounts добавьте следующие строки:

    - mountPath: %Pod directory with the files to scan%

    name: %PersistentVolumeClaim name%

    В строках выше:

    • %Pod directory with the files to scan% – это путь к директории в Kaspersky Scan Engine, в которой находятся объекты для сканирования.
    • %PersistentVolumeClaim name% – это имя параметра, указанного на шаге 2.
  4. Сохраните и закройте kaspersky_httpd_kubernetes.yaml.
  5. Откройте файл конфигурации kavhttpd.xml.
  6. В элементе <ScanningPath> укажите путь к директории, которая была указана в mountPath на шаге 3:

    <ScanningPaths>

    <ScanningPath>%POD directory with the files to scan%</ScanningPath>

    </ScanningPaths>

  7. Сохраните и закройте kavhttpd.xml.
  8. Обновите kavhttpd.xml в Kubernetes:

    kubectl delete configmap kl-configuration-file -n kaspersky

    kubectl create configmap kl-configuration-file -n kaspersky --from-file=%path to the directory with the configuration files%

  9. Загрузите конфигурацию из YAML-файла Kubernetes.

    kubectl apply -f kaspersky_httpd_kubernetes.yaml

  10. Просканируйте файлы, отправив HTTP-запрос.

    Обратите внимание, что следует указать путь к директории контейнера с файлами для сканирования.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!