TLSの脆弱性が懸念されバージョンを1.2のみ使用することにし、他のバージョンの利用を停止するみたいな作業を行いました。
動作確認のためにサーバに対して、TLSのバージョン1.0および1.1で通信ができない事を確認することになり、opensslコマンドで検証することになりました。
その時の備忘録です。
opensslコマンドって?
opensslコマンドはSSLおよびTLSの機能が実装したプログラムでオープンソースソフトウェアとして公開されています!
以下の機能があります。
など。
インストール方法
[root@server ~]#yum -y install openssl
TLSのバージョンを指定して疎通確認をする
私はTLS1.0とTLS1.1の使用を停止するようにしたので、これらで通信ができないことを確認することにしました。
opensslでTLSのバージョンを指定して疎通を確認するには下記のコマンドを実施します。
[root@xxx-xxx]#openssl -connect 127.0.0.1:443 -tls1 ←TLSのバージョンを指定
127.0.0.1に指定することで自分のサーバに向けて実行にしていますが、ホスト名とかにして他のサーバの疎通確認もできるようです。
一番右の-tlsXXでTLSのバージョンを指定できます。
TLSの通信ができない場合は下記のような感じで返ってきます
※一部抜粋です。
[root@xxx-xxx]#openssl -connect 127.0.0.1:443 -tls1 --- no peer certicate available --- No client certificate CA names sent --- SSL handshake has read xxx bytes and written xxx bytes --- New, (NONE), Ciper is (NONE) Secure Renegotiation IS NOT supported SSL-Session Protocol : TLS1
証明書がないよ!サポートされてないよという感じで返ってきます。
TLS1.2で通信できるかも確認
上記のコマンドと結果でTLS1.2が通信できるかの動作確認も行いました。
コマンドは先ほどと同じです。TLSのバージョンをTLS1.2を指定します。
[root@xxx-xxx]#openssl -connect 127.0.0.1:443 -tls1_2
実行するとこんな感じで返ってきました。
[root@xxx-xxx]#openssl -connect 127.0.0.1:443 -tls1_2 --- Server certificate ------BEGIN CERTIFICATE------ xxxxx......... ......... ......... --- SSL handshake has read xxxx bytes and written xxx bytes New, TLSv1/TLSv3, Ciper is(XXXX-XXX-XXX) Secure Renegotiation IS supported SSL-Session Protocol : TLS1.2 ..... .....
サポートはしていて、証明書の内容みたいなのもドッと流れてきます。
TLSのバージョンを指定するオプションたち
オプション | 説明 |
---|---|
-tls1 | tls1.0を使用 |
-tls1_1 | tls1.1を使用 |
-tls1_2 | tls1.2を使用 |
-no_tls1 | tls1.0を無効 |
-no_tls1_1 | tls1.1を無効 |
-no_tls1_" | tls1.2を無効 |
さいご
最後まで読んでいただき、ありがとうございました。
もし、記載している内容が間違えていれば遠慮なくコメントしてください!
私自身の勉強になりますし、他の人がこの記事を見た時に間違えた情報を見ることになってしまうので💦