設定をこれに更新してtls 1.0とtls1.1を無効にできない理由を誰かが知っていますか?.
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
これを実行した後、Apacheをリロードします。ssllabsまたはcomodo sslツールを使用してsslスキャンを実行しますが、tls 1.1および1.0がサポートされているとまだ表示されています。これらを削除しますか?
複数のTLS VirtualHostsがあり、サーバー名表示(SNI)を使用する場合、各VirtualHostに SSLProtocol
ディレクティブを含めることが許可された構文ですが、実際にIP VirtualHostsが設定されている場合を除きますSSLProtocol
ディレクティブの最初の出現から、サーバー全体および/またはallTLSをサポートする名前ベースの仮想ホストに使用されます1。
したがって、メインのhttpd.conf
(およびインスタンスconf.d/*.conf
および同様のインクルードからのすべてのスニペットなど)をチェックして、SSLProtocol
ディレクティブの出現を確認してください。
あなたの構文は正しいですが、私は ezra-s 'answer に同意しますが、all
省略形を展開すると、次のように少し改善できます。
SSLProtocol +SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2 -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
単に使用することによって:
SSLProtocol TLSv1.2
指定したもので十分ですが、他のプロトコルは表示されません。 SSLLABSは最近のテストをキャッシュすることに注意してください。あなたがしたようにそれを定義している他のプロトコルがないことを知っていることは、一種のわざと複雑です。
いずれにせよ、それを使用するか、単に:
SSLProtocol TLSv1.2
私もこの問題に苦労しており、SSLProtocol
ディレクティブを使用した構成の変更が機能していませんでした。私は仮想ホスト構成に以下を追加することになりました:
SSLOpenSSLConfCmd Protocol "-ALL, TLSv1.2"
これは完璧に機能しました。 SSLOpenSSLConfCmd
ディレクティブの詳細については here を参照してください。
ApacheでTLS1.0バージョンを無効にします。
複数の仮想ホスティングがある場合は、すべての構成ファイルを更新する必要があります。それ以外の場合は、ssl.confで十分です。
TSLサポートバージョンを確認するには:
# nmap --script ssl-enum-ciphers -p 443 192.168.11.10 | grep TLSv
| TLSv1.0:
| TLSv1.1:
| TLSv1.2:
Apache構成ファイルを変更するvi /etc/httpd/conf.d/web.conf
すべてのTLSを削除し、TLS1.2のみを許可します。
SSLProtocol TLSv1.2
変更後に検証します。
# grep SSLProtocol /etc/httpd/conf.d/web.conf
SSLProtocol TLSv1.2
# nmap --script ssl-enum-ciphers -p 443 192.168.11.10 | grep TLSv
| TLSv1.2:
# service httpd restart
私もこの問題に直面しました。このVhost内で構成することにより、1つのVHostに対してTLSv1またはTLSv1.1を無効にすることができませんでした。
2つの解決策が見つかりました。
1-
1つのインスタンス内で複数のIPアドレスを実行しているため、IPアドレスごとにTLSv1とTLSv1.1を無効にしたので、定義された仮想ホストについても同様です。
2-
強力な暗号も構成すると、TLSv1.2のみが使用可能になります
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256
SSLHonorCipherOrder on
Apache 2.4.23、openssl 1.0.2.
多分誰かが私の観察を確認することができます。