Operations Security

Phân biệt Chứng Chỉ SSL: Let's Encrypt, Commercial Certificate, Self-signed Certificate

CyStack Avatar

Trung Nguyen

CEO @CyStack|September 27, 2023


Xu hướng đẩy mạnh lượng truy cập web ngày càng được bảo mật tốt bằng mã hóa SSL, điều này đồng nghĩa với việc ngày càng có nhiều dịch vụ và nhu cầu để được cấp chứng chỉ bảo mật phù hợp. Cho dù đó là trang web công cộng, các trang truyền thông nội bộ hoặc máy chủ cho các ứng dụng web của bạn, bạn sẽ cần phân biệt các Chứng Chỉ SSL để bảo vệ dữ liệu của mình và đáp ứng được kỳ vọng bảo mật hiện đại của người dùng.
Lợi ích chính của các kết nối SSL là xoay quanh sự riêng tư và toàn vẹn dữ liệu. Kết nối là riêng tư vì mã hóa sẽ ngăn chặn nghe trộm. Tính toàn vẹn của dữ liệu được đảm bảo bằng cách xác minh mật mã rằng bạn đang kết nối với máy chủ chính xác (không phải là kẻ mạo danh) và bằng cách xác minh rằng các thông điệp riêng lẻ không bị giả mạo khi chuyển tiếp.
Có một vài cách khác nhau bạn có thể có được Chứng chỉ SSL và tùy thuộc vào ngân sách, đối tượng và một vài yếu tố khác, bạn có thể chọn giữa tổ chức phát hành Chứng chỉ thương mại (Commercial Certificates), cơ quan cấp Chứng chỉ tự động và miễn phí, Chứng chỉ tự ký (Self-signed Certificates) và cơ quan Chứng chỉ tư nhân. Chúng ta hãy cùng xem qua so sánh các lựa chọn này, và thảo luận xem khi nào nên sử dụng chúng.

Bảng chú giải

Trước khi bắt đầu, chúng tôi sẽ xác định một số thuật ngữ phổ biến được sử dụng khi thảo luận về bảo mật SSL:

Bảo mật tầng vận tải (Transport Layer Security – TLS)

Bảo mật tầng vận tải là một giao thức bảo mật mới thay thế cho Secure Sockets Layer (SSL). Mặc dù có nhiều khả năng rằng kết nối mã hoá hiện đại đang sử dụng TLS, nhưng tên SSL được sử dụng phổ biến hơn và sẽ được sử dụng ở đây.

Chứng chỉ (Certificate)

Trong bài này, chúng tôi sẽ đề cập đến Chứng chỉ máy chủ SSL. Chứng chỉ máy chủ được trình bày bởi một máy chủ web bất cứ khi nào một kết nối SSL mới được yêu cầu. Chúng chứa tên của máy chủ mà Chứng chỉ được cấp cho (được kết hợp với máy chủ bạn khi kết nối) và được đăng ký bởi Cơ quan Chứng chỉ để thiết lập sự tin cậy.

Tổ chức phát hành Chứng chỉ (CA)

Cơ quan cấp Chứng chỉ sẽ phải xác minh chi tiết về yêu cầu của chủ sở hữu tên miền đối với Chứng chỉ SSL, sau đó, nếu mọi thứ đều được kiểm tra, cơ quan này sẽ phát hành và ký Chứng chỉ máy chủ. Các trình duyệt và hệ điều hành luôn duy trì một danh sách các cơ quan Chứng chỉ đáng tin cậy. Nếu một Chứng chỉ máy chủ được ký bởi một trong những CA đáng tin cậy này, nó cũng sẽ được tin cậy.

Xác thực tên miền (DV)

Một Chứng chỉ kiểm định miền sẽ được cấp cho ai đó nếu chứng minh được họ nắm quyền kiểm soát tên miền được yêu cầu cho Chứng chỉ. Chứng chỉ này này thường có dạng một mã thông báo duy nhất từ ​​máy chủ web hoặc hồ sơ DNS của bạn, mà CA sẽ kiểm tra trước khi cấp Chứng chỉ.

Xác thực Tổ chức (OV)

Chứng chỉ xác thực tổ chức có nghĩa là cơ quan cấp Chứng chỉ cũng phải xác minh tên và địa chỉ công ty trong các cơ sở dữ liệu công cộng. Thông tin này được đưa vào Chứng chỉ và thường được hiển thị khi người dùng nhấp vào biểu tượng khóa móc màu xanh lục để có thể tìm hiểu thêm nếu muốn.

Xác thực mở rộng (EV)

