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 certificate ) 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ị
Đ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.

Đ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ự động gia hạn và được Cloudflare quản lý
Có
Có
*.*.example.com
Có
Không
*.example.com
Có
Có
Tự chọn CA cấp SSL
Có
Không
Sử dụng riêng SSL của doanh nghiệp
Có
Không
SSL dành riêng cho legacy Application
Có
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
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)
Giải thích về từng mode ( tất cả đều có hình minh họa bên cạnh )
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 error 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 Pulls để đả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.comvà 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).
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:

Trạng thái cấp cho Chứng chỉ mới
Initializing : đang khởi tạo
Pending Validation : đang chờ xác thực
Pending Issuance : đang chờ phát hành
Pending Deployment : đang chờ triển khai
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

Your plan upload custom certificates
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.

Lựa chọn SSL mà bạn muốn dùng : Advanced certificate của cloudflare hay tự upload certificate của mình

Nhập và cung cấp thêm các thông tin dưới đây:
Certificate Authority
Certificate Hostnames
Validation method
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

Tải lên chứng chỉ SSL tùy chỉnh:
Bạn có thể tự tải lên chứng chỉ SSL tùy chỉnh nếu bạn đã có chứng chỉ của riêng mình và muốn sử dụng nó.
Phải tự gia hạn và tải lên chứng chỉ trước khi hết hạn: Bạn sẽ phải tự theo dõi ngày hết hạn và gia hạn chứng chỉ theo cách thủ công, sau đó tải lên lại chứng chỉ trước khi hết hạn.
Cloudflare sẽ trình bày chứng chỉ hiện tại của bạn đến người dùng: Cloudflare sẽ sử dụng chứng chỉ mà bạn đã tải lên để bảo mật kết nối cho người dùng của bạn.
Khóa riêng không bao giờ được lưu trữ dưới dạng không mã hóa: Cloudflare không lưu trữ khóa riêng của bạn dưới dạng không mã hóa trên ổ đĩa. Chúng chỉ được giải mã khi cần thiết (theo yêu cầu).
Copy và paste các giá trị liên quan vào vùng văn bản của SSL Certificate và Private key (hoặc lựa chọn Paste từ file).

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

Lựa chọn một giá trị cho Legacy Client Support
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.
-------------------------------------------------------------------------------------------------------------
Cập nhật một Custom Certificate hiện có trên Cloudflare
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).
Bước 3. Cấu hình Origin Certificate
Truy cập vào SSL/TLS và 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.
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.
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.com).
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.
Lưu các tệp chứng chỉ và khóa riêng vào thư mục theo đường dẫn:
Chứng chỉ:
/etc/ssl/certs/origin-cert.pemKhóa riêng:
/etc/ssl/private/origin-key.pem
Sửa file cấu hình Apache:
sudo nano /etc/apache2/sites-available/your-site.conf
Thêm cấu hình SSL vào VirtualHost:
Kiểm tra cấu hình Apache:
sudo apachectl configtest
Kích hoạt file .conf HTTPS (SSL) trên Apache:
sudo a2ensite your-site.conf
Khởi động lại Apache:
sudo systemctl restart apache2
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.
SSL/TLS -> Overview
chọn SSL/TLS encryption mode, select Full (strict). ( đảm bảo traffic đi qua đều HTTPS)

4. Lỗi gặp phải.
This page isn't working ( ERR_TOO_MANY_REDIRECTS)

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 , Cloudflare và má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:
SSL/TLS -> Edge certificate
Chỉnh minimum TLS Version
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
