Red Hat Training

A Red Hat training course is available for RHEL 8

78.7. Apache HTTP Server への TLS 暗号化の追加

idm.example.com ドメイン向けに、Apache HTTP Server my_company.idm.example.com で TLS 暗号化を有効にできます。

前提条件

  • Apache HTTP Server my_company.idm.example.com をインストールして、実行している。
  • certmonger を使用したサービスの IdM 証明書の取得 で説明されているように、webserver-ca サブ CA から TLS 証明書を取得し、/etc/pki/tls/certs/httpd.pem ファイルに保存しました。別のパスを使用する場合は、この手順で対応する手順を調整します。
  • 対応する秘密鍵を /etc/pki/tls/private/httpd.key ファイルに保存している。別のパスを使用する場合は、この手順で対応する手順を調整します。
  • CA 証明書 webserver-ca/etc/pki/tls/private/sub-ca.crt ファイルに保存されている。別のパスを使用する場合は、この手順で対応する手順を調整します。
  • クライアントおよび Web サーバー my_company.idm.example.com を使用してサーバーのホスト名が Web サーバーのホスト名に対して解決されている。

手順

  1. mod_ssl パッケージをインストールします。

    # yum install mod_ssl
  2. /etc/httpd/conf.d/ssl.conf ファイルを編集し、以下の設定を <VirtualHost _default_:443> ディレクティブに追加します。

    1. サーバー名を設定します。

      ServerName my_company.idm.example.com
    重要

    サーバー名は、証明書の Common Name フィールドに設定されているエントリーと一致している必要があります。

    1. 必要に応じて、証明書の Subject Alt Names (SAN) フィールドに追加のホスト名が含まれる場合に、これらのホスト名にも TLS 暗号化を提供するように mod_ssl を設定できます。これを設定するには、ServerAliases パラメーターと対応する名前を追加します。

      ServerAlias www.my_company.idm.example.com server.my_company.idm.example.com
    2. 秘密鍵、サーバー証明書、および CA 証明書へのパスを設定します。

      SSLCertificateKeyFile "/etc/pki/tls/private/httpd.key"
      SSLCertificateFile "/etc/pki/tls/certs/httpd.pem"
      SSLCACertificateFile "/etc/pki/tls/certs/ca.crt"
  3. セキュリティー上の理由から、root ユーザーのみが秘密鍵ファイルにアクセスできるように設定します。

    # chown root:root /etc/pki/tls/private/httpd.key
    # chmod 600 //etc/pki/tls/private/httpd.key
    警告

    秘密鍵に権限のないユーザーがアクセスした場合は、証明書を取り消し、新しい秘密鍵を作成し、新しい証明書を要求します。そうでない場合は、TLS 接続が安全ではなくなります。

  4. firewalld を使用する場合は、ローカルのファイアウォールでポート 443 を開きます。

    # firewall-cmd --permanent --add-port=443/tcp
    # firewall-cmd --reload
  5. httpd サービスを再起動します。

    # systemctl restart httpd
    注記

    パスワードで秘密鍵ファイルを保護した場合は、httpd サービスの起動時に毎回このパスワードを入力する必要があります。

    • ブラウザーを使用して https://my_company.idm.example.com に接続します。