openssl / curl 오류 : SSL23_GET_SERVER_HELLO : tlsv1 경고 내부 오류


9

우분투 14.04에서 openssl 또는 curl을 서버 중 하나에 연결하는 데 매우 이상한 문제가 발생합니다.

실행 :

openssl s_client -connect ms.icometrix.com:443

제공합니다 :

CONNECTED(00000003)
140557262718624:error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert
internal error:s23_clnt.c:770:

실행할 때 비슷한 오류가 발생합니다.

curl https://ms.icometrix.com
curl: (35) error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert
internal error

클라이언트 / 서버에서 openssl 버전의 출력 :

OpenSSL 1.0.1f 6 Jan 2014

dpkg -l openssl의 openssl 출력 :

1.0.1f-1ubuntu2

재미있는 점은 다른 버전의 Openssl과 연결할 때 문제가 사라진다는 것입니다.

  • Mac에서 OpenSSL 0.9.8zd 2015 년 1 월 8 일
  • CentOS, OpenSSL 1.0.1e-fips 2013 년 2 월 11 일
  • Ubuntu 14.04의 최신 안정 릴리스, OpenSSL 1.0.2d 2015 년 7 월 9 일

서버 쪽에서는 이상한 것이 없습니다. 컴퓨터에서 SSL3을 비활성화했을 때 문제가 시작되었습니다.

apt-get의 빌드에 문제가 있습니까?

apt-cache showpkg에서 제안한 다른 버전도 테스트하지만 문제는 여전히 남아 있습니다.


bugs.launchpad.net/ubuntu/+source/openssl/+bug/861137 버그에 의해 발생한 것 같습니다 . 몇 가지 해결 방법이 언급되어 있습니다. 합니까의 curl --sslv3 https://ms.icometrix.com작업?
Jos

안녕, 답변 주셔서 감사합니다. 서버에서 ssl을 비활성화했기 때문에 이것은 작동하지 않습니다. 또한 실제로 curl 또는 openssl에 신경 쓰지 않습니다. 실제로 문제는이 버전의 openssl을 사용하는 Python의 요청을 사용한다는 것입니다. 아이디어가 있으시면 알려 주셔서 감사합니다. 더 파고 갈게
cecemel

답변:


4

이것은 클라이언트와 서버 간의 ECDH 지원에 문제가있는 것 같습니다. 모든 ECDH 암호를 제외하면 작동합니다.

openssl s_client -connect ms.icometrix.com:443 -cipher 'DEFAULT:!ECDH'

내 생각 엔 서버가 클라이언트가 제공하는 25 가지 ECC 곡선 중 일부에서 삐걱 거린다. 브라우저는 곡선을 거의 제공하지 않습니다. OpenSSL 0.9.8은 아직 ECC를 지원하지 않으며 RedHat / CentOS는 특허 이유로 기본적으로 ECC를 비활성화 한 기록이 있습니다. 이 버전에 액세스 할 수 없으므로 OpenSSL 1.0.2가 작동하는 이유를 모르겠습니다.

모든 배포판은 이전 버전을 유지하지만 보안 패치를 추가하므로 OpenSSL 버전을 제공하는 것만으로는 충분하지 않습니다. 대신 dpkg -l openssl내 시스템에서 어느 것이 1.0.1f-1ubuntu2.15인지 확인하십시오 .


thx 그것은 트릭을했다! 나는 때 dpkg -l의 출력에 게시물을 업데이트
cecemel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.