28.6. Apache HTTP サーバーに TLS 暗号化を追加する
mod_ssl をインストールすることで、ウェブトラフィックを保護できます。仮想ホストが IdM 発行の秘密鍵と証明書を使用するように設定し、サブ CA 認証情報を使用してドメインの暗号化された HTTPS 接続を有効にします。
前提条件
- Apache HTTP Server がインストールされ、実行している。
秘密鍵が
/etc/pki/tls/private/example.com.keyファイルに保存されている。秘密鍵と証明書署名要求 (CSR) の作成方法、および認証局 (CA) から証明書を要求する方法の詳細は、ご利用の認証局のドキュメントを参照してください。
-
TLS 証明書が
/etc/pki/tls/certs/example.com.crtファイルに保存されている。別の経路を使用する場合は、該当する手順に従ってください。 -
認証局証明書が
/etc/pki/tls/certs/ca.crtファイルに保存されている。別の経路を使用する場合は、該当する手順に従ってください。 - クライアントとウェブサーバーは、サーバーのホスト名をウェブサーバーの IP アドレスに解決します。
-
サーバーが Red Hat Enterprise Linux 10 (RHEL) を実行し、Federal Information Processing Standards (FIPS) モードが有効になっている場合、クライアントは
拡張マスターシークレット(EMS) 拡張機能をサポートするか、Transport Layer Security (TLS) 1.3 を使用する必要があります。EMS を使用しない TLS 1.2 接続は失敗します。詳細は、Red Hat Knowledgebase ソリューション TLS 拡張機能 Extended Master Secret の適用 を参照してください。
手順
mod_sslパッケージをインストールします。# dnf install mod_ssl/etc/httpd/conf.d/ssl.confファイルを編集し、以下の設定を<VirtualHost _default_:443>ディレクティブに追加します。サーバー名を設定します。
ServerName example.comサーバー名は、証明書の
Common Nameフィールドに設定されているエントリーと一致する必要があります。オプション: 証明書
のサブジェクト代替名(SAN) フィールドにホスト名が追加されている場合、mod_sslを設定して、これらのホスト名に対しても TLS 暗号化を提供することができます。これを設定するには、ServerAliasesパラメーターと対応する名前を追加します。ServerAlias www.example.com server.example.com秘密鍵、サーバー証明書、および CA 証明書へのパスを設定します。
SSLCertificateKeyFile "/etc/pki/tls/private/example.com.key" SSLCertificateFile "/etc/pki/tls/certs/example.com.crt" SSLCACertificateFile "/etc/pki/tls/certs/ca.crt"
セキュリティー上の理由から、
rootユーザーのみが秘密鍵ファイルにアクセスできるように設定します。# chown root:root /etc/pki/tls/private/example.com.key# chmod 600 /etc/pki/tls/private/example.com.key警告不正なユーザーが秘密鍵にアクセスした場合は、証明書を失効させ、新しい秘密鍵を作成し、新しい証明書を要求してください。そうでない場合は、TLS 接続が安全ではなくなります。
-
Web ブラウザーを開いて、
https: //example.comに接続します。
-
Web ブラウザーを開いて、