it-swarm-vi.com

Những chứng chỉ cần thiết cho tên miền phụ đa cấp?

Tôi đang làm việc trên một trang web với một số cấp độ tên miền phụ. Tôi cần bảo mật tất cả chúng bằng SSL và tôi đang cố gắng xác định chiến lược chứng chỉ chính xác.

Đây là những gì tôi cần bảo mật:

  • foo.com
  • www.foo.com
  • Bất kỳ sự kết hợp nào của city.state.foo.com. (Đây là những tiểu bang của Hoa Kỳ.)

Tôi hiểu rằng chứng chỉ ký tự đại diện chỉ có thể bao gồm một "cấp" tên miền phụ. Theo RFC 2818 :

Tên có thể chứa ký tự đại diện * được coi là khớp với bất kỳ thành phần tên miền hoặc đoạn thành phần nào. Ví dụ: * .a.com khớp với foo.a.com nhưng không phải là bar.foo.a.com. f * .com phù hợp với foo.com nhưng không phải bar.com.

Những gì tôi nghĩ Tôi cần là các chứng chỉ sau:

  • *.foo.com, sẽ khớp, ví dụ, foo.com, www.foo.com. (Mặc dù tôi không rõ liệu *.a.com diêm a.com bởi bản thân.)
  • *.ny.foo.com khớp new-york.ny.foo.com, buffalo.ny.foo.com, v.v ... Cuối cùng tôi sẽ cần 50 chứng chỉ như vậy để phù hợp với tất cả các tiểu bang, một khi trang web của chúng tôi mở rộng để phục vụ tất cả.

Câu hỏi của tôi là:

  • Đề án này có đúng không? Trong kịch bản trên, nếu người dùng truy cập ca.foo.com, họ sẽ nhận được chứng chỉ cho *.foo.com hoặc là *.ca.foo.com?
  • Làm cách nào tôi có thể đảm bảo rằng người dùng thấy tất cả các tên miền phụ này thuộc sở hữu hợp pháp của chúng tôi? Ví dụ: nếu người dùng truy cập foo.com, sau đó mountain-view.ca.foo.com, và đó là những chứng chỉ khác nhau, liệu họ có nhận được cảnh báo không? Có cách nào để đảm bảo trình duyệt của họ rằng các chứng chỉ này có chung chủ sở hữu không?
114
Nathan Long

Về mặt lý thuyết:

  • một * khớp chính xác một cấp (do đó *.foo.com không không khớp với foo.com)
  • nhưng bạn có thể có vài * trong một cái tên

Do đó, nếu tất cả các triển khai SSL tuân theo RFC 2818 , bạn chỉ cần ba chứng chỉ, với các tên:

  • foo.com
  • *.foo.com
  • *.*.foo.com

và, nếu việc triển khai thực sự tốt khi gắn bó với RFC 2818 và những điều phức tạp của X.509, bạn thậm chí có thể sử dụng chứng chỉ liệt kê ba các chuỗi ở trên trong phần mở rộng Tên Alt của nó.

Bây giờ, lý thuyết và thực hành hoàn toàn phù hợp ... trong lý thuyết. Bạn có thể ngạc nhiên với những gì trình duyệt thực sự làm. Tôi đề nghị bạn thử nó ra; một số chứng chỉ mẫu có thể được tạo bằng công cụ dòng lệnh OpenSSL (xem ví dụ trang này để biết một vài hướng dẫn).

76
Tom Leek

RFC 6125 khá gần đây và không được mọi người triển khai, nhưng nó cố gắng làm rõ một số vấn đề này. Nó tập hợp các đặc tả nhận dạng trong RFC 2818 và RFC của các giao thức khác. Tôi sẽ đề nghị tuân thủ RFC 6125 nếu bạn có thể. Các phần có liên quan cho chứng chỉ ký tự đại diện là 6.4.7.2 (trên thực tế không khuyến khích sử dụng chứng chỉ ký tự đại diện).

