Skip to content

Cấu hình Cloudflare SSL/TLS

Published: at 07:00

Xin chào cả nhà!

Tiếp theo 02 bài về cấu hình DNS trên Cloudflare, xem lại hai bài 01 và 02 tại đây:

Hôm nay, em sẽ tiếp tục với bài số 03, đây sẽ là bài hướng dẫn chi tiết về cấu hình Cloudflare SSL/TLS. Trong bài viết này, bên cạnh việc cấu hình, mình cũng sẽ gợi ý một số tips (hay best practices) cho mọi ngườia

Bài này được dựa trên tài liệu mà Cloudflare đã cùng làm với Distributor Sonic Technology, cảm ơn anh Tien Nguyen Duy và các anh em!

Table of contents

Open Table of contents

Tổng quan về Cloudflare SSL/TLS

Cloudflare SSL là một giải pháp bảo mật giúp mã hóa dữ liệu giữa người dùng và website, đảm bảo an toàn cho thông tin khi truyền tải trên mạng.

Với Cloudflare SSL, các trang web không chỉ được bảo vệ khỏi các cuộc tấn công mạng mà còn tăng cường độ tin cậy và tốc độ truy cập. Cloudflare cung cấp các chứng chỉ SSL miễn phí, dễ dàng cài đặt và quản lý, giúp doanh nghiệp và cá nhân bảo vệ trang web của mình mà không phải lo lắng về các vấn đề phức tạp liên quan đến bảo mật.

Các chế độ mã hoá của Cloudflare

Chế độ mã hóa SSL/TLS của vùng của khách hàng kiểm soát cách Cloudflare quản lý hai kết nối: một kết nối giữa khách truy cập và Cloudflare và kết nối còn lại giữa Cloudflare và máy chủ gốc của bạn.

Nếu có thể, Cloudflare đặc biệt khuyên khách hàng nên sử dụng chế độ Full hoặc Full (Strict) để ngăn chặn các kết nối độc hại đến nguồn gốc của khách hàng.

Cấu hình Cloudflare SSL/TLS

Bước 1: Chuẩn bị

1.1. Proxy status của DNS record đang ở trạng thái đám mây màu cam. Đi đến DNS > Records > kiểm tra proxy status Cloudflare proxied status

1.2. Trang web của khách hàng đã cài đặt Chứng chỉ Edge đang hoạt động. Đi đến SSL/TLS > Edge Certificates > Kiểm tra status of the certificate trong cột status. Cloudflare Universal SSL status

1.3. Khách hàng đã cài đặt Chứng chỉ SSL trên máy chủ web của mình bằng Trust CA hoặc Cloudflare Trust CA.

Bước 2: Cấu hình chế độ mã hóa

2.1. Đăng nhập vào Cloudflare dashboard, chọn Tài khoản (Account)Domain.

2.2. Đi đến SSL/TLS > Overview

2.3. Chọn chế độ mã hóa Full(strict)

Cloudflare Full Strict Mode

Bước 3: Thực thi kết nối HTTPS

3.1. Đăng nhập vào tài khoản Cloudflare của khách hàng và truy cập một tên miền cụ thể.

3.2. Đi đến SSL/TLS > Edge Certificates.

3.3. Trong thẻ Always Use HTTPS, chuyển nút gạt sang bật.

Cloudflare Always Use HTTPS - On Note: Chế độ Always Use HTTPS sẽ tự động redirect toàn bộ http traffic sang https traffic

Cấu hình Edge certificate

Chứng chỉ biên (edge certificate) là chứng chỉ mà Cloudflare cung cấp cho khách hàng khi truy cập trang web hoặc ứng dụng của bạn.

Cloudflare SSL diagram from Browser to Cloudflare to Origin server

Universal SSL

Theo mặc định, Cloudflare cấp — và gia hạn — chứng chỉ SSL miễn phí, không chia sẻ và được công khai tin cậy cho tất cả các tên miền được thêm vào và kích hoạt trên Cloudflare.

Universal certificate là Domain Validated (DV)

I. Bật tính năng chứng thư số Universal SSL Certificate

I.1. Full DNS Setup Đối với các tên miền được thiết lập đầy đủ (Full DNS Setup), tên miền của bạn sẽ tự động nhận được chứng chỉ Universal SSL trong vòng 15 phút đến 24 giờ sau khi kích hoạt tên miền.

