16. 데이터 평문 전송

[데이터 평문 전송]

O 서버와 클라이언트 간 통신 시 데이터가 평문으로 전송되거나 안전하지 않은 암호화 방식으로 전송될 경우 도청(스니핑 등)을 통해 정보를 탈취 및 도용할 수 있는 취약점 


O 근거 자료

개인정보의 안전성 확보조치 기준 제7조(개인정보의 암호화)

주요정보통신기반시설 기술적 취약점 분석 평가 상세 가이드(p.727)

OWASP TOP10 2021


O 판단 기준

양호중요 정보 전송 구간에 암호화 통신이 적용된 경우
취약중요 정보 전송 구간에 암호화 통신이 이루어지지 않은 경우


O 점검 방법

- 사용자 로그인 인증정보(개인정보 및 민감정보) 전송 패킷 캡처시 SSL 적용 및 암호화 적용여부 확인


O 조치 방법

-  네트워크를 통해 전송되는 중요정보(비밀번호, 개인정보 등)는 암호화 전송 또는 암호화 프로토콜을 이용해 전송구간 내 평문 노출 제한

: 중요정보 전송 시 HTTPS, SSL, VPN 등 암호화 통신

: 데이터 암호화 시 권장되는 암호화 알고리즘 사용

# 권장 대칭키 암호 알고리즘

3-Key Triple-DES (168bit)
AES (128bit)
SEED (128bit)ARIA (128bit 이상)



[취약한 HTTPS 프로토콜 이용]

O 취약한 버전의 HTTPS 프로토콜을 사용하는 경우 낮은 버전에서 공격 가능한 알려진 취약점에 의하여 암호화된 데이터를 복호화하여 중요한 정보가 유출될 수 있는 취약점


O 근거 자료

개인정보의 안전성 확보조치 기준 제7조(개인정보의 암호화)

주요정보통신기반시설 기술적 취약점 분석 평가 상세 가이드(p.727)

OWASP TOP10 2021


O 판단 기준

양호안전한 HTTPS 프로토콜을 이용하는 경우(TLS 1.2 이상)
취약안전하지 않거나 지원 중단된 HTTPS 프로토콜을 이용하는 경우(TLS1.1 이하)


O 점검 방법

- NMAP, SSLLABS 등의 점검도구로 SSL 스캔을 통해 SSL 버전 확인

: TLS 1.2 미만 버전이 활성화되어 있는지 확인


O 조치 방법

- 웹서버에서 POODLE, BEAST 어택에 취약한 SSL3.0 및 TLS 1.1 이하의 프로토콜을 지원하지 않도록 환경설정하고, TLS 1.2 이상의 프로토콜이 지원되지 않게 설정되어 있다면 지원하도록 설정

- 서비스 목적으로 부득이하게 SSL 3.0를 지원해야 한다면 SSL POODLE ATTACK (CVE-2014-3566) 취약점을 없앨 수 있는 다른 방법(관련 알고리즘 지원 중단 또는 취약점 패치 등)을 벤더사에 문의하여 조치

- TLS POODLE ATTACK(CVE-2014-8730) : 벤더사에 문의하여 취약한 네트워크 장비 또는 웹서버에 해당 취약점을 제거하는 패치를 적용

- 웹 애플리케이션 방화벽의 잘못된 SSL 설정으로 인하여 취약점이 발견될 수도 있으므로, 웹 애플리케이션 방화벽의 설정 또한 확인 필요


O 시큐어 코딩(Secure Coding) 예시

# Apache ▶

- ssl.conf 혹은 httpd-ssl.conf 파일에서 HTTPS 프로토콜과 알고리즘 설정한다.

: 위치 - ($HOME_BASE)/conf/httpd-ssl.conf 환경에 따라 설정 파일의 위치가 달라질 수 있다.

- Apache TLS 조치 예시 

: SSLProtocol -All +TLSv1.2 // 프로토콜 버전 지정 
// 모든 SSL/TLS 프로토콜을 비활성화, TLS 1.2만 활성화 
: SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:!ECDHE-RSA-AES128-CBC-SHA256:!ECDHE-RSA-AES128-CBC-SHA:!ECDHE-RSA-AES256-CBC-SHA384:!ECDHE-RSA-AES256-CBC-SHA:!RSA-AES128-GCM-SHA256:!RSA-AES128-CBC-SHA256:!RSA-AES128-CBC-SHA:!RSA-AES256-GCM-SHA384:!RSA-AES256-GCM-SHA256:!RSA-AES256-GCM-SHA
// 활성화할 알고리즘 및 비활성화할 알고리즘 
// 비활성화할 알고리즘은 알고리즘 앞에 “!”를 붙여서 비활성화한다


