Cloudflare SSL for SaaS 공급자

온라인 조직을 위한 SSL/TLS 암호화 도입은 보안 분야의 모범 사례가 되었으며, 대형 기술 회사들이 더 안전한 인터넷을 구축하고자 함에 따라 필수 조건이 되어 가고 있습니다. 예를 들어, Google Chrome 웹 브라우저는 2016년 말부터, HTTPS를 사용하지 않는 웹 사이트를 명시적으로 "안전하지 않음"으로 표시하고 있습니다. 이와 함께 Mozilla의 FireFox 웹 브라우저는 HTTPS가 보호하지 않는 정보 양식을 제출하려는 사용자에게 더욱 강력한 경고를 보내고 있습니다.2

http treatment

Cloudflare SSL for SaaS를 통해 SaaS 회사의 최종 사용자는 계속 사용자 지정 베니티 도메인을 사용할 수 있으며 SSL을 통한 커뮤니케이션도 보호할 수 있습니다. 최종 고객은 브랜드화된 방문자 경험, 신뢰 향상, SEO 순위, HTTP/2 활용을 통해 더 빠른 속도 구현 등의 이점을 누릴 수 있습니다. Cloudflare는 구입부터 배포까지 전체 SSL 수명주기를 자동화하며 몇 분 만에 인증서를 갱신하므로 SaaS 회사는 고객 온보딩 과정의 일환으로 이와 같은 이점을 고객에게 제공할 수 있습니다.

SaaS 공급자가 SSL 최종 고객의 요구를 해결할 때 처하는 상황에는 세 가지 시나리오가 있습니다.

ssl for saas scenario 1

암호화되지 않은 브랜드 베니티 도메인

SSL을 사용하지 않는 사용자 지정 베니티 도메인은 SSL의 성능 이점을 누릴 수 없고 데이터 전송을 보호하지 못하므로 스누핑에 취약하고, 방문자에게 도달하기 전에 콘텐츠가 수정되거나 삽입될 수 있습니다.

ssl for saas scenario 2

암호화되었지만 브랜드가 없는 도메인

SaaS 공급자를 통해 SSL을 사용할 수 있는 도메인에는 사용자 지정 베니티 도메인이 없으므로 브랜드 평판 저하 및 SEO 순위 하락이 발생합니다.

ssl for saas scenario 3

사내 접근 방식의 과제

암호화된 브랜드 베니티 도메인을 원하는 SaaS 공급자는 SSL 수명주기를 수동으로 관리하거나 복잡한 자동 사내 솔루션을 구축할 수도 있습니다. 단, 수동으로 관리하면 배포 시간이 길어지고 오버헤드 비용이 발생합니다.

“SSL for SaaS 덕분에 플로우가 단순해졌습니다. Cloudflare의 API가 고객의 SSL 인증서 제공, 처리, 자동 갱신, 유지를 처리하기 때문입니다. 더불어 엔드투엔드 HTTPS를 적용하여, 고객의 개인정보보호와 성능을 강화했으며, 전에는 사용할 수 없었던 로컬 저장소 같은 브라우저 기능을 활용할 수 있게 됐습니다.”
Andrew Murray
Olo의 CTO

Cloudflare와 상의하세요.

브랜드 방문자 경험

브랜드 방문자 경험

최종 고객에게 사용자 지정 브랜드 도메인을 사용할 수 있는 옵션을 제공하는 SaaS 공급자는 계속 이러한 서비스를 제공할 수 있으며, 완전한 관리형 SSL 인증서의 추가적인 혜택도 누릴 수 있습니다. 브랜드 도메인을 이용하는 최종 고객은 검색 엔진 순위가 높아지며, 방문자에 대한 신뢰를 높일 수 있습니다.

안전하고 성능이 뛰어난 고객 자산

안전하고 성능이 뛰어난 고객 자산

최종 고객 도메인의 SSL/TLS 인증서는 민감한 고객 데이터의 안전한 전송을 보장하며 메시지 가로채기(man-in-the-middle) 공격과 네트워크 스푸핑으로부터 보호합니다. 또한 더 빠른 속도를 위해 HTTP/2 프로토콜을 사용할 수 있게 되었습니다.

자동화된 SSL 수명주기 관리

자동화된 SSL 수명주기 관리

Cloudflare는 개인 키 생성 및 보호에서 도메인 검증, 발급, 갱신 및 재발급까지 SaaS 공급자의 고객 베니티 도메인에 대한 전체 SSL 수명주기를 관리합니다.

신속한 글로벌 SSL 배포

