2009-03-05 35 views
42

Tôi đang thiết lập một máy chủ web cho một hệ thống mà cần phải được sử dụng chỉ qua HTTPS, trên một mạng nội bộ (không truy cập từ thế giới bên ngoài)HTTPS Giấy chứng nhận để sử dụng nội

Ngay bây giờ tôi nhận được nó được thiết lập với một chứng chỉ tự ký, và nó hoạt động tốt, ngoại trừ một cảnh báo khó chịu rằng tất cả các trình duyệt đều cháy lên, vì thẩm quyền CA được sử dụng để ký nó tự nhiên không đáng tin cậy.

truy cập được cung cấp bởi một tên miền DNS địa phương giải quyết trên máy chủ DNS địa phương (ví dụ: https://myapp.local/), mà các bản đồ địa chỉ đó để 192.168.xy

Có một số nhà cung cấp có thể phát hành cho tôi một giấy chứng nhận phù hợp để sử dụng trên một tên miền nội bộ (myapp.local)? Hoặc là lựa chọn duy nhất của tôi để sử dụng FQDN trên một miền thực, và sau đó ánh xạ nó tới một địa chỉ IP cục bộ?

Lưu ý: Tôi muốn có tùy chọn không cần đánh dấu khóa công khai của máy chủ là đáng tin cậy trên mỗi trình duyệt vì tôi không kiểm soát được máy trạm.

+0

Câu hỏi thú vị! Tôi không có câu trả lời thực sự, nhưng tôi hy vọng rằng một CA "thực" sẽ không đưa ra một chứng chỉ ràng buộc với một cái tên mà không phải là một cách duy nhất trên toàn cầu. FQDN, do không gian tên chung của nó hoặc địa chỉ IP có thể định tuyến công khai đều được, nhưng tên riêng có thể bị giả mạo. – erickson

Trả lời

5

tôi đã làm như sau, mà làm việc độc đáo cho tôi:

Tôi nhận được chứng chỉ SSL ký tự đại diện cho * .mydomain.com (ví dụ: Namecheap, cung cấp giá rẻ này)

Tôi đã tạo bản ghi DNS CNAME trỏ "mybox.localomain.com" tại "mybox.local".

Tôi hy vọng điều đó sẽ giúp - rất tiếc là bạn sẽ phải trả một khoản tiền ký tự đại diện cho tên miền của mình, nhưng bạn có thể đã có.

+0

Tôi có một câu hỏi dành cho bạn. Cách tiếp cận này đang hoạt động ngay cả đối với tên miền phụ của mybox của bạn, như www.mybox.local, mobile.mybox.local, api, mybox.local? Tôi có nghĩa là, tôi chỉ cần thiết lập một bản ghi DNS CNAME duy nhất ponting để mybox.local để kích hoạt ssl trên tất cả các tên miền phụ cho mybox.local? Bởi vì tôi có một thùng chứa Docker chạy Apache với một số trang web và tôi muốn sử dụng HTTPS với phương pháp mybox.local mà tôi đã sử dụng cho HTTP. – noun

+0

@noun xin lỗi, tôi không nghĩ rằng cách tiếp cận này sẽ hoạt động đối với một tên miền phụ. Trong thực tế, sau khi điều tra thêm, hầu hết các máy chủ DNS sẽ không trả về địa chỉ .local (chỉ có vẻ như hoạt động để tìm kiếm LAN, ví dụ: từ bộ định tuyến gia đình). Cuối cùng, tôi chỉ cần thêm một bản ghi A bình thường với địa chỉ IP LAN trong đó (ví dụ: 192.168.1.123) và nó hoạt động tốt. –

+0

Cảm ơn bạn, rằng những gì tôi đã nghĩ. – noun

26

Bạn có hai lựa chọn thực hiện:

  1. Đứng lên CA. của riêng bạn Bạn có thể làm điều đó với OpenSSL và có rất nhiều thông tin trên Google.

  2. Tiếp tục sử dụng chứng chỉ tự ký của bạn, nhưng thêm khóa công khai vào chứng chỉ đáng tin cậy của bạn trong trình duyệt. Nếu bạn đang ở trong một miền Active Directory, điều này có thể được thực hiện tự động với chính sách nhóm.

+6

Tùy chọn của bạn dường như theo thứ tự ngược lại, vì bạn chỉ nên bắt đầu CA của riêng mình nếu thêm thủ công không phải là một tùy chọn. (Nếu không nó có vẻ giống như sử dụng một xe ủi đất 16 tấn để có được cửa hàng tạp hóa) – Guvante

+2

Điều này có vẻ giống như cách thích hợp để làm điều đó, nhưng tôi muốn một tùy chọn mà nó không cần thiết để đánh dấu PK là đáng tin cậy trên mỗi trình duyệt, như tôi đã không kiểm soát trên tất cả các máy trạm. Tôi sẽ thêm điều này làm ghi chú cho câu hỏi. –

5

Bạn sẽ phải hỏi người có chứng chỉ điển hình về điều đó. Để dễ sử dụng, tôi có thể sử dụng FQDN, bạn có thể sử dụng tên miền phụ cho miền đã đăng ký của mình: https://mybox.example.com

Bạn cũng có thể muốn xem chứng chỉ ký tự đại diện, cung cấp chứng nhận cho (ví dụ: https://*.example.com/ - thậm chí có thể sử dụng cho lưu trữ ảo, nếu bạn cần nhiều hơn chỉ một chứng chỉ này.

Xác nhận tên miền phụ hoặc tiểu phụ của FQDN nên là doanh nghiệp tiêu chuẩn - có thể không phải cho điểm & nhấp vào những kẻ lớn tự hào cung cấp chứng chỉ chỉ trong 2 phút.

Nói tóm lại: Để làm cho các CERT tin cậy bởi một máy trạm bạn sẽ phải hoặc là

  • thay đổi cài đặt trên máy trạm (mà bạn không muốn) hoặc
  • sử dụng một bên đã tin cậy để ký chìa khóa của bạn (mà bạn đang tìm kiếm một cách xung quanh).

Đó là tất cả lựa chọn của bạn. Chọn chất độc của bạn.

4

tôi sẽ có thêm điều này như một lời nhận xét nhưng đó là một chút dài ..

Đây không phải là thực sự là một câu trả lời cho câu hỏi của bạn, nhưng trong thực tế tôi đã tìm thấy rằng nó không được khuyến khích sử dụng một .local domain - ngay cả khi nó nằm trong môi trường thử nghiệm "cục bộ" của bạn, với Máy chủ DNS của riêng bạn.

Tôi biết rằng Active Directory sử dụng tên .local theo mặc định khi DNS cài đặt của bạn, nhưng ngay cả những người ở Microsoft nói để tránh nó.

Nếu bạn có quyền kiểm soát Máy chủ DNS, bạn có thể sử dụng miền .com, .net hoặc .org - ngay cả khi chỉ ở nội bộ và riêng tư. Bằng cách này, bạn thực sự có thể mua tên miền mà bạn đang sử dụng nội bộ và sau đó mua chứng chỉ cho tên miền đó và áp dụng nó cho tên miền địa phương của bạn.

+0

Miền .local có nghĩa là nó sẽ được tra cứu bằng mDNS, vì vậy bất kỳ ai trên mạng đều có thể "đăng ký" bất kỳ miền .local nào. Đó có lẽ là lý do một số người khuyên bạn không nên sử dụng nó. – Timmmm

0

tôi nghĩ câu trả lời là KHÔNG.

ngoài đời, trình duyệt sẽ không tin tưởng chứng chỉ trừ khi chứng chỉ đó được xác minh trước bởi ai đó được lập trình trước vào trình duyệt, ví dụ: verisign, register.com.

bạn chỉ có thể nhận chứng chỉ được xác minh cho tên miền duy nhất toàn cầu.

vì vậy tôi đề nghị thay vì myapp.local bạn sử dụng myapp.local.yourcompany.com, bạn sẽ có thể nhận được chứng chỉ, miễn là bạn sở hữu yourcompany.com. nó sẽ khiến bạn phải suy nghĩ, vài trăm mỗi năm.

cũng là chứng chỉ ký tự đại diện được cảnh báo có thể chỉ giảm xuống một cấp - vì vậy bạn có thể sử dụng nó cho a.yourcompany.com và local.yourcompany.com nhưng có thể không phải là bayourcompany.com hoặc myapp.local.yourcompany.com , trừ khi bạn trả nhiều hơn.

(không ai biết, hiện nó phụ thuộc vào loại giấy chứng nhận ký tự đại diện là sub-sub-miền tin cậy bởi các trình duyệt lớn?)

Các vấn đề liên quan