Chứng chỉ này sẽ bao gồm zone apex (example.com) và tất cả các tên miền phụ cấp một (subdomain.example.com) của bạn và được cung cấp ngay cả khi hồ sơ của bạn chỉ là DNS. Tuy nhiên, chứng chỉ sẽ chỉ được trình bày nếu tên miền hoặc các tên miền phụ của bạn được ủy quyền.

I.2. Partial DNS Setup Đối với các miền không có thẩm quyền (non-authoritative) hoặc cấu hình DNS một phần (Partial DNS setup), Universal SSL sẽ:

Note: Mỗi tên miền phụ mới khi chúng được thêm vào dashboard Cloudflare đều phải hoàn thiện bước trên (proxy mode và add DCV DNS record) để được cấp Universal SSL

Xác minh chứng chỉ của bạn đang hoạt động

Sau khi bật Universal SSL, bạn có thể xem lại trạng thái kích hoạt trong bảng điều kaiển tại SSL/TLS > Edge Certificates hoặc thông qua API bằng yêu cầu GET.

II. Tắt tính năng chứng thư số Universal SSL Certificate

Với những khách hàng đang sử dụng certificate riêng của doanh nghiệp, Cloudflare cung cấp khả năng để khách hàng được sử dụng những certificate này. Tuy nhiên cần phải tắt tính năng Universal SSL certificate.

Trước khi tắt tính năng Universal SSL/TLS, khách hàng cần chắc chắn rằng mình đã upload custom certificate lên Cloudflare hoặc đã mua Advanced Certificate Manager để bảo vệ tên miền của mình.

II.1. TrII cập vào Cloudflare dashboard và lựa chọn tài khoản của mình.

Cloudflare domain zone

II.2. Lựa chọn tên miền sẽ cấu hình Universal SSL. II.3. Truy cập vào SSL/TLS > Edge Certificates.

Cloudflare edge certificate

II.4. Để tắt tính năng Universal SSL, khách hàng vui lòng lựa chọn Disable Universal SSL.

Cloudflare disable universal ssl

II.5. Khách hàng vui lòng đọc kỹ các cảnh báo tại mục Acknowledgement sau đó tick vào mục I UnderstandClick Confirm.

Cloudflare disable universal ssl

III. Sử dụng Certificati của khách hàng (Custom Certificate)

Custom certificates chỉ dành cho khách hàng Business và Enterprise của Cloudflare trong trường hợp khách hàng muốn sử dụng các chứng thư số SSL của họ

Không giống như Universal SSL hoặc Advanced Certificate, Cloudflare không cấp và gia hạn đối với custom certificate. Khi khách hàng sử dụng các custom certificates, Khách hàng cần xem xét và thực hiện các hành động sau đây:

III.1. Tải lên chứng thư số custom certificate lên hệ thống Cloudflare

Để tải một chứng thư số custom SSL certificate trên giao diện dashboard của Cloudflare:

Truy cập vào Cloudflare dashboard và lựa chọn tài khoản của mình.

Cloudflare dashboard

Lựa chọn tên miền sẽ tải lên custom certificate.

Cloudflare dashboard-domain

Truy cập vào SSL/TLS > Edge Certificates.

Cloudflare SSL/TLS - Edge Certificate

Taị mục Edge Certificates, lựa chọn Upload Custom SSL Certificate.

Cloudflare SSL/TLS - Edge Certificate

Copy và paste các giá trị liên quan vào vùng văn bản của SSL CertificatePrivate key (hoặc lựa chọn Paste từ file).

Cloudflare Upload SSL certificate

Lựa chọn Bundle Method phù hợp.

Cloudflare Bundle Method

Lựa chọn giá trị cho Private Key Restriction.

Lựa chọn một giá trị cho Legbcy Client Support, lựa chọn bật/tắt Server Name Indication (SNI) support:

Lựa chọn Upload Custom Certificate. Nếu phát hiện lỗi liên quan đến key mà khách hàng cung cấp không phù hợp với chứng thư số, Khách hàng cần liên hệ nhà cung cấp dịch vụ Certificate Authority của mình để đảm bảo rằng private key là khớp với chứng thư số certificate.

(optional) Add a CAA DNS record.

III.2. Cập nhật một Custom Certificate hiện có trên Cloudflare

Truy cập vào Cloudflare dashboard và lựa chọn tài khoản của mình.

Lựa chọn tên miền sẽ cấu hình cập nhật chứng thư số.

Truy cập vào SSL/TLS > Edge Certificates.

Tại mục Edge Certificates, tìm đến vị trí của custom certificate mà khách hàng muốn cập nhật.

