LinuxでSSLのバージョン確認をする方法|OpenSSLとTLSの対応状況を確認する手順

目次

はじめに

「LinuxでSSLのバージョンを確認したいけれど、どのコマンドを使えばいいの?」
「OpenSSLのバージョンが分かれば、TLSの対応状況まで確認できるの?」と迷っていませんか。

サーバーの設定を見直したり、古いTLSを無効化したりするときに、Linuxのターミナルで現在のOpenSSLやSSL・TLSの対応状況を確認したくても、確認する項目が分からず迷ってしまうことがあります。

この記事では、LinuxでOpenSSLのバージョンを確認する方法から、TLS 1.2やTLS 1.3などの対応状況を確認する手順まで分かります。

LinuxでSSLのバージョンを確認する方法は?

LinuxでSSLのバージョンを確認する場合は、OpenSSL自体のバージョンと、Webサーバーが実際に利用できるSSL/TLSバージョンを分けて確認します。

ここでは、OpenSSLのバージョン確認からWebサーバーの対応状況、TLS 1.2・TLS 1.3への対応確認まで順に説明します。

OpenSSL自体のバージョンを確認する方法

OpenSSLのバージョンは、Linuxのターミナルで「openssl version」を実行すると確認できます。

「OpenSSL 3.0.13」のように表示されるため、現在インストールされているバージョンを確認しましょう。

ただし、この結果はWebサーバーが実際に使用するTLSバージョンを示すものではありません。

Webサーバーが対応するSSL/TLSバージョンを確認する方法

Webサーバーが対応するSSL/TLSバージョンは、「openssl s_client」で実際に接続して確認できます。

たとえば「openssl s_client -connect example.com:443 -tls1_2」を実行すると、TLS 1.2を指定して接続を試せます。

接続できない場合は、Webサーバー側でそのバージョンが無効になっている可能性があります。

TLS 1.2・TLS 1.3への対応を確認する方法

TLS 1.2とTLS 1.3への対応は、「-tls1_2」と「-tls1_3」を指定してそれぞれ接続すると確認できます。

接続結果に指定したTLSバージョンが表示されているか確認しましょう。

両方を分けて試すことで、WebサーバーがどのTLSバージョンに対応しているか判断しやすくなります。

LinuxでSSLの確認結果を判断する方法

LinuxでSSLの確認結果を判断するときは、表示されたバージョン情報とTLS接続の結果を分けて確認します。

ここでは、それぞれの表示内容を確認し、Cipher is (NONE)やエラーが出た場合に何を確認すればよいかを順に説明します。

openssl versionの表示からバージョンを確認する

「openssl version」を実行すると、「OpenSSL 3.0.13」のようにバージョンが表示されます。

「OpenSSL」に続く数字を確認すれば、Linux環境で使用しているOpenSSLのバージョンを判断できます。

ただし、この数字はOpenSSL自体のバージョンであり、TLS接続で使用されたバージョンではありません。

NewやCipherの表示からTLS接続の成否を確認する

「openssl s_client」を実行したら、「New, TLSv1.3」や「Cipher is TLS_AES_256_GCM_SHA384」などの表示を確認します。

TLSバージョンとCipherが表示されていれば、TLS通信が成立していると判断できます。

あわせて確認すると、実際の接続で使用されたTLSバージョンや暗号方式も把握できます。

Cipher is (NONE)やエラーが表示された場合の判断

「Cipher is (NONE)」と表示された場合は、TLS接続が成立せず、暗号方式が選択されていない可能性があります。

その場合は、あわせて表示されるエラー内容を確認しましょう。

指定したTLSバージョンが有効になっているか、Webサーバー側の設定や接続条件を順番に確認すると原因を絞り込みやすくなります。

TLS接続に失敗して原因を詳しく確認したい場合は、SSLエラーの確認方法もあわせて押さえておくと原因を切り分けやすくなります。
▶OpenSSLでSSLエラーを確認する方法|原因の調べ方と対処法

LinuxでSSLのバージョンを確認するときの注意点

LinuxでSSLのバージョンを確認するときは、OpenSSLのバージョンと、実際に通信で使用できるSSL/TLSのバージョンを分けて確認する必要があります。

ここでは、確認対象を間違えないために、それぞれの違いと確認時の注意点を説明します。

OpenSSLのバージョンとSSL/TLSの対応バージョンを分けて考える

「openssl version」で確認できるのは、Linux環境にインストールされているOpenSSLのバージョンです。

「OpenSSL 3.0.13」と表示されても、WebサーバーがTLS 1.2やTLS 1.3に対応しているかまでは分かりません。

SSL/TLSの対応状況を調べる場合は、確認したいTLSバージョンを指定して実際に接続してみましょう。

TLS 1.2やTLS 1.3の違いが分からず、どのバージョンを有効にすればよいか迷う場合は、それぞれの特徴や違いも確認しておくと安心です。
▶TLS 1.2とTLS 1.3の違いとは?対応状況や確認方法を解説

確認対象がLinuxのOpenSSLかWebサーバーかを間違えない

OpenSSL自体を確認する場合は「openssl version」、WebサーバーのSSL/TLS対応状況を確認する場合は「openssl s_client」を使って対象サーバーへ接続します。

同じLinux環境から実行しても、それぞれ確認している対象は異なります。

何を確認したいのかを先に整理しておくと、バージョン情報を取り違えずに判断しやすくなります。

まとめ

LinuxでSSL/TLSのバージョンを確認するときは、OpenSSL自体とWebサーバーの対応状況を分けて考えることが大切です。

「openssl version」ではOpenSSLのバージョンを確認し、Webサーバーについては「openssl s_client」で実際に接続して対応するTLSバージョンを調べます。

まずは何のバージョンを確認したいのかを整理し、目的に合ったコマンドで確認してみましょう。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

目次