状況:RHEL 7仮想マシンがあり、ここにActiveMQ(v5.16.0)がインストールされています(/opt/...)。
数日間、私のクライアントの一部は、TLS 1.0プロトコルであるオープンSSLポート(61617)を使用して接続できなくなりました。
エラーメッセージは次のとおりです。
Could not accept connection from tcp://10.10.170.1:45762: Client requested protocol TLSv1 is not enabled or supported in server context (Client requested protocol TLSv1 is not enabled or supported in server context)
次のコマンドを使用してサーバー自体でポートをテストするとき:
openssl s_client -connect localhost:61617 -tls1
openssl s_client -connect localhost:61617 -tls1_1
openssl s_client -connect localhost:61617 -tls1_2
...最初の2つのコマンドはSSL証明書を表示しませんが、3番目のコマンドは正しく機能します。
私の質問は次のとおりです
ActiveMQの設定で何も変更していないので、RHELのカーネルレベルで提供されるセキュリティパッチがいくつかあるかどうか疑問に思います。サーバーにこれがあるかどこで確認できますか?
ActiveMQ 側では、SSL に関して何も変更せず、AMQ トランスポート構成は Transport.tls を定義していません。
<transportConnector name="openwire+ssl" uri="ssl://0.0.0.0:61617?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
同じActiveMQ構成が本番サーバーで実行され続けているため、OSレベルで何かが行われているようです。
この質問をどこに投稿するのかわかりません:unix.SE、serverFault、または他のサイトに依存していると思われる場合は、自由に移行してください。私はこの質問をRHELに集中していますが、他の人も他のオペレーティングシステムについて学ぶのに役立ちます。
ベストアンサー1
ActiveMQはクライアントが接続するサービスであるため、ActiveMQはSSL / TLS接続に対して有効にできるプロトコルを明示的に指定します。 Transport.tls ファイルを変更し、次のコンテンツを追加します。
<transportConnector name="openwire+ssl" uri="ssl://0.0.0.0:61617?transport.enabledProtocols=TLSv1,TLSv1.1,TLSv1.2&maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
これはまた、すべての弱いプロトコルを有効にします。 TLS 1.0およびTLS 1.1は安全とは見なされないため、注意して使用しないでください。