Squid – это кеширующий и перенаправляющий прокси-сервер для Windows и UNIX-подобных систем. Вы можете использовать Kaspersky Scan Engine в режиме ICAP для проверки трафика, проходящего через прокси-сервер Squid.
Требования к установленному ПО
Настройка 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:
id, vectoring_point и uri:id равным любому подходящему идентификатору. Например, srv_kl_resp для режима REQMOD и srv_kl_req для режима RESPMOD.vectoring_point соответствующее значение *_precache: reqmod_precache.respmod_precache.uri расположение Kaspersky Scan Engine: icap://servername:port/req.icap://servername:port/resp.| 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 – значение параметра Squid bypass, а vectoring_point и icap://127.0.0.1:1344/req – примеры uri.
Вы можете использовать 127.0.0.1 в uri, только если Kaspersky Scan Engine установлен на том же компьютере, что и Squid. 
службу squid.service squid restart
Настройка Squid для работы с Kaspersky Scan Engine и включение сканирования SSL
По умолчанию Kaspersky Scan Engine не может проверять SSL/TLS-трафик, но вы можете настроить Squid расшифровывать его с помощью функции SSL Bumping.
Чтобы настроить Squid для работы с Kaspersky Scan Engine и включить SSL Bumping:
apt-get install build-essential openssl libssl-dev pkg-config
./configure --with-default-user=proxy --with-openssl --enable-ssl-crtd
make all
make install
Параметры --with-openssl и --enable-ssl-crtd необходимы, чтобы включить SSL Bumping.
openssl.cnf. Расположение этого файла зависит от вашей операционной системы, но обычно это /etc/ssl/openssl.cnf.openssl.cnf для редактирования.[v3_ca] файла конфигурации:keyUsage = cRLSign, keyCertSign
openssl.cnf.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
cd /usr/local/squid/etc/ssl_cert
openssl req -new -newkey rsa:2048 -sha256 -days 365 -nodes -x509 -extensions v3_ca -keyout squid_ca.pem -out squid_ca.pem
openssl x509 -in squid_ca.pem -outform DER -out squid_ca.der
/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.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 SslBump1
ssl_bump peek step1
ssl_bump bump all
sslcrtd_program /usr/local/squid/libexec/security_file_certgen -s /usr/local/squid/var/logs/ssl_db -M 4MB
squid.conf./usr/local/squid, на proxy:chown -R proxy:proxy /usr/local/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 |