Рекомендуемые настройки для режима ICAP

05 марта 2024

ID 225528

В этом разделе описаны рекомендуемые настройки Kaspersky Scan Engine в режиме ICAP.

Если вы используете Kaspersky Scan Engine GUI, укажите рекомендуемые настройки, как описано в таблице ниже.

Рекомендуемые настройки для режима ICAP в Kaspersky Scan Engine GUI

Настройки в Kaspersky Scan Engine GUI

Рекомендуемые настройки

Service > Processes

Равно количеству ядер процессора.

Service > Threads

В два раза больше значения ScannersCount.

Service > Sessions

См. описание MaxIcapSessionsCount ниже.

Service > Partial mode

Вкл.

Service > Delay

10

Service > Chunk size

4

Service > Prevent re-downloading

Вкл.

Service > Maximum cache size

5000

Service > Lifetime for blocked URLs

1800

Service > Keep-alive

См. описание KeepAliveSettings ниже.

Scanning > Skip large objects

Вкл.

10343 КБ (10,1 МБ)

Получайте обновленное значение от вашего технического менеджера по работе с клиентами не реже одного раза в год.

Scanning > Types of files to scan

Установите флажки:

  • Packed objects
  • Archives
  • Email databases
  • Emails

Scanning > Heuristic analysis level

Low

Scanning > Object scan timeout

10000 (10 секунд)

Scanning > Maximum depth

5

Scanning > Scan scope in Request mode

URL (сканирование только запрошенных URL-адресов).

Scanning > Scan scope in Response mode

Files

Scanning > Enable reputation checking

См. описание UseKSN ниже.

Если вы не используете Kaspersky Scan Engine GUI, укажите рекомендуемые параметры в файле конфигурации kavicapd.xml, как описано в таблице ниже.

Рекомендуемые настройки для режима ICAP в файле конфигурации

Параметр в kavicapd.xml

Рекомендуемые настройки

ScannersCount

Равно количеству ядер процессора.

ThreadsCount

В два раза больше значения ScannersCount.

MaxIcapSessionsCount

См. описание MaxIcapSessionsCount ниже.

QueueLen

  • Больше, чем значение ThreadsCount.
  • Как минимум вдвое больше значения MaxIcapSessionsCount.

RAMUsageLimit

  • Не превышает размер ОЗУ.
  • В два раза больше максимального размера файла для сканирования больших файлов.
  • Не менее 600 МБ, что в два раза больше размера антивирусных баз и библиотек Kaspersky Scan Engine (всего 300 МБ).

ScanMaxFileSize

10343 КБ (10,1 МБ)

Получайте обновленное значение от вашего технического менеджера по работе с клиентами не реже одного раза в год.

ScanningMode

Укажите флаги:

  • KAV_O_M_PACKED
  • KAV_O_M_ARCHIVED
  • KAV_O_M_MAILPLAIN
  • KAV_O_M_MAILBASES
  • KAV_O_M_HEURISTIC_LEVEL_SHALLOW

ScanTimeout

10000 (10 секунд)

MaxArchivesScanningDepth

5

ScanInReqMode

URL (сканирование только запрошенных URL-адресов).

ScanInRespMode

Content (сканирование только тела HTTP-сообщения).

TransferBeforeScanEnding

1

Delay

(Атрибут TransferBeforeScanEnding)

10

ChunkSize

(Атрибут TransferBeforeScanEnding)

4

BlockedUrlCacheEnabled

(Атрибут TransferBeforeScanEnding)

1

BlockedUrlCacheKb

(Атрибут TransferBeforeScanEnding)

5000

BlockedUrlCacheTtlSec

(Атрибут TransferBeforeScanEnding)

1800

UseKSN

См. описание UseKSN ниже.

KeepAliveSettings

См. описание KeepAliveSettings ниже.

ScannersCount

Этот параметр в Kaspersky Scan Engine GUI: Settings > Service > Processes.

Рекомендуемое количество сканирующих процессов равно количеству ядер процессора. Например, если Kaspersky Scan Engine работает на компьютере с 4-ядерным процессором, установите ScannersCount равным 4.