Lựa chọn biểu tượng cờ lê và lựa chọn select Replace SSL certificate and key.

Sau đó thực hiện các bước tương tự như ở bước Tải lên chứng thư số Custom Certificate (phía trên).

IV. Advanced certificates

Sử dụng advanced certificates khi khách hàng mong muốn một lựa chọn có nhiều khả năng tuỳ chỉnh hơn Universal SSL nhưng vẫn thuận tiện trong việc cấp và gia hạn chứng chỉ SSL.

Để đặt mua advanced certificates khách hàng cần mua tiện ích bổ sung Advanced Certificate Manager Add-on.

IV.1. Tạo một chứng thư số nâng cao (advanced certificate)

Để tạo một chứng thư số advanced certificate mới trên dashboard

Trong giao diện Cloudflare Dashboard, chọn SSL/TLS > Edge Certificates.

Lựa chọn Order Advanced Certificate.

Cloudflare Order Advanced Certificate

Nếu thông tin về thanh toán của khách hàng chưa có sẵn trên hệ thống của Cloudflare, Khách hàng sẽ cần phải nhập các thông tin đó.

Nhập và cung cấp thêm các thông tin dưới đây:

  1. Certificate Authority
  2. Certificate Hostnames
  3. Validation method
  4. Certificate Validity Period

Cloudflare Create Advanced Certificate

Lựa chọn Save để hoàn tất cài đặt.

IV.2. Xoá chứng thư số nâng cao (advanced certificate)

Trong giao diện Cloudflare Dashboard, chọn SSL/TLS > Edge Certificates.

Lựa chọn một chứng thư số mà bạn muốn xoá.

Cloudflare Edge Certificate

Lựa chọn Delete Certificate.

V. Cấu hình cho Origin server

Để có thể bảo mật và mã hoá dữ liệu toàn diện nhất, Cloudflare cung cấp khả năng để có thể mã hoá Full, Flexible và Strict mode cho cả phía origin server tới Cloudflare edge.

Chế độ mã hoá zone’s SSL/TLS Encryption Mode kiểm soát cách Cloudflare quản lý hai kết nối

Cloudflare Connection

V.1 Cập nhật chế độ mã hoá

Trong giao diện Cloudflare Dashboard, chọn SSL/TLS

Truy cập vào SSL/TLS và chọn một chế độ mã hoá.

Cloudflare Encryption Mode

A. Off - SSL/TLS encryption modes

Thiết lập chế độ tắt mã hoá thành Off (Không khuyến nghị) sẽ chuyển hướng bất kỳ một yêu cầu HTTPS request chuyển thành HTTP dạng plain text. Dữ liệu sẽ bị lấy cắp một cách dễ dàng.

Cloudflare SSL OFF

Hạn chế Khi khách hàbg lựa chọn tắt chế độ mã hoá, Ứng dụng của khách hàng sẽ gặp các nguy cơ sau đây:

B. Flexible- SSL/TLS encryption modes

Khi đặt chế độ mã hoá thành Flexible sẽ giúp cho trang web của khách hàng được bảo mật một phần. Cloudflare sẽ tạo kết nối HTTPS giữa khách truy cập và Cloudflare, nhưng tất cả các kết nối khác giữa Cloudflare và origin của khách hàng sẽ được thiết lập thông qua HTTP. Kết quả là SSL Certificate sẽ không bắt buộc phải thiết lập ở origin server.

Cloudflare SSL FLEXIBLE

Khi nào sử dụng chế độ này. Chọn tùy chọn này khi bạn không thể thiết lập chứng chỉ SSL trên origin của khách hàng hoặc origin của khách hàng không hỗ trợ SSL/TLS.

Yêu cầu cài đặt Phụ thuộc vào cấu hình phía origin, Khách hàng có thể phải điều chỉnh cài đặt để tránh Mixed Content errors hoặc redirect loops.

Hạn chế Chế độ Flexible chỉ hỗ trợ cho kết nối HTTPS trên port mặc định 443. Các port khác sử dụng HTTPS sẽ fall back về chế độ Full mode.

Nếu ứng dụng của khách hàng có chứa thông tin nhạy cảm (dữ liệu cá nhân, thông tin truy cập người dùng), khuyến nghị sử dụng Full hoặc Full (Strict) mode thay vì Flexible.

Authenticated Origin Pull sẽ không hoạt động khi SSL/TLS encryption mode được thiết lập ở chế độ Off hoặc Flexible.