Xác thực mở rộng là một xác thực kỹ lưỡng hơn so với xác thực tên miền hoặc tổ chức. Chứng chỉ EV chỉ được được phát hành sau khi đã kiểm tra không chỉ quyền sở hữu tên miền mà còn xác minh rõ sự tồn tại và vị trí của pháp nhân yêu cầu Chứng chỉ và rằng đơn vị kiểm soát miền được xác minh.
Không giống như Chứng chỉ DV và OV, EV không thể được cấp dưới dạng chứng chỉ số Wildcard. Chứng chỉ EV cũng được hiển thị đặc biệt trong trình duyệt web. Trong khi các trình duyệt thường biểu thị một Chứng chỉ DV với biểu tượng khóa móc màu xanh, Chứng chỉ EV cũng sẽ hiển thị thanh màu xanh lá cây nhưng lớn hơn, có chứa tên của tổ chức mà nó đã được cấp. Điều này nhằm mục đích ngăn chặn các cuộc tấn công lừa đảo, tuy nhiên, một số nghiên cứu cho thấy rằng người dùng cũng không chú ý khi thanh màu xanh lá cây này bị thiếu đi.

Chứng chỉ Wildcard

Thay vì được cấp cho một tên miền đủ điều kiện cụ thể (ví dụ: app.example.com), chứng chỉ Wildcard có giá trị cho toàn bộ tên tên miền phụ. Vì vậy, một chứng chỉ được cấp cho * .example.com sẽ bao gồm bất kỳ tên miền phụ nào của example.com như mobile.example.com và blog.example.com. Ký tự dấu hoa thị là ký hiệu đại diện và có thể được thay thế bằng bất kỳ tên máy chủ hợp lệ nào.

Danh sách Thu hồi Chứng chỉ (Certificate Revocation List – CRL)

Chứng chỉ SSL có thể bao gồm thông tin về cách truy cập danh sách thu hồi chứng chỉ. Khách hàng sẽ tải về và kiểm tra danh sách này để đảm bảo rằng chứng chỉ không bị thu hồi. CRLs phần lớn đã được thay thế bởi các phản ứng của OCSP.

Giao thức trạng thái Chứng chỉ Trực tuyến (Online Certificate Status Protocol- OCSP)

Giao thức OCSP là một sự thay thế cho CRLs, với những lợi ích của việc áp dụng thời gian thực hơn và đòi hỏi băng thông thấp hơn. Hoạt động chung cũng tương tự: khách hàng phải truy vấn câu trả lời OCSP để kiểm tra xem chứng chỉ đã bị thu hồi hay không.

Cơ quan cấp Chứng chỉ thương mại

Các cơ quan cấp Chứng chỉ thương mại cho phép bạn mua Chứng chỉ DV, OV, và EV. Một số sẽ cung cấp chứng chỉ tên miền miễn phí với những hạn chế nhất định (ví dụ: không bao gồm chứng chỉ Wildcard).

  • Quy trình: Quy trình thủ công để thiết lập ban đầu và thay đổi
  • Chi phí: khoảng $10 – $1000
  • Xác thực: DV, OV, và EV
  • Độ tin cậy: Mặc định được tin cậy trong hầu hết các trình duyệt và hệ điều hành
  • Chứng chỉ Wildcard:
  • Chứng chỉ chỉ dành cho IP: Một số tổ chức sẽ cấp Chứng chỉ cho các địa chỉ IP công cộng
  • Thời gian hiệu lực: 1-3 năm

Hầu hết các cơ quan cấp Chứng chỉ thương mại được hầu hết các trình duyệt tin tưởng. Quá trình gia hạn thường là được tiến hành thủ công, vì vậy bạn phải ghi lại ngày hết hạn của chứng chỉ và nhắc nhở mình phải gia hạn đúng thời hạn.
Các Tổ chức phát hành Chứng chỉ thương mại thương mại trước kia thường là lựa chọn duy nhất để có được chứng chỉ đáng tin cậy của hầu hết các trình duyệt chính. Điều này đã thay đổi với sự xuất hiện của các Tổ chức phát hành Chứng chỉ tự động mới như Let’s Encrypt. Tuy nhiên, các CA thương mại là cách duy nhất để có được chứng chỉ EV và là cách duy nhất để có được chứng chỉ Wildcard mà hầu hết các trình duyệt tin cậy. Chúng cũng là một lựa chọn tốt nếu bạn cần chứng chỉ cho một thiết bị không thể chạy chương trình Let’s Encrypt tự động (do phần mềm không tương thích, hoặc có lẽ là thiết bị được thiết kế tiết kiệm năng lượng).

Các nhà cung cấp chứng chỉ SSL tốt nhất thế giới năm 2017
Các nhà cung cấp chứng chỉ SSL tốt nhất thế giới năm 2017

Các Tổ chức phát hành Chứng chỉ thương mại thường cung cấp các hợp đồng hỗ trợ bổ sung, đảm bảo và Chứng chỉ, điều này rất quan trọng đối với một số công ty và ngành.

Chứng chỉ bảo mật Let’s Encrypt:

