为 Kerberos 身份验证配置 Squid 服务
如果 Kaspersky Web Traffic Security 是从 RPM 或 DEB 软件包安装到即用型操作系统的,则这些说明适用。
要为 Kerberos 身份验证配置 Squid 服务:
- 如果正在使用 CentOS 版本 8.x 或 Red Hat Enterprise Linux 版本 8.x 操作系统,配置加密算法使用策略。为此,请执行命令:
update-crypto-policies --set LEGACY
- 复制 squid.keytab 文件到文件夹 /etc/squid/。
- 配置 Keytab 文件访问权限。为此,请根据所使用的操作系统运行以下命令:
- CentOS, Red Hat Enterprise Linux 或 SUSE Linux Enterprise Server:
chown squid:squid /etc/squid/squid.keytab
chmod 400 /etc/squid/squid.keytab
- Ubuntu、Debian 或 ALT Server:
chown proxy:proxy /etc/squid/squid.keytab
chmod 400 /etc/squid/squid.keytab
默认情况下,krb5.keytab 文件拥有者为超级用户。
- CentOS, Red Hat Enterprise Linux 或 SUSE Linux Enterprise Server:
- 根据操作系统,请将以下参数添加到 /etc/squid/squid.conf 文件的开头:
- CentOS 或 Red Hat Enterprise Linux:
auth_param negotiate program /usr/lib64/squid/negotiate_kerberos_auth -k /etc/squid/squid.keytab -s HTTP/<托管 Squid 服务的服务器名称>@<大写的 realm Active Directory 域名>
auth_param negotiate children 100 startup=0 idle=10
auth_param negotiate keep_alive on
acl authenticated_user proxy_auth REQUIRED
http_access deny !authenticated_user
- SUSE Linux Enterprise Server:
auth_param negotiate program /usr/sbin/negotiate_kerberos_auth -k /etc/squid/squid.keytab -s HTTP/<托管 Squid 服务的服务器名称>@<大写的 realm Active Directory 域名>
auth_param negotiate children 100 startup=0 idle=10
auth_param negotiate keep_alive on
acl authenticated_user proxy_auth REQUIRED
http_access deny !authenticated_user
- Ubuntu、Debian 或 ALT Server:
auth_param negotiate program /usr/lib/squid/negotiate_kerberos_auth -k /etc/squid/squid.keytab -s HTTP/<托管 Squid 服务的服务器名称>@<大写的 realm Active Directory 域名>
auth_param negotiate children 100 startup=0 idle=10
auth_param negotiate keep_alive on
acl authenticated_user proxy_auth REQUIRED
http_access deny !authenticated_user
- CentOS 或 Red Hat Enterprise Linux:
- 如果您想要用调试模式启用事件记录,请在 /etc/squid/squid.conf 文件中将
-d
参数添加到第一个字符串。- CentOS 或 Red Hat Enterprise Linux:
auth_param negotiate program /usr/lib64/squid/negotiate_kerberos_auth -d -k /etc/squid/squid.keytab -s HTTP/<托管 Squid 服务的服务器名称>@<realm Active Directory 域名>
- SUSE Linux Enterprise Server:
auth_param negotiate program /usr/sbin/negotiate_kerberos_auth -d -k /etc/squid/squid.keytab -s HTTP/<托管 Squid 服务的服务器名称>@<大写的 realm Active Directory>
- Ubuntu、Debian 或 ALT Server:
auth_param negotiate program /usr/lib/squid/negotiate_kerberos_auth -d -k /etc/squid/squid.keytab -s HTTP/<托管 Squid 服务的服务器名称>@<realm Active Directory 域名>
调试事件将被写入文件 /var/log/squid/cache.log。
- CentOS 或 Red Hat Enterprise Linux:
- 如果想要禁用重播缓存,根据所用的操作系统执行以下操作:
- 对于 CentOS 或 Red Hat Enterprise Linux,添加以下行到 /etc/sysconfig/squid 文件:
KRB5RCACHETYPE=none
- 对于 Ubuntu 18.04.х、Debian 9.х 或 ALT Server,添加一下行到 /etc/default/squid 文件:
KRB5RCACHETYPE=none
- 对于 SUSE Linux Enterprise Server 15.x 或 Debian 10.x:
- 创建名为 /etc/systemd/system/squid.service.d/override.conf 含以下内容的文件:
[Service]
Environment=KRB5RCACHETYPE=none
- 运行以下命令:
systemctl daemon-reload
- 创建名为 /etc/systemd/system/squid.service.d/override.conf 含以下内容的文件:
默认启用重播缓存。
提供了更可靠的保护,但是会降低应用程序的性能。 - 对于 CentOS 或 Red Hat Enterprise Linux,添加以下行到 /etc/sysconfig/squid 文件:
- 重启 Squid 服务。为此,请执行命令:
service squid restart
- 在企业 LAN 计算机上,在浏览器设置中,指定作为代理服务器托管 Squid 服务的服务器的 完全限定域名(FQDN)。
Squid 服务现在已配置,可使用 Kerberos 身份验证。