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

この手順は、Kaspersky Web Traffic Security が RPM または DEB パッケージから、既存のオペレーティングシステムにインストールされた場合のみに適用可能です。

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

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

  1. Red Hat Enterprise Linux 8.x 以降、Rocky Linux、または RED OS を使用している場合は、暗号化ポリシーを設定します。この操作には、次のコマンドを実行します:

    update-crypto-policies --set LEGACY

  2. ファイル squid.keytab をフォルダー /etc/squid/ にコピーします。
  3. keytab ファイルに対するアクセス権を設定します。この操作には、使用しているオペレーティングシステムに応じて、以下のコマンドを実行します:
    • CentOS、Red Hat Enterprise Linux、SUSE Linux Enterprise Server、Rocky Linux、RED OS:

      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、Rocky Linux、RED OS:

      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、Rocky Linux、RED OS:

      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、Rocky Linux、RED OS の場合は、ファイル /etc/sysconfig/squid に次の行を追加します:

      KRB5RCACHETYPE=none

    • Ubuntu 18.04.x、Debian 9.x、または ALT Server の場合は、ファイル /etc/default/squid に次の行を追加します:

      KRB5RCACHETYPE=none

    • SUSE Linux Enterprise Server、Ubuntu 20.04.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 サービスが設定されます。

ページのトップに戻る