Let’s Encrypt cung cấp một cơ chế tự động để yêu cầu và gia hạn các chứng chỉ tên miền được chứng thực miễn phí. Họ đã tạo ra một giao thức chuẩn – ACME – để tương tác với dịch vụ để tự động lấy và khôi phục các chứng chỉ. Client của ACME chính thức được gọi là Certbot, mặc dù cũng có nhiều client khác thay thế.

  • Quá trình: Thiết lập ban đầu và thay đổi được diễn ra tự động. Chỉ có thiết lập Apache và Nginx được tự động hóa với client chính thức, nhưng các chứng chỉ có thể được tải xuống và sử dụng độc lập với bất kỳ phần mềm máy chủ cụ thể nào.
  • Chi phí: Miễn phí
  • Xác thực: Chỉ DV
  • Độ tin cậy: Tin cậy theo mặc định trong hầu hết các trình duyệt và hệ điều hành
  • Chứng chỉ Wildcard: Không (dự kiến cho phép từ tháng 1 năm 2018)
  • Chứng chỉ dành riêng cho IP: Không
  • Thời hạn: 90 ngày

Chứng chỉ Let’s Encrypt có thời hạn ngắn để khuyến khích đổi mới tự động và giảm thời gian bất kỳ chứng chỉ bị tổn hại nào có thể bị lạm dụng bởi kẻ tấn công.
Nếu bạn có một máy chủ được truy cập công khai và có một tên miền hợp lệ trỏ đến nó, Let’s Encrypt có thể là một lựa chọn tốt. Các máy chủ của Encrypt cần liên hệ với máy chủ web của bạn hoặc lấy ra một bản ghi DNS công cộng để xác minh rằng bạn kiểm soát miền, vì vậy sử dụng nó cho máy chủ cá nhân đằng sau tường lửa trên mạng nội bộ của bạn có thể phức tạp hơn một chút.
Let’s Encrypt sẽ không cung cấp chứng chỉ cho một địa chỉ IP trống. Nếu bạn cần một chứng chỉ EV, hoặc một chứng chỉ Wildcard, Let’s Encrypt không phải là một lựa chọn tốt. Lưu ý rằng Let’s Encrypt có thể tạo một chứng chỉ với tối đa 100 tên máy chủ lưu trữ, vì vậy có thể bạn không thực sự cần một Wildcard cho trường hợp sử dụng của mình, bạn chỉ cần có chứng chỉ bao gồm tất cả các tên miền phụ hiện có của bạn.
Tuy nhiên, do giới hạn tốc độ cho API mã hoá của Let’s Encrypt, nếu bạn có rất nhiều tên miền phụ, hoặc các tên miền phụ động (dynamic subdomain) có thể được tạo ngay lập tức, Let’s Encrypt có thể không còn phù hợp.
Để tìm hiểu về cách bảo mật Apache với Let’s Encrypt trên Ubuntu 16.04. Bạn có thể tham khảo tại đây: https://vn.cystack.net/bao-mat-apache-lets-encrypt-ubuntu-16-04/ )

Chứng chỉ tự ký (self-signed certificates)

Có thể sử dụng chứng chỉ SSL đã được ký bởi khóa riêng của chính nó, hoàn toàn bỏ qua sự cần thiết của một cơ quan chứng nhận. Đây được gọi là chứng chỉ tự ký và khá phổ biến khi thiết lập các ứng dụng web để thử nghiệm hoặc cho một số người dùng hiểu biết về công nghệ có thể sử dụng.

  • Quy trình: Tạo ra chứng chỉ thủ công, không có cơ chế gia hạn
  • Chi phí: Miễn phí
  • Xác thực: DV và OV
  • Độ tin cậy: Không có mặc định. Mỗi chứng chỉ phải được đánh dấu bằng tay là đáng tin cậy, vì không có CA chung
  • Chứng chỉ Wildcard:
  • Chứng chỉ chỉ dành cho IP: Có, bất kỳ IP nào
  • Thời gian hết hạn: Bất kỳ

Chứng chỉ tự ký có thể được thực hiện bằng lệnh openssl đi kèm với thư viện OpenSSL.
Vì chứng chỉ tự ký không được cấp bởi bất kỳ CA đáng tin cậy nào, bạn cần phải đánh dấu Chứng chỉ này đáng tin cậy, một quy trình khác nhau trong mỗi trình duyệt và hệ điều hành. Sau đó, chứng chỉ sẽ hoạt động giống như bất kỳ chứng chỉ CA-ký kết bình thường.
Chứng chỉ tự ký khá tốt để sử dụng một lần khi bạn chỉ cần tự quản lý lòng tin đối với một vài client, và không nhớ rằng nó không thể bị thu hồi hoặc đổi mới mà không có nỗ lực thủ công nhiều hơn nữa. Điều này thường đủ tốt cho mục đích phát triển và thử nghiệm hoặc cho các ứng dụng web tự chủ mà chỉ có một vài người sẽ sử dụng.