# NginX 

- nginx.conf 설정 파일에서 프로토콜과 알고리즘을 설정한다.

: 위치 - ($HOME_BASE)/nginx.conf 환경에 따라 설정 파일 위치가 달라질 수 있다

- NginX TLS 조치 예시

server{
    listen    443 ssl;
    .....
    ssl_protocols TLSv1.2 // 프로토콜 버전 지정
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:!ECDHE-RSA-AES128-CBC-SHA256:!ECDHE-RSA-AE
    S128-CBC-SHA:!ECDHE-RSA-AES256-CBC-SHA384:!ECDHE-RSA-AES256-CBC-SHA:!RSA-AES128-GCM-SHA256:!RSA-AES128-CBC-SHA
    256:!RSA-AES128-CBC-SHA:!RSA-AES256-GCM-SHA384:!RSA-AES256-GCM-SHA256:!RSA-AES256-GCM-SHA;
// 활성화할 알고리즘 및 비활성화할 알고리즘 
// 비활성화할 알고리즘은 알고리즘 앞에 “!”를 붙여서 비활성화한다
}


# IHS 

- httpd-ssl.conf 파일에서 프로토콜과 알고리즘을 설정한다.

: 위치 - ($HOME_BASE)/conf/httpd-ssl.conf 환경에 따라 설정 파일의 위치가 달라질 수 있다.

- IHS TLS 조치 예시

server{
    listen    443 ssl;
    .....
    ssl_protocols TLSv1.2; // 프로토콜 버전 지정
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:!ECDHE-RSA-AES128-CBC-SHA256:!ECDHE-RSA-AE
    S128-CBC-SHA:!ECDHE-RSA-AES256-CBC-SHA384:!ECDHE-RSA-AES256-CBC-SHA:!RSA-AES128-GCM-SHA256:!RSA-AES128-CBC-SHA
    256:!RSA-AES128-CBC-SHA:!RSA-AES256-GCM-SHA384:!RSA-AES256-GCM-SHA256:!RSA-AES256-GCM-SHA;
// 활성화할 알고리즘 및 비활성화할 알고리즘
// 비활성화할 알고리즘은 알고리즘 앞에 “!”를 붙여서 비활성화한다
}


# IIS 

- 레지스트리에서 프로토콜을 설정한다. ( 시작 > 실행 > regedit )

: 위치 - 컴퓨터\HKEY_LOCAL_MACHINES\SYSTEM\CurrentControlSet\ControL\SecurityProviders\SCHANNEL\Protocols\

- IIS TLS 조치 예시

: 항목에 없으면 생성

> Protocols > 우 클릭 > 새로 만들기 > 키 > 이름 [SSL 3.0], [TLS 1.0], [TLS 1.1] 설정

> 하위 경로에 동일하게 각각 키 생성 > [Client], [Server]

> 각각 [Client], [Server] 해당 경로 > 우 클릭 > 새로 만들기 > DWORD32비트)

> 값 이름을 [Enabled]로 수정 그리고 좌 클릭 후 값 데이터를 0으로 설정


# Tomcat 

- Server.xml 파일에서 프로토콜과 알고리즘을 설정한다.

: 위치 - ($HOME_BASE)/conf/server.xml 환경에 따라 설정 파일 위치가 달라질 수 있다.

- Tomcat TLS 조치 예시

sslProtocols = "TLS"
sslEnabledProtocols = "TLSv1.2" // 프로토콜 버전 지정 
ciphers = "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"



[취약한 HTTPS 암호 알고리즘 이용]

O 표준화되지 않은 암호 알고리즘이나 오래된 암호 알고리즘을 사용하는 경우 공격자가 알고리즘을 분석, 해독하여 정보가 유출될 수 있는 취약점


O 근거 자료

개인정보의 안전성 확보조치 기준 제7조(개인정보의 암호화)

주요정보통신기반시설 기술적 취약점 분석 평가 상세 가이드(p.727)

OWASP TOP10 2021


O 판단 기준

양호안전한 HTTPS 암호 알고리즘을 이용하는 경우
취약안전하지 않은 HTTPS 암호 알고리즘을 이용하는 경우