C. Full- SSL/TLS encryption modes

Khi khách hàng thiết lập chế độ mã hóa sang Full. Cloudflare cho phép kết nối HTTPS giữa truy cập khách và Cloudflare và tạo kết nối đến nguồn bằng cách sử dụng sơ đồ mà khách truy cập yêu cầu. Nếu khách truy cập của bạn sử dụng http thì Cloudflare sẽ kết nối với nguồn gốc bằng HTTP bản rõ (plaintext) và ngược lại.

Cloudflare SSL FULL

Khi nào sử dụng chế độ Full Chọn Full mode khi origin server của khách hàng hỗ trợ SSL certificate, nhưng Choose Full mode when your origin can support an SSL certification, nhưng vì nhiều lý do nó không hỗ trợ valid hoặc public trusted certification.

Yêu cầu cài đặt Trước khi kích hoạt chế độ Full mode, khách hàng cần chắc chắn rằng origin server của khách hàng chấp nhận kết nối HTTPS trên port 443 và có một chứng thư số (self-signed, Cloudflare Origin CA, hoặc được mua từ một nhà cung cấp dịch vụ Certificate Authority). Nếu không truy cập người dùng của khách hàng có thể gặp các lỗi như 525 error.

Phụ thuộc vào cấu hình phía origin server của khách hàng, khách hàng sẽ phải điều chỉnh cài đặt để tránh Mixed Content errors hoặc redirect loops.

Hạn chế Chứng thư số ở phía của origin sẽ không được valid bằng bất kỳ cách nào. Nó thể hết hạn, self-signed hoặc thậm chí không có mục nhập CN/SAN phù hợp cho tên máy chủ được yêu cầu.

D. Full (Strict)- SSL/TLS encryption modes

Khi khách hàng thiết lập chế độ mã hoá thành Full (strict), Cloudflare sẽ làm tương tự như ở chế độ Full mode nhưng sẽ thực hiện các yêu cầu khắt khe hơn đối với các origin certificates.

Cloudflare SSL full strict

Khi nào sử dụng Để đáp ứng yêu cầu bảo mật cao nhất, khách hàng nên lựa chọn Full (strict) mode bất cứ khi nào có thể (Khách hàng là Enterprise customer).

Phía origin server cần phải hỗ trợ SSL certificate như sau:

Yêu cầu cài đặt Trước khi kích hoạt chế độ Full (strict) mode, Khách hàng cần kiểm tra lại phía origin server rằng:

Nếu không, Các truy cập của người dùng có thể gặp lỗi 526.

Hạn chế Phụ thuộc vào cấu hình ở phía origin server của khách hàng mà yêu cầu phải điều chỉnh cài đặt để tránh Mixed Content errors hoặc redirect loops.

E. Strict (SSL-Only Origin Pull) - SSL/TLS encryption modes Khi cấu hình chuyển sang chế độ mã hoá Strict (SSL-Only Origin Pull), kết nối đến origin server sẽ luôn luôn sử dụng SSL/TLS bất kể schema requested bởi truy cập người dùng.

Chứng thư số ở phía của origin phải được xác minh tương tự như chế độ Full (strict).

Khi nào sử dụng Khách hàng muốn cấu hình bảo mật nhất có thể cho phía origin, và đang là khách hàng Enterprise của Cloudflare cũng như đáp ứng các yêu cầu đối với Full (strict) mode.

Hạn chế Phụ thuộc vào cấu hình ở phía origin server của khách hàng mà yêu cầu phải điều chỉnh cài đặt để tránh Mixed Content errors hoặc redirect loops.

V.II. Thiết lập Origin Certificate Authority (CA)

Để tạo một Origin CA certificate trên Cloudflare dashboard, Truy cập vào SSL/TLS và Origin Server

Cloudflare Origin certificate

Lựa chọn Create Certificate

Cloudflare Create Origin certificate

Chọn một trong hai:

Cloudflare Gen Key Origin certificate

Liệt kê tên máy chủ (bao gồm cả wildcards) mà chứng thư số sẽ bảo vệ với mã hoá SSL.

Cloudflare list hostname Origin certificate

Chọn một thời hạn hiệu lực của chứng thư số.

Cloudflare Create Origin certificate Validity

Chọn Create

Chọn Key Format:

Cloudflare Key Format Origin Cert