См. также подраздел "Пример работы Kaspersky Scan Engine в режиме ICAP в зависимости от настроек ScannersCount, ThreadsCount, QueueLen и MaxIcapSessionsCount".

ThreadsCount

Этот параметр в Kaspersky Scan Engine GUI: Settings > Service > Threads.

Рекомендуемое количество потоков сканирования зависит от количества процессов сканирования, указанного в ScannersCount: значение ThreadsCount в два раза больше значения ScannersCount. Например, если Kaspersky Scan Engine работает на компьютере с 4-ядерным процессором, а ScannersCount имеет значение 4, установите для ThreadsCount значение 8.

См. также подраздел "Пример работы Kaspersky Scan Engine в режиме ICAP в зависимости от настроек ScannersCount, ThreadsCount, QueueLen и MaxIcapSessionsCount".

MaxIcapSessionsCount

Этот параметр в Kaspersky Scan Engine GUI: Settings > Service > Sessions.

При определении максимального числа одновременных подключений к Kaspersky Scan Engine учитывайте следующее:

  • Максимальное количество потоков сканирования (ThreadsCount).
  • Максимальную длину очереди задач сканирования (QueueLen).
  • Специфику ICAP: как правило, kavicapd запускает два потока сканирования для одной задачи сканирования.

Чем больше количество активных соединений, тем быстрее заполняются все потоки сканирования и, как следствие, тем длиннее очередь для задач сканирования.

Рекомендуемое значение MaxIcapSessionsCount:

  • Равно среднему количеству запросов ICAP-клиента в минуту.
  • Больше, чем значение ScannersCount.
  • Больше, чем значение ThreadsCount.
  • Превышает количество активных процессов, используемых прокси-сервером.
  • Превышает максимальное количество подключений от клиентов, обслуживаемых выбранным прокси-сервером.

См. также подраздел "Пример работы Kaspersky Scan Engine в режиме ICAP в зависимости от настроек ScannersCount, ThreadsCount, QueueLen и MaxIcapSessionsCount".

QueueLen

Длина очереди задач сканирования не должна быть меньше количества потоков проверки (ThreadsCount). В противном случае некоторые потоки сканирования никогда не будут использоваться.

Поскольку задачи сканирования ставятся в очередь из всех открытых сеансов, учитывайте значение MaxIcapSessionsCount. Очередь задач сканирования не должна быть меньше MaxIcapSessionsCount. В противном случае некоторые клиенты получат ошибку 503 - Service overloaded при попытке открыть сеанс.

Рекомендуемое значение QueueLen:

  • Больше, чем значение ThreadsCount.
  • Как минимум вдвое больше значения MaxIcapSessionsCount.

См. также подраздел "Пример работы Kaspersky Scan Engine в режиме ICAP в зависимости от настроек ScannersCount, ThreadsCount, QueueLen и MaxIcapSessionsCount".

RAMUsageLimit

Если в Kaspersky Scan Engine поступает много больших объектов для сканирования или много одновременных запросов, программа часто может останавливать обработку запросов из-за чрезмерного потребления системной памяти. Когда обработка запроса прекращается, Kaspersky Scan Engine записывает в файл журнала одно из следующих сообщений: Can't accept request: Not enough memory! или Can't accept new request: Not enough memory! Клиенты получают сообщение об ошибке 503 - Service overloaded.

Рекомендуется ограничить максимальный объем системной памяти, чтобы предотвратить ее чрезмерное использование. При превышении этого лимита Kaspersky Scan Engine прекращает сканирование объектов.

Рекомендуемое значение RAMUsageLimit:

  • Не превышает размер ОЗУ.
  • В два раза больше максимального размера файла для сканирования больших файлов. Например, для сканирования файла размером 1 ГБ требуется около 2 ГБ ОЗУ.
  • Не менее 600 МБ, что в два раза больше размера антивирусных баз и библиотек Kaspersky Scan Engine (всего 300 МБ). Такой размер необходим из-за того, что объем системной памяти удваивается при перезагрузке базы данных.