O 점검 방법

NMAP, SSLLABS 등의 점검도구로 SSL 스캔

: 취약한 암호 알고리즘(MD5, RC4 등)이 활성화되어 있는지 확인


O 조치 방법

- HTTPS 통신 시 취약한 암호 알고리즘을 사용하지 않도록 설정

: DES 및 3DES를 사용하는 cipher suite 비활성화

: Bulk encryption을 제공하지 않는 cipher suite의 비활성화(eNull, Null이 포함된 cipher suite)

: 112미만의 key size를 사용하는 cipher suite의 비활성화

: MD5를 해싱 매커니즘으로 사용하는 cipher suite의 비활성화

: IDEA 및 RC4를 사용하는 cipher suite의 비활성화

: CBC에 대한 취약성은 TLS V1.2 버전에서 나타나지 않기 때문에 버전 업그레이드 적용

- 웹 애플리케이션 방화벽의 잘못된 SSL 설정으로 인하여 취약점이 발견될 수도 있으므로, 웹 애플리케이션 방화벽의 설정 또한 확인 필요

- 입력 정보 보호가 필요한 입력 지점 (계정 P/W, 계좌 비밀번호, 공인인증서 P/W 등)을 가상 키패드 모듈을 사용하고 가상 키패드를 통해 입력 받은 사용자 정보는 암호화하여 전송


O 시큐어 코딩(Secure Coding) 예시 

# Apache 

- ssl.conf 혹은 http-ssl.conf 파일에서 HTTPS 프로토콜과 알고리즘 설정한다.

: 위치 - ($HOME_BASE)/conf/httpd-ssl.conf 환경에 따라 설정 파일 위치가 달라질 수 있다.

- Apache 취약한 알고리즘 조치 예시

SSLProtocol -All +TLSv1.2 // 프로토콜 버전 지정
// 모든 SSL/TLS 프로토콜을 비활성화, TLS 1.2만 활성화
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:!ECDHE-RSA-AES128-CBC-SHA256:!ECDHE-RSA-AES128-CBC-SHA:!ECDHE-RSA-AES256-CBC-SHA384:!ECDHE-RSA-AES256-CBC-SHA:!RSA-AES128-GCM-SHA256:!RSA-AES128-CBC-SHA256:!RSA-AES128-CBC-SHA:!RSA-AES256-GCM-SHA384:!RSA-AES256-GCM-SHA256:!RSA-AES256-GCM-SHA
// 활성화할 알고리즘 및 비활성화할 알고리즘
// 비활성화할 알고리즘은 알고리즘 앞에 “!”를 붙여서 비활성화한다  


# NginX 

nginx.conf 설정 파일에서 프로토콜과 알고리즘 설정한다.

: 위치 - ($HOME_BASE)/nginx.conf 환경에 따라 설정 파일 위치가 달라질 수 있다.

- NginX 취약한 알고리즘 조치 예시

server{
    listen    443 ssl;
    .....
    ssl_protocols TLSv1.2 // 프로토콜 버전 지정
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:!ECDHE-RSA-AES128-CBC-SHA256:!ECDHE-RSA-AE
    S128-CBC-SHA:!ECDHE-RSA-AES256-CBC-SHA384:!ECDHE-RSA-AES256-CBC-SHA:!RSA-AES128-GCM-SHA256:!RSA-AES128-CBC-SHA
    256:!RSA-AES128-CBC-SHA:!RSA-AES256-GCM-SHA384:!RSA-AES256-GCM-SHA256:!RSA-AES256-GCM-SHA;
// 활성화할 알고리즘 및 비활성화할 알고리즘
// 비활성화할 알고리즘은 알고리즘 앞에 “!”를 붙여서 비활성화한다
}


# IHS ▶

- httpd-ssl.conf 파일에서 프로토콜과 알고리즘 설정한다.

: 위치 - ($HOME_BASE)/conf/httpd-ssl.conf 환경에 따라 설정 파일 위치가 달라질 수 있다.

- IHS 취약한 알고리즘 조치 예시

