Kerberos 認証向けの Squid サービスの設定

以下の手順は、Kaspersky Web Traffic Security が RPM パッケージと DEB パッケージから、すぐ使えるオペレーティングシステムにインストールされた場合のみに適用されます。

ドメイン名にルートドメイン「.local」が含まれるドメインの認証を設定している場合、正確な Kerberos 認証を設定するための事前準備として、次の手順を完了してオペレーティングシステムを設定する必要があります。

Kerberos 認証向けに Squid サービスを設定するには:

  1. CentOS バージョン 8.x または Red Hat Enterprise Linux バージョン 8.x オペレーティングシステムを使用している場合は、暗号化アルゴリズムを使用するためのポリシーを設定します。この操作には、次のコマンドを実行します:

    update-crypto-policies --set LEGACY

  2. ファイル squid.keytab をフォルダー /etc/squid/ にコピーします。
  3. 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 の所有者はスーパーユーザーです。

  4. オペレーティングシステムに応じて、ファイル /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

  5. デバッグモードでイベントログへの記録を有効にする場合、ファイル /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 に書き込まれます。

  6. リプレイキャッシュを無効にする場合は、使用しているオペレーティングシステムに応じて次の操作を実行します:
    • 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 の場合:
      1. /etc/systemd/system/squid.service.d/override.conf という名前のファイルを作成し、次の内容を入力します:

        [Service]

        Environment=KRB5RCACHETYPE=none

      2. 次のコマンドを実行します:

        systemctl daemon-reload

    リプレイキャッシュは既定で有効です。

    リプレイキャッシュを使用すると、セキュリティ保護の信頼性は向上しますが、製品パフォーマンスは低下する可能性があります。

  7. Squid サービスを再起動します。この操作には、次のコマンドを実行します:

    service squid restart

  8. 組織の LAN 上にあるコンピューターのブラウザー設定で、Squid サービスをホストしているサーバーの完全修飾ドメイン名(FQDN)をプロキシサーバーとして指定します。

Kerberos 認証を使用するように Squid サービスが設定されます。

ページのトップに戻る