22.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 サーバーのホスト名に対して解決されている。
- サーバーが 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_sslCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/httpd/conf.d/ssl.confファイルを編集し、以下の設定を<VirtualHost _default_:443>ディレクティブに追加します。サーバー名を設定します。
ServerName my_company.idm.example.com
ServerName my_company.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow
重要サーバー名は、証明書の
Common Nameフィールドに設定されているエントリーと一致している必要があります。必要に応じて、証明書の
Subject Alt Names(SAN) フィールドに追加のホスト名が含まれる場合に、これらのホスト名にも TLS 暗号化を提供するようにmod_sslを設定できます。これを設定するには、ServerAliasesパラメーターと対応する名前を追加します。ServerAlias www.my_company.idm.example.com server.my_company.idm.example.com
ServerAlias www.my_company.idm.example.com server.my_company.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 秘密鍵、サーバー証明書、および CA 証明書へのパスを設定します。
SSLCertificateKeyFile "/etc/pki/tls/private/httpd.key" SSLCertificateFile "/etc/pki/tls/certs/httpd.pem" SSLCACertificateFile "/etc/pki/tls/certs/ca.crt"
SSLCertificateKeyFile "/etc/pki/tls/private/httpd.key" SSLCertificateFile "/etc/pki/tls/certs/httpd.pem" SSLCACertificateFile "/etc/pki/tls/certs/ca.crt"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
セキュリティー上の理由から、
rootユーザーのみが秘密鍵ファイルにアクセスできるように設定します。chown root:root /etc/pki/tls/private/httpd.key chmod 600 //etc/pki/tls/private/httpd.key
# chown root:root /etc/pki/tls/private/httpd.key # chmod 600 //etc/pki/tls/private/httpd.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 警告秘密鍵に権限のないユーザーがアクセスした場合は、証明書を取り消し、新しい秘密鍵を作成し、新しい証明書を要求します。そうでない場合は、TLS 接続が安全ではなくなります。
firewalldを使用する場合は、ローカルのファイアウォールでポート443を開きます。firewall-cmd --permanent --add-port=443/tcp firewall-cmd --reload
# firewall-cmd --permanent --add-port=443/tcp # firewall-cmd --reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow httpdサービスを再起動します。systemctl restart httpd
# systemctl restart httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記パスワードで秘密鍵ファイルを保護した場合は、
httpdサービスの起動時に毎回このパスワードを入力する必要があります。-
ブラウザーを使用して
https://my_company.idm.example.comに接続します。
-
ブラウザーを使用して