server{
    listen    443 ssl;
    .....
    ssl_protocols TLSv1.2 // 프로토콜 버전 지정
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:!ECDHE-RSA-AES128-CBC-SHA256:!ECDHE-RSA-AE
    S128-CBC-SHA:!ECDHE-RSA-AES256-CBC-SHA384:!ECDHE-RSA-AES256-CBC-SHA:!RSA-AES128-GCM-SHA256:!RSA-AES128-CBC-SHA
    256:!RSA-AES128-CBC-SHA:!RSA-AES256-GCM-SHA384:!RSA-AES256-GCM-SHA256:!RSA-AES256-GCM-SHA;
// 활성화할 알고리즘 및 비활성화할 알고리즘
// 비활성화할 알고리즘은 알고리즘 앞에 “!”를 붙여서 비활성화한다
}


# IIS ▶

- 로컬 그룹 정책 편집기에서 알고리즘을 설정한다. (시작 > 실행 > gpedit.msc)

: 위치 - 로컬 컴퓨터 구성 > 컴퓨터 구성 > 관리 템플릿 > 네트워크 > SSL 구성

- IIS 취약한 알고리즘 조치 예시

: SSL 암호 그룹 순서 사용 클릭

: 옵션 > SSL 암호 그룹에 Cipher Suites 값 입력

- IIS - SSL 암호 그룹 Cipher Suites 값

: TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_NULL_SHA256,TLS_RSA_WITH_NULL_SHA,TLS_PSK_WITH_AES_256_GCM_SHA384,TLS_PSK_WITH_AES_128_GCM_SHA256,TLS_PSK_WITH_AES_256_CBC_SHA384,TLS_PSK_WITH_AES_128_CBC_SHA256,TLS_PSK_WITH_NULL_SHA384,TLS_PSK_WITH_NULL_SHA256
// 사용하고 싶은 알고리즘은 콤마를 붙이고 공백 없이 나열



# Tomcat ▶

- Server.xml 파일에서 프로토콜과 알고리즘 설정한다.

: 위치 - ($HOME_BASE)/conf/server.xml 환경에 따라 설정 파일 위치가 달라질 수 있다.

- Tomcat TLS 조치 예시

sslProtocols = "TLS"
sslEnabledProtocols = "TLSv1.2" // 프로토콜 버전 지정
ciphers = "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"



[취약한 HTTPS 컴포넌트 사용]

O 취약한 HTTPS 확장 모듈 사용 시 취약한 버전의 모듈을 사용하는 경우 암호화된 정보가 노출될 수 있는 취약점


O 근거 자료

개인정보의 안전성 확보조치 기준 제7조(개인정보의 암호화)

주요정보통신기반시설 기술적 취약점 분석 평가 상세 가이드(p.727)

OWASP TOP10 2021


O 판단 기준

양호HTTPS 확장 모듈 사용 시 모듈의 취약하지 않은 버전을 사용하는 경우
취약HTTPS 확장 모듈 사용 시 모듈의 취약한 버전을 사용하는 경우


O 점검 방법

- NMAP, SSLLABS 등의 점검도구로 SSL 스캔

: CVE 취약점이 존재하는 버전의 SSL을 쓰고 있는지 확인


O 조치 방법

- OpenSSL 버전을 다음과 같이 취약점 발견 버전 이상의 버전으로 업데이트

# 각 취약점에 대한 안전한 버전

- HeartBleed 취약점 (CVE-2014-0160:Heartbleed)

: OpenSSL : 0.9.X
: OpenSSL : 1.0.0
: OpenSSL : 1.0.1g

- CCS Injection 취약점 (CVE-2014-0224)

: OpenSSL : 0.9.8za
: OpenSSL : 1.0.0m
: OpenSSL : 1.0.1h

- OpenSSL 0-Length 취약점 (CVE-2019-1559)

: OpenSSL : 1.0.2r 이후

- OpenSSL Padding Oracle 취약점 (CVE-2016-2017)

: OpenSSL 1.0.1t
: OpenSSL 1.0.2h



[취약한 HTTPS 재협상 허용]

O 취약한 HTTPS Renegotiation 설정 시 MITM공격에 의하여 암호화된 정보가 노출될 수 있는 취약점


O 근거 자료

개인정보의 안전성 확보조치 기준 제7조(개인정보의 암호화)

주요정보통신기반시설 기술적 취약점 분석 평가 상세 가이드(p.727)

OWASP TOP10 2021


O 판단 기준

양호취약한 HTTPS 재협상을 허용하지 않는 경우
취약취약한 HTTPS 재협상을 허용하는 경우


O 점검 방법

- NMAP, SSLLABS 등의 점검도구로 SSL 스캔

: HTTPS Renegotiation 활성화 여부 확인


O 조치 방법

