Tôi có cần chứng chỉ SSL riêng cho chuyển hướng DNS không?


17

Tôi đang triển khai một ứng dụng nhiều người thuê trong đó ứng dụng của tôi lưu trữ và phục vụ tài liệu kỹ thuật cho sản phẩm của người thuê.

Bây giờ, cách tiếp cận mà tôi đang xem xét là - Tôi lưu trữ tài liệu tại docs.<tenant>.mycompany.comvà yêu cầu người thuê của tôi thiết lập bản ghi DNS CNAME để trỏ docs.tenantcompany.comđến docs.<tenant>.mycompany.com.

Tôi muốn trang web được kích hoạt SSL với chứng chỉ của người thuê nhà. Tôi muốn hiểu nếu công ty thuê của tôi có chứng chỉ SSL ký tự đại diện, nó sẽ hoạt động với thiết lập này hay sẽ phải mua chứng chỉ SSL mới docs.tenantcompany.com?


Chỉ cần làm rõ, bạn có một ký tự đại diện cho * .mycompany.com?
zymhan

@WildVelociraptor vâng Tôi có chứng chỉ SSL ký tự đại diện cho*.mycompany.com
codematix

@codematix Để tránh mọi nghi ngờ, chứng chỉ ký tự đại diện *.example.com sẽ không khớp docs.tenantname.example.com ! Ký tự đại diện chỉ tốt cho một 'tên miền phụ'; nó sẽ phù hợp docs-tenantname.example.com , ví dụ. S3 của Amazon là một ví dụ điển hình cho việc này: *.s3.amazonaws.comchứng chỉ không thành công khi truy cập nhóm có thời gian, chẳng hạn như www.example.com(kết thúc với tên máy chủ như www.example.com.s3.amazonaws.com); tên xô như vậy là cần thiết cho lưu trữ web S3.
Calrion

Lưu ý rằng việc sử dụng một tên hiệu trỏ đến máy chủ của riêng bạn có nghĩa là bạn có thể tránh được sự cần thiết phải có chứng chỉ do người thuê cung cấp. Một số nhà cung cấp chứng chỉ (bao gồm allowencrypt.org ) hỗ trợ xác thực quyền sở hữu tên miền qua https. Là một vấn đề về thực tiễn bảo mật tốt nhất, phương pháp này vượt trội hơn nhiều (Đã được thảo luận trong serverfault.com/a/765957/4480 ). Bạn có thể cho phép người thuê của bạn cung cấp chứng chỉ của riêng họ (mặc dù việc tự tạo nó dễ dàng hơn đối với người thuê), nhưng họ KHÔNG nên cung cấp chứng chỉ thẻ đại diện.
Brian

Câu trả lời:


39

Tên chứng chỉ phải khớp với những gì người dùng đã nhập trong trình duyệt, không phải bản ghi DNS 'cuối cùng'. Nếu người dùng nhập docs.tenantcompany.comthì chứng chỉ SSL của bạn phải bao gồm điều đó.

Nếu docs.tenantcompany.comlà một CNAME foo.example.com, chứng chỉ không cần phải che foo.example.com, chỉ cần docs.tenantcompany.com.


25

Câu trả lời của Jason là chính xác. Nhưng chỉ cần làm rõ các điều khoản một chút ở đây, "chuyển hướng DNS" là một chút sai lầm. DNS có các bản ghi CNAME (còn gọi là bí danh) là tên trỏ đến tên khác. Nhưng nó không phải là một chuyển hướng. Tất cả các bản dịch từ tên sang tên sang IP đều xuất hiện trong nền và trình duyệt của bạn chỉ quan tâm đến tên ban đầu.

Điều duy nhất không chuyển hướng là các máy chủ web nơi máy chủ đang thông báo rõ ràng cho trình duyệt của bạn đi đến một nơi khác. Nếu máy chủ web của bạn đã thực sự làm chuyển hướng sang tên khác, bạn sẽ thực sự cần Certs cho cả hai tên vì trình duyệt của bạn cuối cùng sẽ được kết nối với cả hai cách riêng biệt.


2
cảm ơn bạn đã sửa lỗi cho tôi Bạn nói đúng, nó không phải là chuyển hướng mà là bí danh CNAME.
codematix

Khách hàng của tôi có một Server Atên miền example.com. Tôi làm một trang web cho anh ta và duy trì trang web trong Server B. Máy khách của tôi đã cấu hình DNS của anh ta A Recordtrỏ dog.example.comđến địa chỉ IP của máy chủ của tôi Server B. Bây giờ khách hàng của tôi đang nhận SSL dog.example.com. Câu hỏi của tôi là, khách hàng của tôi có phải cấp chứng nhận SSL cho tôi để đặt bên trong Server Bkhông? Hay anh ta chỉ cần đặt nó vào Server A? Hay chúng ta nên làm gì khác? Chúng tôi đều bối rối về điều này, cảm ơn!
dùng2875289

1
Nếu bản ghi A cho dog.example.comcác điểm trực tiếp đến IP của máy chủ của bạn, thì có. Máy chủ của bạn phải chứa chứng chỉ và khóa riêng cho tên đó. Máy chủ A trong ví dụ của bạn là không liên quan.
Ryan Bolger

@RyanBolger Vâng, giống như bạn nói. Khách hàng của tôi đã áp dụng một chứng chỉ cho dog.example.comvà gửi chứng chỉ và khóa riêng cho tôi. Tôi đặt chúng bên trong Server Bvà cấu hình Nginx để sử dụng chúng. Và mọi thứ hoạt động tốt bây giờ. Cảm ơn bạn!
dùng2875289

