본문 바로가기
TIP

서버 SSL 관련 정보 확인 / ERR_SSL_VERSION_OR_CIPHER_MISMATCH 해결

by ojava 2016. 2. 16.
반응형

지난 번에 SSL 알고리즘 중 SHA1 방식을 SHA2 방식으로 대체하고 있다는 포스팅을 쓴 적이 있다.


2016/01/18 - [TREND/ISSUE KEYWORD] - SHA-1 인증서 발급 중단




해당 내용과 관련되어 있을 수도 있고, 각 서버별 설정값과 관련된 내용이 될 수도 있는 포스팅을 진행하고자 한다.


최근 크롬 브라우저 및 특정 환경의 브라우저에서 SSL이 적용된 페이지에 접속하는 경우,

접속되지 않는 현상이 발생하였고 다음과 같은 에러메시지를 만나볼 수 있었다.





저 찡그려진 페이지를 보는건 정말 좋지 않다.

특히 내가 운영하는 사이트에서 저런 페이지 나오면 정말 난감하다.




ERR_SSL_VERSION_OR_CIPHER_MISMATCH


위와 같은 메시지가 뜨는데, 인증서 버전에 대한 문제 또는 SSL 통신 시 사용하는 암호화 방식이 맞지 않거나 둘 중 하나다.

하지만 최신 업데이트 된 크롬 브라우저에서만 위와 같은 문제가 발생한다는 점과

같은 인증서를 사용하는 다른 사이트는 동일한 크롬 브라우저에서 정상적으로 동작한다는 점에서


인증서의 문제가 아니라 해당 서비스를 제공하는 서버에서의 문제로 파악하고

더 상세한 정보를 알아내기 위해서 구글링을 하던 중 다음과 같은 사이트를 발견했다.




https://www.ssllabs.com/ssltest/




SSL Servet Test라는 이름으로 제공되는 이 사이트에 조사하고자 하는 도메인을 입력하면

적용된 인증서 정보와 함께 서버 정보도 알 수 있다.

잘 알려진 서비스 도메인의 경우, 조사할 수 없도록 조치를 취해둔 듯 하다.

(티스토리 도메인으로 검사해서 캡쳐하려고 했는데.... 안되다니....)




해당 사이트에서 알 수 있는 정보는 꽤나 많아서 뭐야.. 이런거까지 보여줘도 되나 싶지만

여튼 필요한 정보를 알아내기에 전혀 부족함이 없는 사이트이니 매우 유용할 것으로 생각된다.


본인의 경우, 문제가 있는 부분을 파악한 곳이


Cipher suites 부분이었고, 서버에 설정되어 있는 암호화 방식이 최저로 설정되어서 제공되는 방식이 매우 적었고

최신 브라우저에서 해당 암호화 방식은 안전하지 않다고 판단하여 SSL 페이지로 접근시키지 않은 것으로 파악된다.






크롬은 굉장히 도도한 듯

This page is not secure 하며 아예 접근을 차단함

Aㅏ.... 서비스 안된다고 해서 얼마나 당황했는데



아 물론 해당 서비스는 다른 브라우저에서 정상적으로 되니 문제가 발생하면 당장 고치기 어려운 상황일 때

다른 브라우저를 통한 접근방식을 조심스럽게 제안하시면 일단 당장은 극복이 가능하다는 거...





www.ssllabs.com 사이트에서 검사를 하게 되면 최근 이력이 메인화면에 뜨게 되는 데

이 중 아무거나 무작위로 눌러서 결과를 확인하였다.








최상단에는 검사 결과에 대한 요약이 나온다.

알파벳을 통한 점수매기기가 진행되는데 해당 도메인은 우수한 수준으로 파악된다.


일단 공격 가능성이 있고 문제가 있어서 최신 브라우저에서 지원이 안되는 경우

F가 뜨니... 너무 상처받지 말고 취약점을 보고 보완하시면 됩니다.







현재 본인 SSL 서버에서 제공하고 있는 암호화 방식을 나타낸다.

별로 안전하지 않은 방식을 사용하는 경우 빨간색으로 표시되니 참고!








다양한 브라우저에서 구동하는 경우, 각각에서 어떤 SSL 암호화 방식이 적용되어지를 보여주는

Handshake Simulation 항목인데 본인의 경우는 여기에서 


Protocol or cipher suite mismatch


이러한 값이 나오는 경우가 꽤 있었고 해당 브라우저에서는 서비스가 되지 않는 것을 확인했었다.








그 중심에 Protocol Details에서 제공하는 정보중 RC4 방식을 사용하고 있다는 게 문제였다.

RC4 방식의 암호화는 더 이상 안전하지 않다고 인식하기 때문에 최신 브라우저에서는 해당 방식의 암호화를

사용한 SSL 페이지에 대해서 접근을 허용하지 않은 것으로 보여진다.





가장 좋은 방법은 인증서 업체에 해결책을 물어보는 방법이 최선의 방법이다.

모든 서버에 대한 정보를 확인하기는 어려우나 IIS에서는 인증서 설정 시 알아서 잘 설정되는 듯 하니

Apache 서버인 경우 해결한 방법에 대해 공유한다.



Apache의 경우, httpd-ssl.conf 또는 ssl.conf의 SSL 관련 VirtualHost 설정에 항목을 추가하거나

변경한 후 Apache 서비스 재시작하면 SSL 관련 프로토콜과 Cipher 설정의 수준을 높일 수 있다고 한다.



SSLProtocol All -SSLv2 -SSLv3

SSLCipherSuite "ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:!RC4:HIGH:!MD5:!aNULL:!EDH"




해당 사이트를 통해서 본인 서버의 SSL 관련 정보를 확인하고 취약점을 보완해서

좀 더 안전한 보안 페이지를 제공하시길!





반응형