- 'SSLInsecureRenegotiation'을 'Off'로 설정

: 웹 어플리케이션 방화벽의 잘못된 SSL 설정으로 인하여 취약점이 발견될 수 있으므로 웹 어플리케이션 방화벽의 설정 확인 필요


O 시큐어 코딩(Secure Coding) 예시 

# Apache 

- Apache(mod_ssl기반), Apache 2.0: 2.0.64 이상(OpenSSL 0.9.8m 이상), Apache 2.2: 2.2.15 이상(OpenSSL 0.9.8m 이상)

- 환경설정파일(httpd.conf 또는 ssl설정파일) 해당 옵션 추가 또는 수정 (virtualhost 구성하여 서비스하는경우 virtualhost 설정안에 포함시킴)

: SSLInsecureRenegotiation off

- 환경파일을 저장하고 apache 재시작


# WebtoB 

- 설정파일 내 해당 옵션 추가 또는 수정

: RenegotiationLevel "secure"

: 또는 RenegotiationLevel = disable (디폴트 secure로 설정)

- RenegotiationLevel 값 구분

설정 값내용
secure클라이언트와 웹 서버가 모두 안전한 경우 재협상을 진행(예: RFC5746)
insecure클라이언트와 웹 서버가 안전하지 않더라도 재협상을 진행(예: CVE-2009-3555)
disable어떠한 경우에도 재협상을 진행하지 않는다.

- 설정파일(.m)을 저장하고 컴파일한 뒤 WebtoB 재시작


# IBM 

환경설정파일(httpd.conf) 해당 옵션 추가 또는 수정

: 예시) VirtualHost *:443 SSLEnable SSLRenegotiation on 



[서버 인증서 무결성 검증(SSL Strip)]

O 서버 인증서의 무결성 조건이 위배되어 웹 브라우저에서 안전하지 않은 웹사이트로 경고하여 이용자의 신뢰를 떨어트릴 수 있는 취약점


O 근거 자료

개인정보의 안전성 확보조치 기준 제7조(개인정보의 암호화)

주요정보통신기반시설 기술적 취약점 분석 평가 상세 가이드(p.727)

OWASP TOP10 2021


O 판단 기준

양호서버 인증서의 무결성 조건이 위배되지 않은 경우
취약서버 인증서의 무결성 조건이 위배된 경우


O 점검 방법

- NMAP, SSLLABS 등의 점검도구로 SSL 스캔

- CVE 취약점이 존재하는 버전의 SSL을 쓰고 있는지 확인


O 조치 방법

- SSL을 통해 정보를 보호하는 구간에서 HTTP 사용을 방지하고 HTTPS를 강제 사용하도록 설정

- HSTS(HTTP Strict-Transport-Security) 적용


O 시큐어 코딩(Secure Coding) 예시 

# Apache 

- 헤더 설정

: Header always set Strict-Transport-Security "max-age=86400; includeSubdomains; preload"


# NginX 

- 헤더 설정

: add_header Strict-Transport-Security "max-age=86400; includeSubdomains; preload"


# JAVA ▶

- 필터 구현

package core.init;
 
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
 
public class HSTSFilter implements Filter {
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
        throws IOException, ServletException {
        // 필터적용
        ((HttpServletResponse)res).setHeader("Strict-Transport-Security", "max-age=86400; includeSubDomains; preload");
        chain.doFilter(req, res);
    }

    @Override
    public void destroy() {
    }
    
    @Override
    public void init(FilterConfig arg0) throws ServletException {
    }
}


# WEB.XML ▶

- 필터 구현

<filter>
    <!-- 필터이름 -->
    <filter-name>HSTSFilter</filter-name>
    <!-- 바로 위 작성한 필터 클래스 전체 경로 -->
    <filter-class>core.init.HSTSFilter</filter-class>
</filter>
 
<filter-mapping>
    <!-- 바로 위 매핑할 필터이름 -->
    <filter-name>HSTSFilter</filter-name>
    <!-- 모든경로에 -->
    <url-pattern>/*</url-pattern>
    <!-- 요청시 -->
    <dispatcher>REQUEST</dispatcher>
</filter-mapping>
// 서버 인증서 유효기간 연장, CN값과 서비스URL이 일치 
// 서버 인증서 발급기관(CA)이 신뢰할 수 없는 기관이거나, 자체 서명(Self-signed)된 인증서를 사용 여부 확인 후 수정
카카오톡 채널 채팅하기 버튼