Cơ quan phát hành Chứng chỉ Cá nhân

Bạn hoàn toàn có thể tự phát hành chứng chỉ bảo mật cá nhân của riêng bạn và sử dụng nó để ký chứng chỉ. Người dùng của bạn cần cài đặt và tin cậy CA của riêng bạn theo cách thủ công trước khi bất kỳ chứng chỉ nào của nó được tin cậy.

  • Quy trình: Tạo và cấp chứng chỉ theo cách thủ công, cộng với cài đặt thủ công của CA
  • Chi phí: Miễn phí
  • Xác thực: DV và OV
  • Độ tin cậy: Không có mặc định. Bạn phải tự phân phát chứng chỉ CA riêng cho khách hàng để tạo lòng tin
  • Chứng chỉ Wildcard:
  • Chứng chỉ dành cho IP: Có, bất kỳ IP nào
  • Thời gian hết hạn: Bất kỳ

Cũng như các chứng chỉ tự ký, bạn có thể tạo một CA riêng bằng cách sử dụng các công cụ dòng lệnh đi kèm với thư viện OpenSSL, nhưng một số giao diện thay thế đã được phát triển để làm cho quá trình dễ dàng hơn. tinyCA là một giao diện đồ hoạ cho quá trình này, và caman là một chương trình dòng lệnh. Cả hai đều làm cho việc tạo ra một CA dễ dàng hơn và sau đó phát hành, gia hạn và thu hồi chứng chỉ.
Một CA cá nhân là một lựa chọn tốt nếu bạn có nhiều chứng chỉ để tạo và có thể phân phối và cài đặt CA cho người dùng của bạn theo cách thủ công. Điều này có thể giới hạn bạn sử dụng nội bộ trong một tổ chức hoặc một nhóm nhỏ những người dùng am hiểu kỹ thuật có thể cài đặt CA đúng cách. Các phòng CNTT lớn hơn thường có phương tiện để triển khai các CA tới người dùng của họ một cách tự động, làm cho giải pháp này hấp dẫn hơn đối với họ.
Không giống như chứng chỉ tự ký, trong đó mỗi chứng chỉ phải được đánh dấu là đáng tin cậy bằng tay, bạn chỉ phải cài đặt CA riêng một lần. Tất cả các chứng chỉ được cấp từ CA đó sẽ kế thừa sự tin tưởng đó.
Một nhược điểm là có một số chi phí để chạy CA, và nó có một số biết làm thế nào để thiết lập và duy trì một cách an toàn. Nếu thu hồi hợp lệ là quan trọng cho việc sử dụng của bạn, bạn cũng cần phải duy trì một máy chủ HTTP cho danh sách thu hồi chứng chỉ, hoặc một phản hồi OCSP.

Kết luận

Chúng ta đã xem xét một vài tùy chọn khác nhau để có được hoặc tạo chứng chỉ SSL. Việc thêm bảo mật SSL là rất tốt cho việc bảo vệ dữ liệu, bảo mật và đảm bảo tính bảo mật của dịch vụ và người dùng của bạn. Trong bối cảnh an ninh mạng đang phải đối mặt với rất nhiều nguy cơ, thì việc lựa chọn cho mình một Chứng chỉ SSL phù hợp, tin cậy là điều vô cùng cần thiết và đã được các công ty công nghệ hàng đầu thế giới tiến hành từ rất sớm.
Xem thêm: Bảo mật website toàn diện từ A-Z

Related posts

Cybersecurity Framework: Building A Security Model For Businesses
Cybersecurity Framework: Building A Security Model For Businesses
September 27 2023|Operations Security

In this article, we will learn what Cybersecurity Framework is, and why it is necessary for business network security. We also learn how common network security models like ISO 27001, NIST model, or PCI DSS security standards are different from each other. At the same time, the article also helps you outline a strategy to build …

What is Vulnerability Management? Why Is It Necessary?
What is Vulnerability Management? Why Is It Necessary?
March 24 2023|Operations Security

Most modern businesses and organizations maintain an online presence, and the number of cyberattacks against them climbs steadily year after year. Attackers often hunt for vulnerabilities in their IT networks that would allow them to access sensitive data. Vulnerability management solutions address this problem by taking a more active and forehanded approach. They aim to …

2022 Trends of Cyber Threats: Know to Prevent!
2022 Trends of Cyber Threats: Know to Prevent!
March 24 2023|Operations Security

Advanced technologies are like a double-edged sword. While they revolutionize our life and how we do business, technologies also expose us to higher cyber attacks. Thus, it is important to always update yourself on the latest trends of cyber threats and, more importantly, how to prevent or minimize the damages. This year, IBM published its IBM Security X-Force …