1. 개요 

2020년 상반기, 주요 브라우저의 TLSv1.2 미만 지원 종료 건 관련하여 많은 웹시스템들의 Openssl 버전 업그레이드 및 WEB서버의 업그레이드 등이 이루어지고 있는데요,

Openssl을 사용하지 않는 WebtoB의 경우에는 WBSSL 이라는 모듈을 사용하기 때문에 WebtoB만 업그레이드 해주면 됩니다. 

WebtoB 몇 버전부터 TLSv1.2 프로토콜을 지원하는지와 TLSv1.2로만 통신하도록 설정하고 확인하는 방법에 대해 알아보겠습니다. :) 

 


2. TLSv1.2 프로토콜 지원하는 WebtoB 버전

WebtoB 4.1.5.3 버전부터 TLSv1.2 프로토콜을 지원하기 시작했습니다. 해당 버전에서 WBSSL의 버전 업그레이드를 통해 TLSv1.2를 지원하도록 하였다고 합니다. 

WBSSL 1.0.1c 버전으로 업그레이드 되었네요! openssl 명령어 사용하듯 WebtoB에서는 wbssl이라는 명령어로 지원되는 프로토콜, 암호화 알고리즘 등을 확인할 수 있습니다. 

(아래 내용은 TmaxSoft의 WebtoB 4.1.5.3 버전 릴리즈 노트에서 발췌하였습니다.)

$>wbssl ciphers -v ALL | grep TLSv1.2
ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(256) Mac=AEAD
ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(256) Mac=AEAD
ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AES(256)  Mac=SHA384
ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AES(256)  Mac=SHA384
DHE-DSS-AES256-GCM-SHA384 TLSv1.2 Kx=DH       Au=DSS  Enc=AESGCM(256) Mac=AEAD
DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(256) Mac=AEAD
DHE-RSA-AES256-SHA256   TLSv1.2 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA256
DHE-DSS-AES256-SHA256   TLSv1.2 Kx=DH       Au=DSS  Enc=AES(256)  Mac=SHA256
ADH-AES256-GCM-SHA384   TLSv1.2 Kx=DH       Au=None Enc=AESGCM(256) Mac=AEAD
ADH-AES256-SHA256       TLSv1.2 Kx=DH       Au=None Enc=AES(256)  Mac=SHA256
ECDH-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
ECDH-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
ECDH-RSA-AES256-SHA384  TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(256)  Mac=SHA384
ECDH-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(256)  Mac=SHA384
AES256-GCM-SHA384       TLSv1.2 Kx=RSA      Au=RSA  Enc=AESGCM(256) Mac=AEAD
AES256-SHA256           TLSv1.2 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA256
ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(128) Mac=AEAD
ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(128) Mac=AEAD
ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AES(128)  Mac=SHA256
ECDHE-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AES(128)  Mac=SHA256
DHE-DSS-AES128-GCM-SHA256 TLSv1.2 Kx=DH       Au=DSS  Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES128-SHA256   TLSv1.2 Kx=DH       Au=RSA  Enc=AES(128)  Mac=SHA256
DHE-DSS-AES128-SHA256   TLSv1.2 Kx=DH       Au=DSS  Enc=AES(128)  Mac=SHA256
ADH-AES128-GCM-SHA256   TLSv1.2 Kx=DH       Au=None Enc=AESGCM(128) Mac=AEAD
ADH-AES128-SHA256       TLSv1.2 Kx=DH       Au=None Enc=AES(128)  Mac=SHA256
ECDH-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(128) Mac=AEAD
ECDH-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(128) Mac=AEAD
ECDH-RSA-AES128-SHA256  TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(128)  Mac=SHA256
ECDH-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(128)  Mac=SHA256
AES128-GCM-SHA256       TLSv1.2 Kx=RSA      Au=RSA  Enc=AESGCM(128) Mac=AEAD
AES128-SHA256           TLSv1.2 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA256

3. TLSv1.2 만 활성화하고 나머지 프로토콜 비활성화 하는 방법

WebtoB의 환경설정 파일인 http.m 에 설정되어 있는 *SSL 절에서 Protocol 항목을 수정하면됩니다. 

*SSL
sslname    ...
    Protocols = "-SSLv2, -SSLv3, -TLSv1, -TLSv1.1, TLSv1.2",

해당 설정 파일을 컴파일하고 재기동 하면 적용이 됩니다. 

(* 주의! : TLSv1.2 프로토콜이 지원되지 않는 WebtoB 하위 버전에서도 위의 설정은 적용됩니다.
               wsadmin 접속하여 cfg -ssl 명령어로도 프토토콜 설정에 TLSv1.2 만 들어있는 것이 확인이 되지만, 실제로는 해당 프로토콜로 통신이 불가능합니다!)


4. wbssl 명령어로 프로토콜 통신 확인하기

openssl 명령 수행 옵션과 동일하게 wbssl 명령어로 아래와 같이 확인할 수 있습니다. 

wbssl s_clinet -connect localhost:443 -tls1_2

수행 결과에 None 으로 표시되면 지원되지 않는 프로토콜이라는 것!