Phần 2 : Hướng dẫn cấu hình SSL/TLS trên Cloudflare

1. Giới thiệu

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.

Khi bắt đầu cấu hình DNS Cloudflare, bạn sẽ được cấp chứng chỉ Universal SSL (free SSL/TLS certificatearrow-up-right ) phía User -> Cloudflare (Page Edge certificate) do các CA như Let's Encrypt hoặc Google Trust Services cấp phát, và chứng chỉ này sẽ được tự động gia hạn. Cloudflare cũng cho phép bạn lựa chọn chứng chỉ SSL riêng (Dedicated SSL hoặc Custom SSL) nếu cần. Để đạt xếp hạng bảo mật hạng A, bạn cần phải cấu hình TLS/SSL phù hợp với các tiêu chuẩn bảo mật cao, như hỗ trợ TLS 1.3, kích hoạt HSTS, và OCSP Stapling.

Khi bắt đầu , phía Cloudflare -> Origin server của bạn sẽ chưa được bảo mật. Bạn cần tùy chỉnh ở Page Origin certificate. Có thể bạn sẽ sử dụng chứng chỉ Cloudflare Origin CA hoặc chứng chỉ SSL riêng trên máy chủ của bạn tùy theo nhu cầu bảo mật.

2. Yêu cầu chuẩn bị

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

  2. Đi đến SSL/TLS > Edge Certificates > Kiểm tra status of the certificate trong cột status. Trang web của bạn đã được cấp Chứng chỉ Edge đang hoạt động.

3. Cấu hình SSL/TLS

So sánh về SSL về plan Free và Advanced:

Tính năng
Advanced SSL : (Enterprise)
Universal SSL : ( Free)

Tự động gia hạn và được Cloudflare quản lý

*.*.example.com

Không

*.example.com

Tự chọn CA cấp SSL

Không

Sử dụng riêng SSL của doanh nghiệp

Không

SSL dành riêng cho legacy Application

Không

1 Certificate cấp tối đa cho

Include the zone apex and up to 50 hosts

cloudflare tự động cấp cho CNAME

Enable Total TLSarrow-up-right for Full DNS

Không

Bước 1. Cấu hình mode.

Đi đến SSL/TLS > Overview -> chọn Flexible ( Vì phía cloudflare tới origin chưa được SSL/TLS)

chevron-rightGiải thích về từng mode ( tất cả đều có hình minh họa bên cạnh )hashtag
  • Off (no encryption): 2 đầu không mã hóa ( ko dùng tới )

  • Flexible: kết nối HTTPS khách -> Cloudflare, Cloudflare -> máy chủ gốc của khách hàng (Origin server) được thực hiện thông qua HTTP. Do đó, chứng chỉ SSL không bắt buộc đối với máy chủ gốc của khách hàng.

  • Full: kết nối HTTPS khách -> Cloudflare, thì Cloudflare -> Origin server . Nếu kết nối HTTP khách -> Cloudflare , thì Cloudflare -> Origin server. Và kết nối giữa Cloudflare và máy chủ gốc sẽ không yêu cầu chứng chỉ SSL hợp lệ. (Sử dụng khi có tự tạo self-signed certificate cho riêng Origin )

  • Full (strict): Cloudflare thực hiện mọi thứ ở chế độ Full nhưng cũng thực thi các yêu cầu nghiêm ngặt hơn đối với chứng chỉ nguồn gốc. ( phù hợp cho Enterprise , nếu lỗi 526 errorarrow-up-right thì đổi mode)

  • Strict (SSL-Only Origin Pull): Các kết nối đến origin sẽ luôn được thực hiện mã hóa bằng SSL/TLS. bạn cũng có thể thiết lập Authenticated Origin Pullsarrow-up-right để đảm bảo tất cả các yêu cầu đến nguồn của bạn được đánh giá trước khi nhận được phản hồi. (Phương pháp này chỉ khả dụng cho khu vực Doanh nghiệp, và đảm bảo bạn đã cấu hình hoàn tất đảm bảo đc bảo mật cao nhất)

Bước 2. Cấu hình Edge certificate

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

I. Universal SSL ( cho tất cả plan)

Chứng chỉ Universal SSL do Cloudflare cấp :

  • Tự động gia hạn và được Cloudflare quản lý: Cloudflare sẽ tự động gia hạn và quản lý chứng chỉ SSL cho bạn, vì vậy bạn không cần phải lo lắng về việc chứng chỉ hết hạn.

  • Hợp lệ cho tên miền chính và tên miền wildcard: Chứng chỉ này hợp lệ cho cả example.com và tên miền phụ dạng *.example.com.

  • Không hỗ trợ wildcard của wildcard: Ví dụ, chứng chỉ không hỗ trợ *.*.example.com.

  • Chủ sở hữu tên miền phải được xác minh: Cloudflare sẽ yêu cầu bạn xác minh quyền sở hữu tên miền với đối tác cấp chứng chỉ (CA).

circle-info

Chỉ khi bạn dùng bạn dùng Full DNS zone , Partial Zone ( với DNS record có proxied mode của CloudFlare) thì bạn sẽ được CloudFlare cấp và tự động gia hạn chứng chỉ.

