28.7. Apache HTTP サーバーでサポートされる TLS プロトコルバージョンの設定
デフォルトでは、RHEL の Apache HTTP Server は、最新のブラウザーにも互換性のある安全なデフォルト値を定義するシステム全体の暗号化ポリシーを使用します。たとえば、DEFAULT ポリシーでは、TLSv1.2 および TLSv1.3 プロトコルバージョンのみが Apache HTTP サーバーで有効になるように定義します。
Apache HTTP サーバーがサポートする TLS プロトコルバージョンは、手動で設定できます。次のような場合は、環境内で特定の TLS プロトコルバージョンのみを有効にする必要があります。
-
お使いの環境のクライアントで、セキュリティーの低い
TLS1(TLSv1.0) プロトコルまたはTLS1.1プロトコルも使用できるようにする必要がある場合。 -
Apache が
TLSv1.2プロトコルまたはTLSv1.3プロトコルのみに対応するように設定する場合。
前提条件
- サーバー上で transport layer security (TLS) 暗号化を有効化した。
-
サーバーが Red Hat Enterprise Linux 10 (RHEL) を実行し、Federal Information Processing Standards (FIPS) モードが有効になっている場合、クライアントは
Extended Master Secret(EMS) 拡張機能をサポートするか、Transport Layer Security (TLS) 1.3 を使用する必要があります。EMS を使用しない TLS 1.2 接続は失敗します。詳細は、Red Hat Knowledgebase ソリューション TLS extension "Extended Master Secret" enforced を参照してください。
手順
/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 プロトコルバージョンのコマンドを繰り返し実行します。