Sao chép Origin CertificatePrivate Key đã ký vào các tệp tin riêng biệt. Cho mục đích bảo mật, Khách hàng sẽ không thể nhìn thấy Private Key sau khi thoát khỏi màn hình này.

Cloudflare Key Format Origin Cert

Chọn OK.

Cloudflare Installation Origin Cert

V.III. Cài đặt Origin CA certificate trên origin server

A. Thêm mới Origin CA certificate lên origin web server của khách hàng (Ví dụ Windows IIS 10)

Chúng ta theo các bước sau:

  1. Trên máy chủ nơi tạo CSR, lưu SSL Certificate .cer file ( ví dụ your_domain.cert). Cert được tạo từ Cloudflare CA ở bước trước.

  2. Tại Windows start menu, nhập Internet Information Services (IIS) Manager và mở nó.

  3. Tại mục Internet Information Services (IIS) Manager, đối với Connections menu tree, tìm kiếm và click vào server name.

Cloudflare Installation Origin Cert - IIS 10

  1. Trên trang Homepage của Server name, tại mục IIS, double-click Server Certificates.

  2. Tại trang Server Certificates page (center pane), tại Actions menu (right pane), click vào đường dẫn Complete Certificate Request

Cloudflare Installation Origin Cert - IIS 10 - Complete certificate request

  1. Tại Complete Certificate Request wizard, trên trang Specify Certificate Authority Response, thực hiện như sau và sau đó click Ok

Cloudflare Installation Origin Cert - IIS 10 - Complete certificate request - Finish

  1. Sau khi đã cài đặt thành công chứng chỉ SSL của mình, khách hàng cần gán chứng chỉ cho trang web thích hợp.

B. Assign SSL Certificate

  1. Tại Internet Information Services (IIS) Manager, mục Connections menu tree (left pane), mở rộng tên của máy chủ nơi chứng chỉ đã được cài đặt. Sau đó mở rộng Sites và nhấp vào trang web bạn muốn sử dụng chứng chỉ SSL để bảo mật.

Cloudflare Installation Origin Cert - IIS 10 - Binding

  1. Trên trang chủ của trang web Home page, Trong Actions menu (right pane), Dưới mục Edit Site, click vào đường dẫn Bindings…

  2. Trong cửa sổ của Site Bindings window, chọn Add.

Cloudflare Installation Origin Cert - IIS 10 - Binding

  1. Trong cửa sổ Add Site Bindings window, thực hiện các bước sau đây và click OK:

Cloudflare Installation Origin Cert - IIS 10 - Add Site Binding

  1. Chứng chỉ SSL của khách hàng hiện đã được cài đặt và trang web được định cấu hình để chấp nhận các kết nối an toàn.

Cloudflare Installation Origin Cert - IIS 10 - Add Site Binding

C. Thay đổi chế độ SSL/TLS

  1. Sau khi bạn đã cài đặt chứng chỉ Origin CA trên máy chủ web origin của mình, hãy cập nhật chế độ mã hóa SSL/TLS cho ứng dụng của khách hàng.

  2. Nếu tất cả máy chủ origin của khách hàng được bảo vệ bởi chứng chỉ Origin CA hoặc chứng chỉ được tin cậy công khai:

  3. Trên Cloudflare dashboard, Truy cập vào SSL/TLS và lựa chọn chế độ mã hoá Full (Strict)

Cloudflare Full Strict Mode

VI. Thu hồi một chứng chỉ Origin CA

Trong trường hợp khách hàng thất lạc key material hoặc không muốn một chứng thư số cụ thể nào đó được trusted. Khách hàng có thể thu hồi chứng thư số đó. Tuy nhiên khách hàng không thể hoàn tác quá trình này.

Để ngăn chặn việc truy cập khách có thể nhìn thấy các cảnh báo về một chứng thư số không bảo mật. Bạn cần phải thiết lập chế độ mã hoá SSL/TLS sang Full hoặc Flexible trước khi thu hồi một chứng thư số. Khách hàng có thể thực hiện điều này thông qua Cloudflare dashboard hoặc cho tên máy chủ cụ thể thông qua Page Rule.

Để thu hồi một chứng thư số

Trên Cloudflare dashboard, Truy cập vào SSL/TLS > Origin Server

Trong mục Origin Certificates, chọn một chứng thư số cụ thể muốn thu hồi.

Cloudflare Revoke Certificate.

Chọn Revoke.

Conclusion

Hết!

Cảm ơn mọi người vì đã đọc tới đây ạ :P


Next Post
Cách cấu hình Cloudflare Partial DNS