Chỉ cần một lưu ý về một điểm kỹ thuật; vì hiện tại đã có bản ghi "ALIAS", tôi sẽ không nói rằng CNAME cũng là bí danh;]
Garet Claborn

9

Tôi muốn hiểu nếu công ty thuê của tôi có chứng chỉ SSL ký tự đại diện, nó sẽ hoạt động với thiết lập này hay chứng chỉ SSL mới phải được mua docs.tenantcompany.com?

Câu trả lời ngắn: Không. Nếu công ty thuê của bạn có ký tự đại diện trong tên *.tenantcompany.com, điều đó là đủ để cài đặt trên máy chủ của bạn để bao gồm các truy cập thông qua tên đó. Cho dù bạn muốn làm điều này hay không là một câu chuyện khác.

Chứng chỉ trong tên docs.<tenant>.mycompany.com(ví dụ: chứng chỉ trực tiếp hoặc ký tự đại diện *.<tenant>.mycompany.com) là vô ích nếu quyền truy cập luôn được thực hiện thông qua docs.tenantcompany.comtên.


Câu trả lời dài hơn

Giả sử bạn duyệt đến https://docs.tenantcompany.comtrong một trình duyệt hợp lý. Trình duyệt chạy TLS qua giao thức HTTP. Nó quan tâm cụ thể về hai điều; cái đó:

  • hệ thống con DNS của trình duyệt và hệ điều hành trả về địa chỉ IP của máy chủ phù hợp đang chạy máy chủ web trên một cổng phù hợp ở một nơi khác trên mạng cục bộ hoặc internet. Đối với lưu lượng HTTPS (được bảo mật), cổng mặc định 443trừ khi được ghi đè trong URL.

  • Khi bắt tay TLS diễn ra giữa trình duyệt và máy chủ từ xa, máy chủ sẽ xuất trình chứng chỉ tin cậy cho phép nó cung cấp dịch vụ TLS tại địa chỉ được yêu cầu ( docs.tenantcompany.com).

DNS

Trình duyệt thấy DNS là một hộp đen. Nó thực hiện cuộc gọi đến thư viện DNS phù hợp để yêu cầu ánh xạ từ một tên miền đủ điều kiện thân thiện (FQDN) thành một địa chỉ IP phù hợp (v4 hoặc v6). Nó không quan tâm làm thế nào nó có được địa chỉ IP đó. Nếu có 20 CNAMEbí danh trong DNS giữa bản ghi gốc và bản ghi Ahoặc AAAAtrình phân giải DNS sẽ theo dõi chúng cho đến khi có được địa chỉ IP.

TLS

Khi trình duyệt thực hiện bắt tay TLS , nó cần xác minh rằng máy chủ mà nó đang liên lạc được ủy quyền để cung cấp dịch vụ trang web an toàn trên FQDN được yêu cầu : docs.tenantcompany.com.

Hãy nhớ rằng: trình duyệt không quan tâm docs.<tenant>.mycompany.com- trình phân giải DNS đã tóm tắt tất cả kiến ​​thức về sự gián tiếp thông qua một CNAMEbản ghi.

Phương pháp cho phép máy chủ của chúng tôi phục vụ các phiên bảo mật trên docs.tenantcompany.comlà bằng chứng chỉ SSL được ký bởi cơ quan có thẩm quyền trước đó đã được thiết lập trong kho chứng chỉ gốc của trình duyệt. Đây không phải lúc nào cũng là hình thức xác thực mạnh nhất của máy chủ đối với máy khách - rất nhiều điều có thể sai trong mô hình CA tập trung - nhưng đó là cách tốt nhất chúng ta có vào lúc này.

Có hai hãy cẩn thận hơn ở đây:

Chia sẻ khóa

Nhiều nhà cung cấp chứng chỉ SSL thương mại sẽ chỉ ký một yêu cầu ký duy nhất, liên kết hiệu quả chứng chỉ ký tự đại diện với một khóa riêng. Công ty thuê có thể không thoải mái khi chia sẻ điều này bên ngoài tổ chức của họ, vì bất kỳ ai sở hữu khóa riêng rõ ràng có thể làm tổn hại đến việc liên lạc với các hệ thống bảo mật khác của công ty thuê.

Một số nhà cung cấp sẽ ký nhiều yêu cầu ký chứng chỉ theo cùng một chứng chỉ, cho phép một chứng chỉ ký tự đại diện duy nhất được cài đặt trên nhiều máy chủ và hệ thống mà không chia sẻ khóa riêng giữa chúng.

Hóa trang

Nếu công ty thuê cung cấp cho bạn một bản sao chứng chỉ ký tự đại diện của họ (bằng cách chia sẻ khóa riêng hoặc ký CSR của riêng bạn), bạn có thể giả trang thành <anydomain>.tenantcompany.com, phá vỡ một bảo vệ quan trọng đảm bảo tính toàn vẹn của máy chủ được xác định trong tenantcompany.comkhông gian tên DNS. Đây có thể là một vị trí xấu cho cả bạn và công ty thuê được đặt vào, từ góc độ pháp lý / trách nhiệm pháp lý.


Cảm ơn rất nhiều cho câu trả lời chi tiết. Nó rất hữu ích và giúp tôi xem xét các khía cạnh đạo đức và pháp lý của những gì tôi đang cố gắng làm.
codematix
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.