Amazon Linux 2 のOpenSSL はopenssl11 を使え

AmazonLinux_CentOS,AWS,証明書関連

概要

  • 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