Amazon Linux 2 のOpenSSL はopenssl11 を使え
概要
- openssl s_client コマンドは、SSL/TLS を使用してリモート ホストに接続、サーバーのSSL を診断するためのツールです。
- 今回、Amazon Linux 2 にてopenssl s_client コマンドを使用しましたが、TLS1.2 の疎通確認が出来ませんでした。標準のコマンドを openssl s_client → openssl11 s_client に変更して、解決しました。
発生状況
- Amazon Linux 2 のopenssl は、バージョン 1.0.2 を使用しています。
$ yum list installed openssl
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
packages-microsoft-com-prod 878/878
63 packages excluded due to repository priority protections
Installed Packages
openssl.x86_64 1:1.0.2k-24.amzn2.0.12 @amzn2-core
- 以下、openssl s_client コマンドに、-tls1_2 オプションを指定した結果です。TLS1.2 をサポートするALB にリクエストを投げていますが、結果はなぜかTLSv1/SSLv3 と表示され、TLS1.2 リクエストが出来ない様に見えます。
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256 ※使用されたTLS バージョン,暗号スイートが表示される
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2 ※リクエストしたTLS バージョン,暗号スイートが表示される
Cipher : ECDHE-RSA-AES128-GCM-SHA256
Session-ID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Session-ID-ctx:
Master-Key: yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Key-Arg : None
Krb5 Principal: None
PSK identity: None
PSK identity hint: None
TLS session ticket lifetime hint: 86400 (seconds)
TLS session ticket:
** 省略 **
Start Time: 1709947940
Timeout : 7200 (sec)
Verify return code: 0 (ok)
対処方法
openssl11 をインストールする
- openssl11 をインストールします。
$ sudo yum install openssl11
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
63 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package openssl11.x86_64 1:1.1.1g-12.amzn2.0.20 will be installed
--> Processing Dependency: openssl11-libs(x86-64) = 1:1.1.1g-12.amzn2.0.20 for package: 1:openssl11-1.1.1g-12.amzn2.0.20.x86_64
--> Processing Dependency: libcrypto.so.1.1(OPENSSL_1_1_0)(64bit) for package: 1:openssl11-1.1.1g-12.amzn2.0.20.x86_64
--> Processing Dependency: libcrypto.so.1.1(OPENSSL_1_1_1)(64bit) for package: 1:openssl11-1.1.1g-12.amzn2.0.20.x86_64
--> Processing Dependency: libssl.so.1.1(OPENSSL_1_1_0)(64bit) for package: 1:openssl11-1.1.1g-12.amzn2.0.20.x86_64
--> Processing Dependency: libssl.so.1.1(OPENSSL_1_1_1)(64bit) for package: 1:openssl11-1.1.1g-12.amzn2.0.20.x86_64
--> Processing Dependency: libcrypto.so.1.1()(64bit) for package: 1:openssl11-1.1.1g-12.amzn2.0.20.x86_64
--> Processing Dependency: libssl.so.1.1()(64bit) for package: 1:openssl11-1.1.1g-12.amzn2.0.20.x86_64
--> Running transaction check
---> Package openssl11-libs.x86_64 1:1.1.1g-12.amzn2.0.20 will be installed
--> Processing Dependency: openssl11-pkcs11 for package: 1:openssl11-libs-1.1.1g-12.amzn2.0.20.x86_64
--> Running transaction check
---> Package openssl11-pkcs11.x86_64 0:0.4.10-6.amzn2.0.1 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
openssl11 x86_64 1:1.1.1g-12.amzn2.0.20 amzn2-core 319 k
Installing for dependencies:
openssl11-libs x86_64 1:1.1.1g-12.amzn2.0.20 amzn2-core 1.4 M
openssl11-pkcs11 x86_64 0.4.10-6.amzn2.0.1 amzn2-core 61 k
Transaction Summary
================================================================================
Install 1 Package (+2 Dependent packages)
Total download size: 1.8 M
Installed size: 4.3 M
Is this ok [y/d/N]: y
Downloading packages:
(1/3): openssl11-1.1.1g-12.amzn2.0.20.x86_64.rpm | 319 kB 00:00
(2/3): openssl11-libs-1.1.1g-12.amzn2.0.20.x86_64.rpm | 1.4 MB 00:00
(3/3): openssl11-pkcs11-0.4.10-6.amzn2.0.1.x86_64.rpm | 61 kB 00:00
--------------------------------------------------------------------------------
Total 8.6 MB/s | 1.8 MB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : 1:openssl11-libs-1.1.1g-12.amzn2.0.20.x86_64 1/3
Installing : openssl11-pkcs11-0.4.10-6.amzn2.0.1.x86_64 2/3
Installing : 1:openssl11-1.1.1g-12.amzn2.0.20.x86_64 3/3
Verifying : openssl11-pkcs11-0.4.10-6.amzn2.0.1.x86_64 1/3
Verifying : 1:openssl11-1.1.1g-12.amzn2.0.20.x86_64 2/3
Verifying : 1:openssl11-libs-1.1.1g-12.amzn2.0.20.x86_64 3/3
Installed:
openssl11.x86_64 1:1.1.1g-12.amzn2.0.20
Dependency Installed:
openssl11-libs.x86_64 1:1.1.1g-12.amzn2.0.20
openssl11-pkcs11.x86_64 0:0.4.10-6.amzn2.0.1
Complete!
openssl11 s_client コマンドの実行結果
- openssl11 s_client コマンドを使用すると、次の結果はTLSv1.2 と表示され、正しくTLS1.2 リクエストが出来たようです。
New, TLSv1.2, Cipher is ECDHE-RSA-AES128-GCM-SHA256 ※使用されたTLS バージョン,暗号スイートが表示される
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2 ※リクエストしたTLS バージョン,暗号スイートが表示される
Cipher : ECDHE-RSA-AES128-GCM-SHA256
Session-ID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Session-ID-ctx:
Master-Key: yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 86400 (seconds)
TLS session ticket:
** 省略 **
Start Time: 1709945627
Timeout : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: yes