신속한 글로벌 SSL 배포

Cloudflare는 SSL 발급 프로세스를 진행하면서, 200개 도시에 위치한 데이터 센터로 구성된 글로벌 네트워크에 새 인증서를 배포하여, 몇 분이면 방문자와 가장 가까운 곳에서 HTTPS를 온라인 상태로 전환합니다.

사내 SSL 솔루션 구축의 과제

사용자 지정 베니티 도메인을 위한 사내 SSL 솔루션을 구축하는 데에는 두 가지 방법이 있습니다. 두 가지 방법 모두에서 SaaS 공급자와 최종 고객은 상당한 노력을 기울여야 합니다. 아래 다이어그램에서 자동화된 경로(위)에서는, SSL 프로세스가 자동화되지만, 엔지니어링 활동이 많이 필요하며 복잡한 보안 문제를 해결해야 합니다. 수동 경로(아래)에서는, SaaS 공급자 팀 및 최종 고객 모두의 활동이 많이 필요하며, 인증서 만료 기한을 놓치거나 가동 중단이 발생할 가능성이 높습니다. SSL 인증서를 대규모 글로벌 분산 네트워크에 배포할 수 없다면, 어떤 경우에든 성능에 지장이 생길 수 있습니다.

  HTTP 전용 CNAME 수동으로 업로드 인증서 수동으로 관리 인증서 수명주기 구축 및 교육 고객 문의 사용자 지정 API 통합(예: Let’s Encrypt 이용) 시간 엔지니어링 노력 자동화된 경로 수동 경로 웹 사이트 # / 웹 사이트 증가 글로벌 인증서 배포 네트워크 수동 갱신 필수 고객의 노력 고급 인증 질문 안전하게 처리 암호화 키 지속적인 유지 관리 및 계속되는 지원 활동 Cloudflare 경로 간편한 Cloudflare API/ UI 통합

HTTP 전용 CNAME

먼저 SaaS 공급자의 최종 고객은 CNAME이 있으며 사용자 지정된 베니티 도메인에서 HTTP 트래픽만 보내고 받을 수 있습니다.

인증서 수동 업로드

SSL를 CNAME이 있는 사용자 지정 베니티 도메인에 추가하는 프로세스를 시작하기 위해 고객이 구매하고 구매한 인증서를 SaaS 공급자에게 보내 수동 업로드하기 위한 프로세스가 설정됩니다.

인증서 수명주기 수동 관리

고객 인증서를 업로드하면 해당 인증서의 수명 주기를 처리하기 위해 수동 관리가 필요합니다. 여기에는 도메인 유효성 검사, 발행, 갱신, 재발행을 통한 개인 키 발행/보호가 포함됩니다.

