디스토피아

서버의 TLS 버전 확인 방법 본문

정보·기타/it

서버의 TLS 버전 확인 방법

늘그랬듯이 2024. 5. 24. 16:13
반응형

 

 

 

 

 

 

 

 

 

HTTPS, SSL/TLS 보안 프로토콜 개념 이해하기


 HTTPS( HTTP over SSL/TLS, HTTP Secure )

HTTPS는 HTTP의 보안 강화된 버전으로, 일반 텍스트 대신 SSL/TLS 보안 프로토콜을 사용하여 소켓 통신 중 세션 데이터를 암호화함으로써 데이터의 적절한 보호를 보장합니다. 이로 인해 중간자 공격(Man-in-the-middle attack) 등의 보안 위협으로부터 데이터를 안전하게 보호할 수 있습니다.


HTTP( HyperText Transfer Protocol )
는 하이퍼텍스트 문서를 전송하기 위해 사용되는 프로토콜이며, 클라이언트와 서버 간의 통신에서 사용자 비밀번호나 계좌번호와 같은 개인 정보를 암호화하여 스니핑 공격에 대응할 수 있도록 보안 기능을 강화한 것이 바로 HTTPS입니다. 이를 통해 보안성이 높아진 웹 통신이 가능해집니다.

 

○ TLS( Transport Layer Security )

SSL( Secure Sockets Layer ) 3.0 표준을 기반으로 설계된 상위 버전으로, 네트워크 상에서 데이터를 안전하게 전송하기 위한 보안 프로토콜입니다. TLS는 Handshake 과정에서 클라이언트와 서버 간의 인증과 암호화를 수행하여 전송계층 종단 간 보안과 데이터 무결성을 확보합니다.

 

 

○ TLS 보안 프로토콜 버전 정보

프로토콜 연도 비고
TLS 1.0 1999 SSL 3.0 표준을 바탕으로 설계된 상위 버전으로 보안 취약점 해결
TLS 1.1 2006 암호 블록 체인 공격에 대한 방어와 IANA 등록 파라메터의 지원이 추가
TLS 1.2 2008 보안에 취약한 SHA-1 알고리즘 대신 SHA-2를 사용하도록 변경
TLS 1.3 2018 인증서 암호화 및 Handshake 과정 간소화로 인한 성능(속도) 향상

 

○ TLS 통신 과정( TLS Handshake )

 

 

 

 

OpenSSL을 이용한 확인

  • openssl s_client를 이용하여 tls 버전 별로 negotiation 테스트 및 지원 여부를 알 수 있다.
  • s_client tls protocol 관련 args
usage: s_client args

 ...
 -ssl3         - just use SSLv3
 -tls1_2       - just use TLSv1.2
 -tls1_1       - just use TLSv1.1
 -tls1         - just use TLSv1
 -dtls1        - just use DTLSv1
...

 

  • TLS 1.2 
    • 아래와 같이 지원 가능 결과 출력
> openssl s_client -connect ploz.tistory.com:443 -tls1_2

...
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES256-GCM-SHA384
    Session-ID: 403084C8121618CBD56187DE3BEF0B061716A63A49393F22C65FEC8C3FEC390A
    Session-ID-ctx: 
    Master-Key: F518D796C51DD14879387848D58D622A3B21C8AB66CC2C9C9A223FED9428CA0F09096BE64BD52499393F558190AE4AC5
    Key-Arg   : None
    Krb5 Principal: None
    PSK identity: None
    PSK identity hint: None
    TLS session ticket lifetime hint: 300 (seconds)
    TLS session ticket:
  ...

 

  • SSLv3
    • 아래와 같이 지원 않는 결과 출력
> openssl s_client -connect ploz.tistory.com:443 -ssl3

CONNECTED(00000003)
140178768439184:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:s3_pkt.c:1493:SSL alert number 40
140178768439184:error:1409E0E5:SSL routines:ssl3_write_bytes:ssl handshake failure:s3_pkt.c:659:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 0 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : SSLv3
    Cipher    : 0000
    Session-ID: 
    Session-ID-ctx: 
    Master-Key: 
    Key-Arg   : None
    Krb5 Principal: None
    PSK identity: None
    PSK identity hint: None
    Start Time: 1652325409
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
---

 

 

WEB 사이트에서 확인

 

SSL Server Test (Powered by Qualys SSL Labs)

SSL Server Test This free online service performs a deep analysis of the configuration of any SSL web server on the public Internet. Please note that the information you submit here is used only to provide you the service. We don't use the domain names or

www.ssllabs.com

 

 

 

 

  • 결과값 중 아래내용으로 지원여부를 알수 있다.

 

반응형
Comments