クライアント通信にTLS v1.2を適用しますか?

クライアント通信にTLS v1.2を適用しますか?

私は私が調査するように求められた内容が実際に達成可能であることを確認するために健全性検査をしています。

私は現在、AWS CLIまたはBoto3 API呼び出しを介してAWS S3にファイルを転送するために使用されるCentos7サーバーを構築しています。外部から見ると、これはこのサーバーが実行する唯一の作業です。

AWS と通信する際、「TLS V1.2 以降のみを使用してください」というリクエストを受け取りました。

私のLinuxサーバー側でこの制限を設定できますか?

ありがとう

ベストアンサー1

バラよりaws-cli GitHubの問題#3688。

2018年10月の元の質問timwins

PCI DSS は、コンソールではなく管理アクセスに対して「強力な暗号化」を要求します。これは、PCI SSC指令に従ったTLS 1.1以上を意味します。 Pythonドキュメントによると(https://docs.python.org/2/library/ssl.html)サーバー設定最小SSL / TLS要件 - ssl.wrap_socketパラメーターとサーバー証明書を使用するとします。プロトコルパラメータがSSLv23に設定されているようです。本当に?これにより、SSLv3とTLS v1をネゴシエートできます。

クライアント構成でTLSv1.1またはTLSv1.2を強制することはできますか?

返信JordonPhillips:

クライアントとサーバーは常に最新バージョンのTLSをネゴシエートします。すべてのAWSサービスはTLS 1.2をサポートしているため、opensslの最新バージョン用にコンパイルされたPythonバージョンを使用する限り、問題はありません。つまり、現在は以前のTLSバージョンをブラックリストにアップロードする方法がないため、設定可能な非AWSエンドポイントが最新バージョンをサポートしていることを確認する必要があります。

JordonPhillipsこの問題は2018年11月に機能要求としても表示されているため、今後の時点でさらなる開発ができることを願っています。

結論としてtimwins:

ありがとうございます。その後、PCI DSSコンプライアンスを満たす必要があるお客様に、最新のCLIまたは最小バージョン3.6.0(?)Pythonを使用する責任があることを伝えることができます。

Python 3.7以降とOpenSSL 1.1.0g以上の組み合わせは、以下を提供するようです。SSLContext.minimum_versionこれにより、最終的に「TLS 1.2以降」などの制限をPythonでプログラム的にきれいで将来の互換性のある方法で指定できます。

以前は、利用可能なオプションで「TLS 1.2」しか指定できなかったようです。ただ「TLS 1.2」などの公開制限が必要な場合は適していません。またはより良い「TLSバージョンの基本的なサポートを許可することもできますが、aws-cliまだ明確ではありません。

おそらく、これは要求された機能を開発するのに役立ちますかaws-cli

おすすめ記事