3.7.2. TLS の実装の使用
Red Hat Enterprise Linux には、
TLS
のフル機能実装が同梱されています。このセクションで は、OpenSSL および GnuTLSの設定を説明します。個別 「特定のアプリケーションの設定」 のアプリケーションで TLS
サポートを設定する方法は、を参照してください。
利用可能な
TLS
実装は、TLS
でセキュア化された通信の確立および使用時に統合されたすべての要素を定義するさまざまな 暗号スイート に対応します。
別の実装に含まれるツールを使用して、の推奨事項を検討しながら、ユースケースに最適なセキュリティーを提供する暗号スイートを一覧表示および指定し 「有効にするアルゴリズムの選択」 ます。生成される暗号スイートを使用すると、個々のアプリケーションが接続をネゴシエートし、セキュアな接続をネゴシエートする方法を設定できます。
重要
使用する TLS 実装の更新またはアップグレード、またはその実装を使用するアプリケーションの更新またはアップグレード後に必ず設定を確認してください。新しいバージョンでは、有効にしたくない新しい暗号スイートが導入され、現在の設定が無効にならない可能性があります。
3.7.2.1. OpenSSL での暗号スイートの使用
OpenSSL は、
SSL
プロトコルおよび TLS
プロトコルをサポートするツールキットおよび暗号ライブラリーです。Red Hat Enterprise Linux では、設定ファイルがにあり /etc/pki/tls/openssl.cnf
ます。この設定ファイルの形式は、に記載されています。 config(1).
OpenSSL のインストールでサポートされる暗号スイートの一覧を取得するには、以下のように ciphers サブ openssl コマンドとともにコマンドを実行します。
~]$ openssl ciphers -v 'ALL:COMPLEMENTOFALL'
出力を絞り込むために、他のパラメーター( OpenSSL ドキュメントの 暗号文字列 および キーワード として参照される)を ciphers サブコマンドに渡します。特別なキーワードは、特定の条件を満たすスイートのみを一覧表示するために使用できます。たとえば、として定義されたスイートのみを一覧表示するには、
HIGH
グループ、以下のコマンドを使用します。
~]$ openssl ciphers -v 'HIGH'
以下を参照してください。 暗号化(1) 利用可能なキーワードおよび暗号文字列の一覧の man ページです。
で説明されている推奨事項を満たす暗号スイートの一覧を取得するには 「有効にするアルゴリズムの選択」、以下のようなコマンドを使用します。
~]$ openssl ciphers -v 'kEECDH+aECDSA+AES:kEECDH+AES+aRSA:kEDH+aRSA+AES' | column -t
ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(256) Mac=AEAD
ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA384
ECDHE-ECDSA-AES256-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA1
ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(128) Mac=AEAD
ECDHE-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA256
ECDHE-ECDSA-AES128-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA1
ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(256) Mac=AEAD
ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA384
ECDHE-RSA-AES256-SHA SSLv3 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA1
ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD
ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA256
ECDHE-RSA-AES128-SHA SSLv3 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA1
DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(256) Mac=AEAD
DHE-RSA-AES256-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(256) Mac=SHA256
DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES128-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(128) Mac=SHA256
DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1
上記のコマンドは、すべての安全ではない暗号を省略します。これにより、
一時的 な楕円曲線 Diffie-Hellman鍵交換と ECDSA
暗号が優先され、RSA
鍵交換は省略されます(これにより、フォワード暗号が確保されます)
。
これはより厳密な設定であるため、実際のシナリオで条件を緩和し、幅広いクライアントとの互換性を確保する必要がある場合があります。