Không rõ câu hỏi của bạn là bạn có muốn chạy một máy chủ web không (hoặc ít nhất có thể chạy tất cả phía sau một địa chỉ IP) hoặc nếu bạn có thể có chứng chỉ trên mỗi trang web (và do đó là địa chỉ IP trên mỗi trang web, vì SNI nói chung không được hỗ trợ tốt lắm).

Bạn có thể có một chứng chỉ duy nhất với nhiều Tên thay thế chủ đề (SAN). Vấn đề xuất phát từ trường hợp có hai nhãn ký tự đại diện, có thể không được chỉ định rõ ràng (*.*.foo.com).

Nếu ký tự đại diện kép hoạt động, chứng chỉ có 3 SAN Các mục DNS sẽ hoạt động:

  • foo.com
  • *.foo.com
  • *.*.foo.com

Tuy nhiên, vì nó có thể không hoạt động (tùy thuộc vào việc triển khai của khách hàng, có thể không thuộc quyền kiểm soát của bạn) và vì bạn có thể liệt kê 50 trạng thái, bạn có thể có 52 SAN các mục DNS:

  • foo.com
  • *.foo.com
  • *.ny.foo.com
  • ... (Một cho mỗi tiểu bang)

Làm cách nào tôi có thể đảm bảo rằng người dùng thấy tất cả các tên miền phụ này thuộc sở hữu hợp pháp của chúng tôi? Ví dụ: nếu người dùng truy cập foo.com, sau đó Mountain-view.ca.foo.com và đó là những chứng chỉ khác nhau, họ có nhận được cảnh báo không? Có cách nào để đảm bảo trình duyệt của họ rằng các chứng chỉ này có chung chủ sở hữu không?

Đây là một câu hỏi khó, vì nó phụ thuộc vào mức độ quen thuộc của người dùng với quy trình xác minh chứng chỉ. Bạn có thể nhận được chứng chỉ Xác thực mở rộng (mặc dù tôi nghĩ rằng chứng chỉ EV ký tự đại diện có thể không được phép), sẽ cung cấp một thanh màu xanh lục. Điều này sẽ cung cấp một số nhãn "quyền sở hữu" trong hầu hết các trình duyệt. Sau đó, bản thân các giao diện của trình duyệt có thể gây nhầm lẫn (ví dụ: "được điều hành bởi (không xác định)" của Firefox trong thanh màu xanh, điều này thực sự không giúp ích gì cả). Cuối cùng, người dùng có thể đi và kiểm tra trong chứng chỉ của bạn để xem chứng chỉ SAN nào được cấp. Tuy nhiên, tôi nghi ngờ nhiều người sẽ làm điều này và hiểu ý nghĩa của nó.

34
Bruno

http://www.digicert.com/welcome/wildcard-plus.htm nói

Hơn nữa, chứng chỉ ssl DigiCert WildCard là duy nhất trong việc cho phép bạn bảo mật BẤT K domain tên miền phụ của tên miền của bạn, bao gồm nhiều cấp tên miền phụ với một chứng chỉ. Ví dụ: WildCard của bạn cho * .digicert.com com có ​​thể bao gồm server1.sub.mail.digicert.com làm tên thay thế chủ đề.

4
TechNikh

Bạn có thể sử dụng chứng chỉ ký tự đại diện hoặc bạn cũng có thể sử dụng chứng chỉ có tên miền thay thế. Cá nhân, tôi sử dụng chứng chỉ từ StartSSL cho phép tôi có tất cả các tên miền của mình được liệt kê trên một chứng chỉ. Tôi có một cái gì đó giống như 10 tên miền ký tự đại diện và 15 một số ADN khác trên cùng một chứng chỉ để tôi có thể sử dụng SSL trên các trang web tôi đã lưu trữ trên máy chủ của mình.

1
AJ Henderson