저는 제가 조사하라는 요청을 받은 내용이 실제로 달성 가능한지 확인하기 위해 건전성 검사를 하고 있습니다.
저는 현재 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
?