ScanMaxFileSize

Этот параметр в Kaspersky Scan Engine GUI: Settings > Scanning > Skip large objects.

При указании максимального размера файла для сканирования Kaspersky Scan Engine учитывайте значение RAMUsageLimit: ScanMaxFileSize не должен быть больше RAMUsageLimit. Чтобы повысить производительность Kaspersky Scan Engine, установите ScanMaxFileSize равным 10343 КБ (10,1 МБ). Это рекомендуемое значение, поскольку его достаточно для обнаружения большинства вредоносных программ.

Если вы следовали приведенной выше рекомендации, мы также рекомендуем один раз в год проконсультироваться со своим персональным техническим менеджером, чтобы получить обновленное рекомендуемое значение, поскольку средний размер вредоносного ПО меняется из года в год.

ScanningMode

Этот параметр в Kaspersky Scan Engine GUI: Settings > Scanning > Types of files to scan и Settings > Scanning > Heuristic analysis level.

Рекомендуемое значение для ScanningMode следующее:

KAV_O_M_PACKED | KAV_O_M_ARCHIVED | KAV_O_M_MAILPLAIN | KAV_O_M_MAILBASES | KAV_O_M_HEURISTIC_LEVEL_SHALLOW

ScanTimeout

Этот параметр в Kaspersky Scan Engine GUI: Settings > Scanning > Object scan timeout.

Рекомендуемое значение для ScanTimeout10000 (10 секунд).

MaxArchivesScanningDepth

Этот параметр в Kaspersky Scan Engine GUI: Settings > Scanning > Maximum depth.

Рекомендуется ограничить максимальную глубину распаковки вложенных архивов во время сканирования. Рекомендуемое значение MaxArchivesScanningDepth5.

ScanInReqMode

Этот параметр в Kaspersky Scan Engine GUI: Settings > Scanning > Scan scope in Request mode.

Рекомендуемое значение для ScanInReqModeURL. Если указано это значение, Kaspersky Scan Engine сканирует только запрошенные URL-адреса.

ScanInRespMode

Этот параметр в Kaspersky Scan Engine GUI: Settings > Scanning > Scan scope in Response mode.

Рекомендуемое значение для ScanInRespModeContent. Если указано это значение, Kaspersky Scan Engine сканирует только тело HTTP-сообщения.

TransferBeforeScanEnding

Этот параметр в Kaspersky Scan Engine GUI: Settings > Service, блок настроек Partial mode.

Этот параметр не дает клиенту прервать соединение с прокси-сервером из-за тайм-аута. Это может произойти, когда клиент отправляет на сканирование большой объект и не может дождаться получения отсканированного объекта.

Рекомендуемое значение TransferBeforeScanEnding1 (включить). Также рекомендуется использовать атрибуты по умолчанию:

  • Delay: 10
  • ChunkSize: 4

    Значение должно быть как минимум в несколько раз меньше ScanMaxFileSize (см. выше).

  • BlockedUrlCacheEnabled: 1
  • BlockedUrlCacheKb: 5000
  • BlockedUrlCacheTtlSec: 1800

См. также подробное описание этих атрибутов.

UseKSN

Этот параметр в Kaspersky Scan Engine GUI: Settings > Scanning > Enable reputation checking.

Рекомендуем включить использование данных из KSN (Kaspersky Security Network). Это обеспечивает более быстрое реагирование на угрозы, улучшает производительность некоторых компонентов защиты и уменьшает вероятность ложных срабатываний.

Чтобы включить KSN, установите UseKSN на 1.

Если включен KSN, также рекомендуется включить защиту от фишинга одним из следующих способов:

  • В элементе ScanningMode файла конфигурации kavicapd.xml добавьте флаг KAV_O_M_PHISHING.
  • На странице Settings > Scanning в Kaspersky Scan Engine GUI активируйте переключатель Enable Phishing Protection.

Защита от фишинга полезна, когда Kaspersky Scan Engine проверяет URL-адреса.

KeepAliveSettings