Với Partial Zone ( không được proxied hoặc tên miền wildcard ) :

Cloudflare sẽ không tự động cấp và gia hạn nếu bạn chưa thực hiện xác thực ACME DVC

  • Khi bạn thêm bản ghi CNAME như trên hình vào nhà cung cấp tên miền, Cloudflare sẽ sử dụng nó để tự động thực hiện xác thực ACME DCV.

  • Sau khi xác thực thành công, Cloudflare sẽ cấp phát chứng chỉ SSL/TLS cho tên miền hoặc tên miền wildcard đó.

  • Cloudflare cũng sẽ tự động gia hạn chứng chỉ khi đến thời hạn hết hạn.

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

Vào bảng điều khiển SSL/TLS > Edge Certificates:

chevron-rightTrạng thái cấp cho Chứng chỉ mớihashtag
  1. Initializing : đang khởi tạo

  2. Pending Validation : đang chờ xác thực

  3. Pending Issuance : đang chờ phát hành

  4. Pending Deployment : đang chờ triển khai

  5. Active : kích hoạt

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

Yêu cầu :

Trên Dashbroad SSL/TLS -> Edge certificate của bạn có chức năng Upload Custom SSL Certificate và Order Advanced Certificate

chevron-rightYour plan upload custom certificateshashtag

Custom Legacy certificate pack : chứng chỉ tùy chỉnh phù hợp với các thiết bị hoặc trình duyệt cũ như TLS 1.0, TLS 1.1

Custom Modern Certificate Packs: chứng chỉ tùy chỉnh dành cho các giao thức bảo mật hiện đại TLS 1.3

Cấu hình :

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

Bạn vui lòng đọc kỹ các cảnh báo tại mục Acknowledgement sau đó tick vào mục I Understand và Click Confirm.

Khi Disable xong bạn sẽ không thấy chứng chỉ Universal nữa.

circle-exclamation

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

Save lại

Cấu hình auto gia hạn lại chứng chỉ advanced của bạn bấm vào đây

Bước 3. Cấu hình Origin Certificate

Truy cập vào SSL/TLS Origin Server

Lựa chọn Create Certificate

Chọn một trong hai:

  • Tạo một private key và CSR với Cloudflare: Private key có thể là RSA hoặc ECC.

  • Sử dụng my private key và CSR: Paste Certificate Signing Request vào trường văn bản text field.

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.

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

Chọn Create

Chọn Key Format:

  • Các máy chủ sử dụng OpenSSL — giống như Apache và NGINX — thường sử dụng PEM files (Base64-encoded ASCII), nhưng cũng hoạt động với các tệp binary DER files.

  • Các máy chủ sử dụng Windows và Apache Tomcat yêu cầu PKCS#7 (a .p7b file).

Sao chép Origin Certificate và Private Key đã ký vào các tệp tin riêng biệt.

triangle-exclamation

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

Để add một 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.

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

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

7. 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.

Assign SSL Certificate

8. 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.

9. 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…

10. Trong cửa sổ của Site Bindings window, click Add.

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

  • Type: Trong danh sách kéo xuống, lựa chọn https.

  • IP address: Trong danh sách kéo xuống, lựa chọn địa chỉ IP của trang hoặc lựa chọn All Unassigned.

  • Port: Nhập cổng 443. Cổng mà lưu lượng truy cập được bảo mật bằng SSL là cổng 443.

  • SSL certificate: Trong danh sách kéo xuống, lựa chọn chứng chỉ SSL certificate mới (ví dụ, yourdomain.comarrow-up-right).

12. 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.

Thay đổi chế độ SSL/TLS

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

  1. SSL/TLS -> Overview

  2. chọn SSL/TLS encryption mode, select Full (strict). ( đảm bảo traffic đi qua đều HTTPS)


4. Lỗi gặp phải.

chevron-rightThis page isn't working ( ERR_TOO_MANY_REDIRECTS)hashtag

Nguyên nhân :

  • mode SSL/TLS là Flexible

  • cấu hình .htaccess để redirects HTTP -> HTTPS

Tại sao :

  • Khi bạn sử dụng Flexible SSL , Cloudflaremáy chủ gốc sử dụng HTTP.

  • Nếu Apache được cấu hình để chuyển hướng mọi kết nối HTTP sang HTTPS, thì khi Cloudflare yêu cầu HTTP từ máy chủ, Apache sẽ chuyển hướng về HTTPS, dẫn đến vòng lặp chuyển hướng.

Giải quyết :

Đổi sang mode full ( stric)


5. Giới thiệu một số tính năng liên quan SSL/TLS:

chevron-rightTạo Rule cho các traffic HTTP -> HTTPS:hashtag

Vào Rules -> Templates -> Redirect from HTTP to HTTPS

SSL/TLS -> Edge certificate

chevron-rightChỉnh minimum TLS Versionhashtag

Không nên hạ xuống các phiên bản cũ hơn như TLS 1.0 hoặc TLS 1.1, vì chúng có nhiều lỗ hổng bảo mật và đã bị nhiều trình duyệt ngừng hỗ trợ.

6. Client Cer và Custom Cer ( tùy chọn )

Last updated