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 |