Kerberos 認証向けの Squid サービスの設定
2024年7月3日
ID 166440
以下の手順は、Kaspersky Web Traffic Security が RPM パッケージと DEB パッケージから、すぐ使えるオペレーティングシステムにインストールされた場合のみに適用されます。
ドメイン名にルートドメイン「.local
」が含まれるドメインの認証を設定している場合、正確な Kerberos 認証を設定するための事前準備として、次の手順を完了してオペレーティングシステムを設定する必要があります。
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 サービスをホストしているサーバーの名前>@<大文字の 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 サービスをホストしているサーバーの名前>@<大文字の 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 サービスをホストしているサーバーの名前>@<大文字の 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 サービスをホストしているサーバーの名前>@<Active Directory レルムのドメイン名>
- SUSE Linux Enterprise Server:
auth_param negotiate program /usr/sbin/negotiate_kerberos_auth -d -k /etc/squid/squid.keytab -s HTTP/<Squid サービスをホストしているサーバーの名前>@<大文字の 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 サービスをホストしているサーバーの名前>@<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.x、Debian 9.x、または 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)をプロキシサーバーとして指定します。
Kerberos 認証を使用するように Squid サービスが設定されます。