Этот параметр в Kaspersky Scan Engine GUI Settings > Service > Keep-alive.

Мы рекомендуем включить Keep-Alive. Когда включен Keep-Alive, Kaspersky Scan Engine поддерживает постоянное соединение даже после обработки запроса и истечения времени ожидания сеанса. Это дает следующие преимущества:

  • уменьшает сетевой трафик;
  • уменьшает использование ресурсов сервера;
  • уменьшает задержку при обработке запросов.

Keep-Alive особенно полезен для HTTPS-соединений, которые требуют больше процессорного времени и больше взаимодействий клиент-сервер.

Чтобы включить Keep-Alive, установите для элемента Enabled в KeepAliveSettings значение 1.

Чтобы определить значения для TimeoutMs и MaxRequests, оцените количество клиентов и количество запросов от клиентов.

Например, вы рассчитали, что максимальное количество клиентов равно 50, поэтому устанавливаете MaxICAPSessionsCount равным 50. Если TimeoutMs и MaxRequests не ограничены и все 50 клиентов отправляют запросы непрерывно, Kaspersky Scan Engine поддерживает соединения с этими 50 клиентами без ограничений. В результате невозможно установить новые соединения.

Другой пример. Вы рассчитали, что максимальное количество клиентов равно 50, поэтому устанавливаете MaxICAPSessionsCount равным 50. Вы также подсчитали, что максимальное количество запросов от одного клиента составляет 15, поэтому вы устанавливаете MaxRequests на 15. Если вы не установили ограничение для TimeoutMs и клиенты не отправляют 15 запросов, Kaspersky Scan Engine поддерживает соединения с этими 50 клиентами без ограничений, поэтому новые соединения не могут быть установлены.

Пример работы Kaspersky Scan Engine в режиме ICAP в зависимости от настроек ScannersCount, ThreadsCount, QueueLen и MaxIcapSessionsCount

Допустим, Kaspersky Scan Engine установлен на компьютере с четырьмя ядрами процессора и у этого компьютера 140 одновременных подключений, а Kaspersky Scan Engine настроен следующим образом:

  • ScannersCount = 4
  • ThreadsCount = 8
  • QueueLen = 200
  • MaxIcapSessionsCount = 100

В этом случае:

  1. Kaspersky Scan Engine пытается открыть соединения для всех 140 клиентов. Как правило, открыто 100 сеансов. Оставшиеся 40 клиентов, вероятно, получат ошибку 429: Too many requests.
  2. Открытые сеансы сформируют очередь задач сканирования. В идеале очередь может содержать 200 задач.

    Если значение QueueLen ограничивает длину очереди менее чем 200 задачами, остальные клиенты получат ошибку 500 - Internal Server Error.

  3. Kaspersky Scan Engine запускает четыре процесса сканирования.
  4. Четыре процесса сканирования создают восемь потоков для одновременной обработки восьми задач сканирования из очереди. Остальные 192 задачи проверки помещены в очередь.

Если клиент получает ошибку 500: Internal Server Error, это может значить, что достигнут предел длины очереди, указанный в QueueLen. В этом случае вы можете сделать одно из следующих действий:

  • Уменьшите MaxIcapSessionsCount.

    Перед уменьшением MaxIcapSessionsCount оцените потребности вашего решения в масштабируемости. Если значение MaxIcapSessionsCount уменьшено, все клиенты, число которых превышает значение, указанное в MaxIcapSessionsCount, не смогут создать сеанс и получат ошибку 429: Too many requests.

  • Увеличьте QueueLen.

    Перед увеличением QueueLen оцените потребности вашего решения в масштабируемости. Если значение QueueLen слишком велико, а пропускная способность мала, время обработки запроса может увеличиться настолько, что клиент отключится до того, как Kaspersky Scan Engine завершит обработку запроса.

Если клиент получает ошибку 503: Service overloaded, это может значить, что во время обработки запроса был достигнут предел потребления системной памяти (журнал содержит запись Not enough memory). В этом случае увеличьте значение RAMUsageLimit.

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