検索

1.8. Apache HTTP Web サーバーの Kerberos 認証の設定

download PDF

Apache HTTP Web サーバーで Kerberos 認証を実行するために、RHEL 8 は mod_auth_gssapi Apache モジュールを使用します。Generic Security Services API (GSSAPI) は、Kerberos などのセキュリティーライブラリーを使用する要求を行うアプリケーションのインターフェイスです。gssproxy サービスでは、httpd サーバーに特権の分離を実装できます。これにより、セキュリティーの観点からこのプロセスが最適化されます。

注記

削除した mod_auth_kerb モジュールは、mod_auth_gssapi モジュールに置き換わります。

前提条件

  • httpd パッケージおよび gssproxy パッケージがインストールされている。
  • Apache Web サーバーが設定され、httpd サービスが実行している。

1.8.1. IdM 環境で GSS-Proxy の設定

この手順では、Apache HTTP Web サーバーで Kerberos 認証を実行するように GSS-Proxy を設定する方法を説明します。

手順

  1. サービスプリンシパルを作成し、HTTP/<SERVER_NAME>@realm プリンシパルの keytab ファイルへのアクセスを有効にします。

    # ipa service-add HTTP/<SERVER_NAME>
  2. /etc/gssproxy/http.keytab ファイルに保存されているプリンシパルの keytab を取得します。

    # ipa-getkeytab -s $(awk '/^server =/ {print $3}' /etc/ipa/default.conf) -k /etc/gssproxy/http.keytab -p HTTP/$(hostname -f)

    このステップでは、パーミッションを 400 に設定すると、root ユーザーのみが keytab ファイルにアクセスできます。apache ユーザーは異なります。

  3. 以下の内容で /etc/gssproxy/80-httpd.conf ファイルを作成します。

    [service/HTTP]
      mechs = krb5
      cred_store = keytab:/etc/gssproxy/http.keytab
      cred_store = ccache:/var/lib/gssproxy/clients/krb5cc_%U
      euid = apache
  4. gssproxy サービスを再起動して、有効にします。

    # systemctl restart gssproxy.service
    # systemctl enable gssproxy.service

関連情報

  • システム上の gssproxy (8) man ページ
  • システム上の gssproxy-mech (8) man ページ
  • システム上の gssproxy.conf (5) man ページ

1.8.2. Apache HTTP Web サーバーが共有するディレクトリーに Kerberos 認証の設定

この手順では、/var/www/html/private/ ディレクトリーに Kerberos 認証を設定する方法を説明します。

前提条件

  • gssproxy サービスが設定され、実行されている。

手順

  1. /var/www/html/private/ ディレクトリーを保護するように mod_auth_gssapi を設定します。

    <Location /var/www/html/private>
      AuthType GSSAPI
      AuthName "GSSAPI Login"
      Require valid-user
    </Location>
  2. システムユニット設定のドロップインファイルを作成します。

    # systemctl edit httpd.service
  3. 次のパラメーターをシステムのドロップインファイルに追加します。

    [Service]
    Environment=GSS_USE_PROXY=1
  4. systemd 設定をリロードします。

    # systemctl daemon-reload
  5. httpd サービスを再起動します。

    # systemctl restart httpd.service

検証

  1. Kerberos チケットを取得します。

    # kinit
  2. ブラウザーで、保護されているディレクトリーの URL を開きます。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.