27.6. Apache HTTP Server への TLS 暗号化の追加
example.com
ドメインの Apache HTTP サーバーで TLS 暗号化を有効化できます。
前提条件
- Apache HTTP Server がインストールされ、実行している。
秘密鍵が
/etc/pki/tls/private/example.com.key
ファイルに保存されている。秘密鍵および証明書署名要求 (CSR) を作成する方法と、認証局 (CA) からの証明書を要求する方法は、CA のドキュメントを参照してください。
-
TLS 証明書が
/etc/pki/tls/certs/example.com.crt
ファイルに保存されている。別のパスを使用する場合は、この手順で対応する手順を調整します。 -
認証局証明書が
/etc/pki/tls/certs/ca.crt
ファイルに保存されている。別のパスを使用する場合は、この手順で対応する手順を調整します。 - クライアントおよび Web サーバーは、サーバーのホスト名を Web サーバーの IP アドレスに対して解決している。
- サーバーが RHEL 9.2 以降を実行し、FIPS モードが有効になっている場合に、クライアントが Extended Master Secret (EMS) 拡張機能をサポートしているか、TLS 1.3 を使用している。EMS を使用しない TLS 1.2 接続は失敗します。詳細は、Red Hat ナレッジベースソリューション TLS extension "Extended Master Secret" enforced を参照してください。
手順
mod_ssl
パッケージをインストールします。dnf install mod_ssl
# dnf install mod_ssl
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/httpd/conf.d/ssl.conf
ファイルを編集し、以下の設定を<VirtualHost _default_:443>
ディレクティブに追加します。サーバー名を設定します。
ServerName example.com
ServerName example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サーバー名は、証明書の
Common Name
フィールドに設定されているエントリーと一致する必要があります。オプション: 証明書の
Subject Alt Names
(SAN) フィールドに追加のホスト名が含まれる場合に、これらのホスト名にも TLS 暗号化を提供するようにmod_ssl
を設定できます。これを設定するには、ServerAliases
パラメーターと対応する名前を追加します。ServerAlias www.example.com server.example.com
ServerAlias www.example.com server.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 秘密鍵、サーバー証明書、および CA 証明書へのパスを設定します。
SSLCertificateKeyFile "/etc/pki/tls/private/example.com.key" SSLCertificateFile "/etc/pki/tls/certs/example.com.crt" SSLCACertificateFile "/etc/pki/tls/certs/ca.crt"
SSLCertificateKeyFile "/etc/pki/tls/private/example.com.key" SSLCertificateFile "/etc/pki/tls/certs/example.com.crt" SSLCACertificateFile "/etc/pki/tls/certs/ca.crt"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
セキュリティー上の理由から、
root
ユーザーのみが秘密鍵ファイルにアクセスできるように設定します。chown root:root /etc/pki/tls/private/example.com.key chmod 600 /etc/pki/tls/private/example.com.key
# chown root:root /etc/pki/tls/private/example.com.key # chmod 600 /etc/pki/tls/private/example.com.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告秘密鍵に権限のないユーザーがアクセスした場合は、証明書を取り消し、新しい秘密鍵を作成し、新しい証明書を要求します。そうでない場合は、TLS 接続が安全ではなくなります。
検証
-
ブラウザーを使用して、
https://example.com
に接続します。