API 통합 구축(예: Let's Encrypt 사용)

SaaS 공급자의 서비스를 이용하는 웹사이트와 총고객수가 증가하면, 엔지니어링 노력이 많이 들여, 사용자 지정 도메인용 SSL 수명 주기를 자동화하거나 엔지니어링 노력이 덜 필요하지만 내부팀과 최종 고객에게 부담을 안기는, 수동 수명 주기 관리를 계속 사용해야 할지 결정해야 합니다.

암호화 키를 안전하게 처리

개인 키는 안전한 저장소가 필요하고, 유휴 상태 암호화를 실행해야 하고, 일반 텍스트로 디스크에 쓰면 안 됩니다. 암호화 키는 간편하지만 수시로 해석하기 힘듭니다. 수동 노력이나 막대한 엔지니어링 작업이 필요하기 때문입니다. 개인 키 관리 모범 사례는 OWASP.org에 게시되어 있습니다. Cloudflare는 Universal SSL, Dedicated SSL 인증서, SSL for SaaS 제품을 통해 도메인 수백만 개의 개인 키를 생성하고 보호하는 전문 기업입니다.

글로벌 인증서 배포 네트워크

인증서를 전 세계에 체계적으로 분산시키고 고객의 방문자로부터 최대한 가까운 곳에서 제공하려면 성능 손실을 완화해야 합니다. 최종 고객의 방문자 요청이 이동해야 하는 거리가 길어지면 페이지 로드 시간도 늘어납니다. TLS 1.2를 적용하면 최초 TLS 핸드셰이크를 위해 2번 왕복해야 합니다. 따라서 이러한 핸드셰이크가 소수의 위치에서만 끝날 수 있다면 성능이 저하됩니다.

지속적인 유지 관리 및 지원 작업(자동화된 경로)

자동화된 접근법을 선택하여 자체 SSL 솔루션을 구축한 SaaS 기업의 경우 유지 관리의 대부분은 코드 베이스를 업데이트하고 인증 기관 통합 및 표준과 호환되게 하는 것으로 이루어집니다.

고객 문의 팀 구성 및 교육

SaaS 공급자의 신규 또는 기존팀은 최종 고객을 위해 인증서 수명 주기를 수동으로 관리해야 합니다. 고객 담당팀은 고객에게 연락하여 인증서 만료에 대한 업데이트를 제공하고 새 인증서로 갱신을 요청해야 합니다.

필요한 고객 작업을 통해 수동 갱신

고객은 해당 인증서를 갱신하고 업로드 프로세스 관리를 담당하는 팀에 보내 인증서 갱신 프로세스에 참여해야 합니다. 더불어 기존 인증서가 만료되기 전에 갱신 프로세스를 실행해야 합니다. 기존 인증서가 만료된 경우, 예방 조치를 취하지 않으면, 고객의 인터넷 자산이 오프라인 상태가 됩니다.

글로벌 인증서 배포 네트워크

인증서를 전 세계에 체계적으로 분산시키고 고객의 방문자로부터 최대한 가까운 곳에서 제공하려면 성능 손실을 완화해야 합니다. 최종 고객의 방문자 요청이 이동해야 하는 거리가 길어지면 페이지 로드 시간도 늘어납니다. TLS 1.2를 적용하면 최초 TLS 핸드셰이크를 위해 2번 왕복해야 합니다. 따라서 이러한 핸드셰이크가 소수의 위치에서만 끝날 수 있다면 성능이 저하됩니다.

지속적인 유지 관리 및 지원 작업(수동 경로)

수동 접근법을 선택하여 자체 SSL 솔루션을 구축한 SaaS 기업의 경우, 유지 관리의 대부분은 개인 키를 안전하게 보호하고, 인증서 수명 주기를 관리하고, 고객에게 갱신을 알리고, 새 인증서를 다시 업로드하는 SaaS 공급자의 지속적인 수동 작업으로 이루어집니다. SaaS 공급자의 최종 고객도 은 정기적으로 인증서를 갱신하고 다시 보내어 인증서 수명 주기 프로세스에 참여해야 하는 부담을 안게 됩니다.

간편한 Cloudflare API/UI 통합

Cloudflare의 SSL for SaaS 솔루션에는 최소의 엔지니어링 노력이 필요하며, 이를 통해 SaaS 공급자와 그의 최종 고객은 SSL 수명 주기를 관리해야 하는 부담이 해소됩니다.

SSL for SaaS는 어떻게 작동하나요?

SSL for SaaS 프로세스는 전적으로 Cloudflare가 처리하며, SaaS 공급자는 최종 고객 사용자 지정 도메인 등록 워크플로의 일환으로 API 호출을 한 번만 보내거나, Cloudflare 대시보드에서 클릭만 몇 번 하면 됩니다. 그 이후, SaaS 공급자와 최종 고객이 SaaS 공급자의 도메인에 최초 CNAME만 추가하면 됩니다. 나머지 사용자 지정 도메인 등록 프로세스는 모두 Cloudflare에서 진행합니다.

이 프로세스의 나머지는 모두 Cloudflare에서 관리하며, 여기에는 다음이 포함됩니다.

  • 최종 고객의 사용자 지정 도메인에 SSL 인증서를 발급했는지 인증 기관에 확인을 요청합니다.
  • 인증 기관에서 검증 토큰을 받고 Cloudflare의 에지에서 액세스 할 수 있게 합니다.
  • 인증 기관에 HTTP 검증을 완료하도록 지시한 후 인증 기관에 SSL 인증서를 발급하도록 요청합니다.
  • 인증서를 수신하고 전 세계 200개 도시에 있는 Cloudflare 데이터 센터의 네트워크 에지에 푸시하여 대기 시간 및 TLS 성능을 최적화합니다.

FAQ(질문과 대답)

Q: 고객의 트래픽을 어떻게 제 원본 서버로 보내나요? 보안이 설정되어 있나요?

A: 예. Cloudflare는 전체 또는 엄격한 SSL 모드를 사용하여 원본으로 발송된 트래픽이 HTTPS를 사용하게 할 것을 권장합니다. 이 옵션은 해당 영역의 Crypto 탭에서 구성할 수 있습니다. 엄격한 SSL 모드를 사용하면 원본의 인증서에 support.yourcustomer.site처럼 고객의 호스트 이름과 일치하는 SAN(Subject Alternative Name)이 있어야 합니다. Cloudflare의 Origin CA 제품을 사용하여 엄격한 모드에서 사용할 수 있는 인증서를 만들 수 있습니다.

Q: 인증서를 발급하는 데 얼마나 걸리며 사용할 준비가 될 때까지 얼마나 걸리나요?

A: 인증서는 보통 몇 분 내에 검증 및 발급을 거쳐 에지로 푸시됩니다. GET 호출을 함으로써 초기화, 검증 보류, 발급 보류, 배포 보류, 활성화 등과 같은 다양한 상태를 통해 진행 과정을 모니터링할 수 있습니다.

$ curl -sXGET -H "X-Auth-Key: [YOUR KEY]" -H "X-Auth-Email: [YOUR EMAIL]" https://www.cloudflare.com/api/v4/zones/[ZONE ID]/custom_hostnames?hostname=support.yourcustomer.site
{ "result": { "id": "cdc2a12a-99b3-48b8-9039-ad1b48c639e5", "hostname": "support.yourcustomer.site", "ssl": { "id": "3463325d-8116-48f3-ab4e-a75fb9727326", "type": "dv", "method": "http", "status": "active" }}, "success": true }

Q: 갱신이나 재발급은 얼마나 걸리나요? 고객이나 우리 회사가 취해야 할 조치가 있나요?

A: 아닙니다. Cloudflare가 모두 관리해 드립니다. 당사에서 발급하는 인증서는 1년간(365일) 유효하며 만료되기 최소 30일 전에 자동으로 갱신됩니다. 이러한 인증서는 고객의 호스트 이름으로 고유하게 발급되며, CNAME이 유지되는 한 호스트 이름의 "도메인 검증 제어"를 설명함으로써 계속 갱신할 수 있습니다. 고객이 탈퇴하는 경우, 인증서를 에지에서 해제하고 해당 인증서를 갱신하지 않도록 DELETE 요청을 보내주시기 바랍니다.

Q: 우리 고객은 Cloudflare의 어떤 혜택을 이용할 수 있나요?

A: (신뢰할 수 있는 네임서비스에 Cloudflare를 사용하고 있지 않은 경우) 고객의 DNS 인프라 보호를 제외하고, 간략히 대답하면 '모두' 입니다. 트래픽이 화이트 라벨 호스트 이름으로 향하면, Cloudflare는 업계를 선도하는 DDoS 공격 보호, CDN, WAF, HTTP/2, 부하 분산 등을 제공할 수 있습니다.

Q: 우리 고객이 이미 사용자 지정 호스트 이름에 HTTPS를 사용하는 경우엔 어떻게 되나요? 마이그레이션하는 동안 가동 중지 시간을 방지할 방법이 있나요?

A: 경우에 따라 고객이 제공한 핵심 자료에 이미 내부적인 솔루션이 있을 수 있습니다. 또는 고객이 원하는 호스트 이름에 HTTPS를 제공하는 경쟁사 제품(또는 내부 솔루션)을 사용하고 있으며 짧은 유지 관리 기간도 참지 못하는 경우도 있습니다.

Cloudflare는 각 경우에 대해, Dedicated Certificates에서 이용 가능한 SSL for SaaS 오퍼링을 위한 두 가지의 "사전 검증" 방식으로 이메일과 CNAME을 제공합니다. 간단히 API 호출의 SSL 방식을 “http”에서 “이메일”이나 “CNAME”으로 바꿔 요청을 전송하기만 하면 됩니다. 자세한 정보는 API 문서에서 확인하세요.

또 다른 방법인 CNAME 토큰은 일반적으로 베니티 이름의 DNS를 제어할 때 사용됩니다. Cloudflare 고객 중 웹 사이트 구축 및 호스팅 서비스를 제공하는 일부 SaaS 고객은 워크플로의 일부로 사용자 지정 도메인의 등록을 포함하기도 합니다.

마지막으로 여러분은 (Cloudflare가 리버스 프록시 중에 HTTP 토큰을 삽입하도록 하는 대신) 검증 메서드에 의해 원본에서 "http"로 반환되는 HTTP 토큰을 자유롭게 제공할 수 있습니다. 토큰이 제 위치에 삽입되면 Cloudflare의 자동 재시도 큐가 이를 감지합니다. 토큰이 삽입되었음을 Cloudflare에 알려주고 싶으시다면 POST 중 언제든 SSL 본문이 있는 끝점으로 PATCH를 보내면 됩니다. 그러면 Cloudflare에서 바로 확인하겠습니다.

Cloudflare와 상의하세요.