Использование Kaspersky Scan Engine в режиме ICAP со Squid
21 июля 2026
ID 179904
Squid – это кеширующий и перенаправляющий прокси-сервер для Windows и UNIX-подобных систем. Вы можете использовать Kaspersky Scan Engine в режиме ICAP для проверки трафика, проходящего через прокси-сервер Squid.
Требования к установленному ПО
- Операционная система Ubuntu 18.04 или более поздней версии.
- Squid 4.5 или более поздняя версия.
Настройка Squid для работы с Kaspersky Scan Engine
Чтобы Kaspersky Scan Engine работал со Squid в режиме ICAP, вы должны указать Kaspersky Scan Engine как службу ICAP в файле конфигурации Squid (squid.conf).
В Squid ICAP-служба определяется в следующем формате: icap_service id vectoring_point [options] uri.
Чтобы указать Kaspersky Scan Engine как службу ICAP:
- Откройте squid.conf для редактирования.
- Определите обязательные параметры
id,vectoring_pointиuri:- Установите
idравным любому подходящему идентификатору. Например,srv_kl_respдля режима REQMOD иsrv_kl_reqдля режима RESPMOD. - Установите для
vectoring_pointсоответствующее значение*_precache:- Для режима REQMOD укажите
reqmod_precache. - Для режима RESPMOD укажите
respmod_precache.
- Для режима REQMOD укажите
- Укажите в качестве
uriрасположение Kaspersky Scan Engine:- Для режима REQMOD URI должен иметь следующий формат:
icap://servername:port/req. - Для режима RESPMOD URI должен иметь следующий формат:
icap://servername:port/resp.
- Для режима REQMOD URI должен иметь следующий формат:
- Установите
- Добавьте следующие строки в конец файла конфигурации Squid:
icap_enable on
adaptation_send_username on
adaptation_send_client_ip on
icap_service srv_kl_resp respmod_precache 0 icap://localhost:1344/resp
icap_service srv_kl_req reqmod_precache 0 icap://localhost:1344/req
adaptation_access srv_kl_resp allow all
adaptation_access srv_kl_req allow all
icap_service_failure_limit -1
icap_service_revival_delay 30
icap_preview_enable off
В приведенном выше примере
srv_kl_respиsrv_kl_req– примерыid;respmod_precacheиreqmod_precache– значенияvectoring_point;0– значение параметра Squidbypass, аvectoring_pointиicap://127.0.0.1:1344/req– примерыuri.Вы можете использовать
127.0.0.1вuri, только если Kaspersky Scan Engine установлен на том же компьютере, что и Squid. - Сохраните и закройте squid.conf.
- Перезапустите
службу squid.service squid restart
Настройка Squid для работы с Kaspersky Scan Engine и включение сканирования SSL
По умолчанию Kaspersky Scan Engine не может проверять SSL/TLS-трафик, но вы можете настроить Squid расшифровывать его с помощью функции SSL Bumping.
Чтобы настроить Squid для работы с Kaspersky Scan Engine и включить SSL Bumping:
- Установите пакеты, необходимые для компиляции и настройки Squid:
apt-get install build-essential openssl libssl-dev pkg-config - Загрузите исходный код Squid 4.5 или более поздней версии.
- Распакуйте архив с исходным кодом Squid в требуемую директорию.
- Перейдите в эту директорию.
- Скомпилируйте Squid:
./configure --with-default-user=proxy --with-openssl --enable-ssl-crtdmake allmake installПараметры
--with-opensslи--enable-ssl-crtdнеобходимы, чтобы включить SSL Bumping. - Установите правильное время и дату на сервере, на котором работает Squid. Время и дата проверяются каждый раз, когда клиент пытается проверить сертификат этого сервера.
- Настройте OpenSSL:
- Найдите файл конфигурации OpenSSL по умолчанию
openssl.cnf. Расположение этого файла зависит от вашей операционной системы, но обычно это/etc/ssl/openssl.cnf. - Откройте
openssl.cnfдля редактирования. - Добавьте следующую строку в раздел
[v3_ca]файла конфигурации:keyUsage = cRLSign, keyCertSign - Сохраните и закройте файл
openssl.cnf.
- Найдите файл конфигурации OpenSSL по умолчанию
- Подготовьте среду для хранения SSL-сертификатов:
- Создайте директорию для хранения SSL-сертификатов:
mkdir /usr/local/squid/etc/ssl_cert -p - Измените пользователя и группу, которым принадлежит эта директория, на
proxy:chown proxy:proxy /usr/local/squid/etc/ssl_cert -R - Измените разрешения для этой директории:
chmod 700 /usr/local/squid/etc/ssl_cert -R
- Создайте директорию для хранения SSL-сертификатов:
- Перейдите во вновь созданную директорию:
cd /usr/local/squid/etc/ssl_cert - Сгенерируйте новый самозаверяющий SSL-сертификат и закрытый ключ для сервера Squid:
openssl req -new -newkey rsa:2048 -sha256 -days 365 -nodes -x509 -extensions v3_ca -keyout squid_ca.pem -out squid_ca.pem - Преобразуйте созданный сертификат в формат DER:
openssl x509 -in squid_ca.pem -outform DER -out squid_ca.der - Экспортируйте сгенерированный сертификат на клиентские компьютеры и установите его на них как сертификат центра сертификации. Способ выполнения этого действия зависит от браузера и операционной системы клиента.
- Создайте новую базу данных SSL для сервера Squid:
/usr/local/squid/libexec/security_file_certgen -c -s /usr/local/squid/var/logs/ssl_db -M 4MB - Измените пользователя и группу, которым принадлежит эта директория, на
proxy:chown proxy:proxy /usr/local/squid/var/logs/ssl_db -R - Настройте Squid:
- Найдите файл конфигурации Squid по умолчанию
squid.conf. Расположение этого файла зависит от вашей операционной системы, но обычно это/usr/local/squid/etc/squid.conf. - Откройте
squid.confи внесите следующие правки: - Найдите следующую строку:
http_port 3128 - Замените его строкой:
http_port 3128 ssl-bump cert=/usr/local/squid/etc/ssl_cert/squid_ca.pem generate-host-certificates=on dynamic_cert_mem_cache_size=4MBЭта строка включает SSL Bumping на порту 3128.
- Добавьте следующий раздел:
acl step1 at_step SslBump1ssl_bump peek step1ssl_bump bump allsslcrtd_program /usr/local/squid/libexec/security_file_certgen -s /usr/local/squid/var/logs/ssl_db -M 4MB - Укажите Kaspersky Scan Engine в качестве службы ICAP в файле конфигурации Squid, как описано выше в подразделе "Настройка Squid для работы с Kaspersky Scan Engine".
- Сохраните и закройте
squid.conf.
- Найдите файл конфигурации Squid по умолчанию
- Измените пользователя и группу, которым принадлежит директория
/usr/local/squid, наproxy:chown -R proxy:proxy /usr/local/squid - Запустите Squid и инициализируйте кеш Squid:
/usr/local/squid/sbin/squid -z
Ниже приведен пример части файла конфигурации Squid: В этом примере Squid использует Kaspersky Scan Engine в режиме ICAP для проверки HTTP-сообщений как в режиме REQMOD, так и в режиме RESPMOD.
# SSL bumping configuration
http_port 3128 ssl-bump cert=/usr/local/squid/etc/ssl_cert/squid_ca.pem generate-hostcertificates=on dynamic_cert_mem_cache_size=4MB
# ICAP configuration
icap_enable on adaptation_send_username on adaptation_send_client_ip on icap_service srv_kl_resp respmod_precache 0 icap://localhost:1344/resp icap_service srv_kl_req reqmod_precache 0 icap://localhost:1344/req adaptation_access srv_kl_resp allow all adaptation_access srv_kl_req allow all icap_service_failure_limit -1 icap_service_revival_delay 30 icap_preview_enable off |