28.7. Apache HTTP サーバーでサポートする TLS プロトコルバージョンを設定する
デフォルトでは、RHEL 上の Apache HTTP サーバーは、安全なデフォルト値を定義するシステム全体の暗号化ポリシーを使用します。このポリシーは、最新のブラウザーとも互換性があります。たとえば、DEFAULT ポリシーでは、Apache HTTP サーバーで TLSv1.2 と TLSv1.3 プロトコルバージョンのみが有効になるように定義されています。
Apache HTTP サーバーがサポートする TLS プロトコルバージョンは、手動で設定できます。次のような場合は、環境内で特定の TLS プロトコルバージョンのみを有効にする必要があります。
-
お使いの環境のクライアントで、セキュリティーの低い
TLS1(TLSv1.0) プロトコルまたはTLS1.1プロトコルも使用できるようにする必要がある場合。 -
Apache が
TLSv1.2プロトコルまたはTLSv1.3プロトコルのみに対応するように設定する場合。
前提条件
- サーバー上でトランスポート層セキュリティー (TLS) 暗号化を有効にしました。
-
サーバーが 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 の適用 を参照してください。
手順
/etc/httpd/conf/httpd.confファイルを編集し、TLSv1.3プロトコルバージョンを設定したい<VirtualHost>ディレクティブを追加します。SSLProtocol -All TLSv1.3httpdサービスを再起動します。# systemctl restart httpd
検証
TLSv1.3のサポートを確認する:# openssl s_client -connect example.com:443 -tls1_3TLSv1.2のサポートを確認する:# openssl s_client -connect example.com:443 -tls1_2サーバーがプロトコルに対応していない場合には、このコマンドは以下のエラーを返します。
140111600609088:error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version:ssl/record/rec_layer_s3.c:1543:SSL alert number 70- オプション: 他の TLS プロトコルバージョンのコマンドを繰り返し実行します。