目录
附录 1。安装和配置 Squid 服务
如果您使用单独的代理服务器,则默认 Kaspersky Web Traffic Security 不对 ICAP 流量进行加密或对 ICAP 客户端进行身份验证。应用程序管理员必须通过使用流量隧道或 iptables 单独确保您的代理服务器和 Kaspersky Web Traffic Security 之间的网络连接安全。
您可以选择不使用单独的代理服务器,而是安装
。如果 Kaspersky Web Traffic Security 是从 RPM 或 DEB 软件包安装到即用型操作系统的,则所提供的有关安装和配置 Squid 服务的说明适用。如果 Kaspersky Web Traffic Security 是从 ISO 文件安装的,则无法手动更改内置代理服务器的配置文件。
安装和配置 Squid 服务包括以下步骤。
- 安装 Squid 服务
- 配置 Squid 服务
- 在 Squid 服务中配置 SSL Bumping
建议在 Squid 服务中配置
以处理加密连接。如果未配置 SSL Bumping,则代理服务器无法干预加密连接建立过程。在这种情况下,Kaspersky Web Traffic Security(反病毒和反网络钓鱼)的保护模块无法扫描在加密数据通道内传输的数据。这降低了企业 IT 基础架构的保护级别。 - 添加 SSL Bumping 的排除项
使用 SSL Bumping 可能会中断使用代理服务器的某些应用程序或服务的运行。为了确保其正确运行,您必须将其添加到 SSL Bumping 排除项。
- 对于负载过重的额外配置
若要处理大量网络连接,您必须配置 Squid 服务和操作系统网络堆栈的性能设置。
安装 Squid 服务
如果 Kaspersky Web Traffic Security 是从 RPM 或 DEB 软件包安装到即用型操作系统的,则这些说明适用。
要安装 Squid 服务:
- 如果正在使用 SUSE Linux Enterprise Server 15 SP1 操作系统,请连接 Server Applications Module。为此,请执行命令:
SUSEConnect -p sle-module-server-applications/15.1/x86_64
- 安装 Squid 服务软件包。为此,请根据所使用的操作系统运行以下命令之一:
- CentOS 或 Red Hat Enterprise Linux:
yum install -y squid
- SUSE Linux Enterprise Server:
zypper install squid
- Ubuntu、Debian 或 ALT Server:
apt-get install squid
- CentOS 或 Red Hat Enterprise Linux:
- 添加 Squid 服务进行自动启动。为此,请执行命令:
systemctl enable squid
- 启动 Squid 服务。为此,请执行命令:
service squid start
- 检查 Squid 服务的状态。为此,请执行命令:
service squid status
激活 参数必须包含 激活(正在运行) 值。
Squid 服务已安装。
页面顶端配置 Squid 服务
如果 Kaspersky Web Traffic Security 是从 RPM 或 DEB 软件包安装到即用型操作系统的,则这些说明适用。如果 Kaspersky Web Traffic Security 是从 ISO 文件安装的,则无法手动更改内置代理服务器的配置文件。
要配置 Squid 服务,请:
- 更改 Squid 服务的设置。为此,添加以下字符串到配置文件 /etc/squid/squid.conf 的末尾:
icap_enable on
adaptation_send_username on
adaptation_send_client_ip on
icap_service kwts_req reqmod_precache icap://127.0.0.1:1344/av/reqmod
icap_service kwts_res respmod_precache icap://127.0.0.1:1344/av/respmod
icap_service_failure_limit -1
adaptation_access kwts_req allow all
adaptation_access kwts_res allow all
- 在同一个配置文件中,添加 tcpkeepalive 选项到 http_port 指令:
http_port 3128 tcpkeepalive=60,30,3
- 重启 Squid 服务。为此,请执行命令:
service squid restart
Squid 服务配置现在已完成。
页面顶端在 Squid 服务中配置 SSL Bumping
如果 Kaspersky Web Traffic Security 是从 RPM 或 DEB 软件包安装到即用型操作系统的,则这些说明适用。如果 Kaspersky Web Traffic Security 是从 ISO 文件安装的,则无法手动更改内置代理服务器的配置文件。
建议在 Squid 服务中配置 SSL Bumping 以处理加密连接。如果未配置 SSL Bumping,则代理服务器无法干预加密连接建立过程。在这种情况下,Kaspersky Web Traffic Security(反病毒和反网络钓鱼)的保护模块无法扫描在加密数据通道内传输的数据。这降低了企业 IT 基础架构的保护级别。
SSL Bumping 需要 SSL 证书和 PEM 格式的私钥。您可以 新建一个自签名 SSL 证书 或使用一个准备好的(例如,证书机构颁发的 SSL 证书)。
如果私钥受密码保护,需要提前解密。
要在 Squid 服务中配置 SSL Bumping:
- 请确保所用的 Squid 服务支持必需的选项。为此,请执行命令:
squid -v
配置选项
参数必须包含--enable-ssl-crtd and --with-openssl
值。 - 把 PEM 格式的 SSL 证书复制到文件 /etc/squid/bump.crt 中。
- 把 PEM 格式的私钥复制到文件 /etc/squid/bump.key 中。
- 为 Diffie-Hellman 算法生成设置文件。为此,请执行命令:
openssl dhparam -outform PEM -out /etc/squid/bump_dhparam.pem 2048
- 配置 SSL 证书文件使用权限。为此,请根据所使用的操作系统运行以下命令:
- CentOS, Red Hat Enterprise Linux 或 SUSE Linux Enterprise Server:
chown squid:squid /etc/squid/bump*
chmod 400 /etc/squid/bump*
- Ubuntu、Debian 或 ALT Server:
chown proxy:proxy /etc/squid/bump*
chmod 400 /etc/squid/bump*
- CentOS, Red Hat Enterprise Linux 或 SUSE Linux Enterprise Server:
- 确定您的服务器上使用的 Squid 服务的版本。为此,请执行命令:
squid -v
利用版本的信息显示为格式
Squid Cache: 版本 <version>
。 - 如果 Squid 服务正在运行,将其停止。为此,请执行命令:
service squid stop
- 如果正在使用版本 3.5.х 的 Squid 服务:
- 为证书数据库创建目录然后初始化数据库。为此,请根据所使用的操作系统运行以下命令:
- CentOS 或 Red Hat Enterprise Linux:
mkdir -p /var/lib/squid
rm -rf /var/lib/squid/ssl_db
/usr/lib64/squid/ssl_crtd -c -s /var/lib/squid/ssl_db
chown -R squid:squid /var/lib/squid
- SUSE Linux Enterprise Server:
mkdir -p /var/lib/squid
rm -rf /var/lib/squid/ssl_db
/usr/sbin/ssl_crtd -c -s /var/lib/squid/ssl_db
chown -R squid:squid /var/lib/squid
- Ubuntu 或 Debian:
mkdir -p /var/lib/squid
rm -rf /var/lib/squid/ssl_db
/usr/lib/squid/ssl_crtd -c -s /var/lib/squid/ssl_db
chown -R proxy:proxy:<group> /var/lib/squid
- CentOS 或 Red Hat Enterprise Linux:
- 在 /etc/squid/squid.conf 配置文件中进行以下更改:
- 在文件末尾,根据利用的操作系统添加以下指令:
- CentOS 或 Red Hat Enterprise Linux:
sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 20MB
sslproxy_cert_error allow all
ssl_bump stare all
- SUSE Linux Enterprise Server:
sslcrtd_program /usr/sbin/ssl_crtd -s /var/lib/squid/ssl_db -M 20MB
sslproxy_cert_error allow all
ssl_bump stare all
- Ubuntu 或 Debian:
sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 20MB
sslproxy_cert_error allow all
ssl_bump stare all
- 用以下内容替换 http_port 指令:
http_port 3128 tcpkeepalive=60,30,3 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=20MB cert=/etc/squid/bump.crt key=/etc/squid/bump.key cipher=HIGH:MEDIUM:!LOW:!RC4:!SEED:!IDEA:!3DES:!MD5:!EXP:!PSK:!DSS options=NO_TLSv1,NO_SSLv3,NO_SSLv2,SINGLE_DH_USE,SINGLE_ECDH_USE tls-dh=prime256v1:/etc/squid/bump_dhparam.pem
- 在文件末尾,根据利用的操作系统添加以下指令:
- 为证书数据库创建目录然后初始化数据库。为此,请根据所使用的操作系统运行以下命令:
- 如果正在使用版本 4.х 的 Squid 服务:
- 为证书数据库创建目录然后初始化数据库。为此,请根据所使用的操作系统运行以下命令:
- CentOS 或 Red Hat Enterprise Linux:
mkdir -p /var/lib/squid
rm -rf /var/lib/squid/ssl_db
/usr/lib64/squid/security_file_certgen -c -s /var/lib/squid/ssl_db -M 20MB
chown -R squid:squid /var/lib/squid
- SUSE Linux Enterprise Server:
mkdir -p /var/lib/squid
rm -rf /var/lib/squid/ssl_db
/usr/sbin/security_file_certgen -c -s /var/lib/squid/ssl_db -M 20MB
chown -R squid:squid /var/lib/squid
- Ubuntu、Debian 或 ALT Server:
mkdir -p /var/lib/squid
rm -rf /var/lib/squid/ssl_db
/usr/lib/squid/security_file_certgen -c -s /var/lib/squid/ssl_db -M 20MB
chown -R proxy:proxy /var/lib/squid
- CentOS 或 Red Hat Enterprise Linux:
- 在 /etc/squid/squid.conf 配置文件中进行以下更改:
- 将以下指令添加到文件开始或第一个 http_access 指令前:
acl intermediate_fetching transaction_initiator certificate-fetching
http_access allow intermediate_fetching
- 根据利用的操作系统将以下指令添加到文件末尾:
- CentOS 或 Red Hat Enterprise Linux:
sslcrtd_program /usr/lib64/squid/security_file_certgen -s /var/lib/squid/ssl_db -M 20MB
sslproxy_cert_error allow all
ssl_bump stare all
- SUSE Linux Enterprise Server:
sslcrtd_program /usr/sbin/security_file_certgen -s /var/lib/squid/ssl_db -M 20MB
sslproxy_cert_error allow all
ssl_bump stare all
- Ubuntu、Debian 或 ALT Server:
sslcrtd_program /usr/lib/squid/security_file_certgen -s /var/lib/squid/ssl_db -M 20MB
sslproxy_cert_error allow all
ssl_bump stare all
- 用以下内容替换 http_port 指令:
http_port 3128 tcpkeepalive=60,30,3 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=20MB tls-cert=/etc/squid/bump.crt tls-key=/etc/squid/bump.key cipher=HIGH:MEDIUM:!LOW:!RC4:!SEED:!IDEA:!3DES:!MD5:!EXP:!PSK:!DSS options=NO_TLSv1,NO_SSLv3,SINGLE_DH_USE,SINGLE_ECDH_USE tls-dh=prime256v1:/etc/squid/bump_dhparam.pem
- 将以下指令添加到文件开始或第一个 http_access 指令前:
- 为证书数据库创建目录然后初始化数据库。为此,请根据所使用的操作系统运行以下命令:
- 重启 Squid 服务。为此,请执行命令:
service squid restart
配置 Squid 服务中的 SSL Bumping 将完成。
页面顶端创建一个自签名的 SSL 证书
如果 Kaspersky Web Traffic Security 是从 RPM 或 DEB 软件包安装到即用型操作系统的,则这些说明适用。
如要创建一个自签名的 SSL 证书:
- 转至 Squid 服务文件夹。为此,请执行命令:
cd /etc/squid
- 创建一个自签名的 SSL 证书。为此,请执行命令:
openssl req -new -newkey rsa:2048 -days <certificate validity period in days> -nodes -x509 -keyout bump.key -out bump.crt
您将被提示填写自签名 SSL 证书的字段。
- 请填写自签名 SSL 证书的字段。
证书文件 bump.crt 和私钥文件 bump.key 将按 PEM 格式进行创建。
私钥文件必须存储在安全位置以防对流量未经授权进行访问。
- 将证书文件转换为 DER 格式的受信任证书以便它可以被导入浏览器中。为此,请执行命令:
openssl x509 -in bump.crt -outform DER -out bump.der
- 将 bump.der 文件导入用户计算机上受信任的根认证权威列表。
当使用某些浏览器(诸如 Mozilla Firefox)时,您必须将证书也添加到浏览器存储。
将创建自签名 SSL 证书。
页面顶端添加 SSL Bumping 的排除项
如果 Kaspersky Web Traffic Security 是从 RPM 或 DEB 软件包安装到即用型操作系统的,则这些说明适用。如果 Kaspersky Web Traffic Security 是从 ISO 文件安装的,则无法手动更改内置代理服务器的配置文件。
在以下情况下您可能需要添加 SSL Bumping 的排除项:
- 软件使用 HTTPS 之外的协议(比如 SSH、RDP 或 VPN)。
- 软件或 Web 资源使用 WebSockets 或 HTTP/2.0 协议。
- 正使用国家加密算法(比如 GOST 或 Sm2)访问 Web 资源。
- 软件使用服务器证书固定。
- 软件或 Web 资源需要基于客户端 SSL 证书的授权。
如要添加 SSL Bumping 的排除项:
- 创建一个名为 /etc/squid/donotbump.list 的文件,其中包含您想要添加到排除项的 Web 资源和主机的域名的列表。
每个域名必须列在新的一行上。
要将含所有子域的域添加到排除项,在值的开始加一个点(例如,
.domain.com
)。 - 将以下指示添加到配置文件 /etc/squid/squid.conf:
acl do_not_bump dstdomain "/etc/squid/donotbump.list"
ssl_bump splice do_not_bump
这些字符串必须添加到最终指示 ssl_bump stare all 之前。
- 重启 Squid 服务。为此,请执行命令:
service squid restart
将添加 SSL Bumping 排除项。
页面顶端对于负载过重的额外配置
如果 Kaspersky Web Traffic Security 是从 RPM 或 DEB 软件包安装到即用型操作系统的,则这些说明适用。如果 Kaspersky Web Traffic Security 是从 ISO 文件安装的,则无法手动更改内置代理服务器的配置文件。
若要处理大量网络连接,您必须配置 Squid 服务和操作系统网络堆栈的性能设置。
若要执行其它配置:
- 创建一个含以下内容、名为 /etc/sysctl.d/90-net-tcp.conf 的配置文件:
net.core.somaxconn = 1024
net.core.netdev_max_backlog = 2048
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_fin_timeout = 20
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_rfc1337 = 1
- 应用更改。为此,请执行命令:
sysctl -p /etc/sysctl.d/90-net-tcp.conf
- 配置 Squid 服务的性能设置。为此,添加以下字符串到配置文件 /etc/squid/squid.conf 的末尾:
workers <服务器所有处理器的物理内核数量>
- 重启 Squid 服务。为此,请执行命令:
service squid restart
其它配置现在完成。
页面顶端