Cách khắc phục Firefox 59 không còn chấp nhận chứng chỉ SSL tự ký của tôi trên .dev virtualhost


20

Trên môi trường Apache cục bộ của tôi, tôi có một trang web yêu cầu SSL để phát triển, vì vậy tôi đã sử dụng chứng chỉ tự ký. Trang web cục bộ đã hoạt động tốt trong Firefox và Chrome cho đến bây giờ, nhưng sau khi cập nhật Firefox lên phiên bản 59 ngày hôm nay, tôi không thể chấp nhận ngoại lệ bảo mật (trên Chrome, chứng chỉ tự ký vẫn tiếp tục hoạt động).

Firefox cung cấp cho tôi thông tin bổ sung này trong trang bị chặn:

... sử dụng chứng chỉ bảo mật không hợp lệ. Giấy chứng nhận không đáng tin cậy vì nó là tự ký. Mã lỗi: SEC_ERROR_UNKNOWN_ISSUER

Không có tùy chọn nào cho phép ngoại lệ ở đây như trước đây, nhưng tôi đã đi đến Tùy chọn Firefox theo Chứng chỉ, sau đó trong tab "Máy chủ" tôi đã thêm một ngoại lệ cho tên miền cục bộ. Chứng chỉ sau đó được liệt kê trong tên máy chủ cục bộ chính xác, chi tiết hiển thị cài đặt chứng chỉ của tôi về Phát hành bởi và Được phát hành giống nhau, với khoảng thời gian hợp lệ.

Bất cứ ai gặp vấn đề tương tự với FF 59 hoặc có thể có manh mối gì để cố gắng để chứng chỉ tự ký hoạt động trở lại cục bộ?


Chỉnh sửa: Tôi không thấy bất kỳ đề cập nào về điều này trong ghi chú phát hành FF 59 nhưng có gì đó trong phiên bản mới khiến tất cả các máy chủ ảo cục bộ của tôi trên các tên miền * .dev tự động cố gắng thiết lập kết nối https (nghĩa là tất cả http yêu cầu * .dev tự động được gửi tới URL https). Có lẽ điều gì đó về hành vi này cũng là nguyên nhân gây ra những vấn đề này cho các máy chủ ảo https thực tế của tôi.


1
Tôi đoán là bây giờ bạn cần một CA cho chứng chỉ tự ký vì Firefox đã dần dần thắt chặt các yêu cầu trong vài lần phát hành gần đây. Tuy nhiên, với Let Encrypt, không còn lý do nào để sử dụng chứng chỉ tự ký nữa.
Simon Greenwood

Tôi không muốn đoán nhưng tôi nghĩ @SimonGreenwood đã đúng. Nhưng thông thường Firefox chỉ đặt các tùy chọn mới làm mặc định và cho phép bạn chỉnh sửa cài đặt. Kiểm tra cài đặt quyền riêng tư của bạn.

@Broco Nếu có bất cứ điều gì trong cài đặt bảo mật, không phải cài đặt quyền riêng tư. Như đã nêu ở trên, tôi thậm chí đã thêm một Ngoại lệ bảo mật, nhưng Firefox vẫn khăng khăng không thể xác thực chứng chỉ, vì rõ ràng nhà phát hành không rõ.
kontur

@kontur đối với tôi liên kết là về: sở thích # quyền riêng tư để đặt cả cài đặt bảo mật và quyền riêng tư, đó là lý do tại sao tôi nói quyền riêng tư. Xem xét việc đăng nó như là một lỗi.

1
@SimonGreenwood Có nhiều lý do để không sử dụng hãy mã hóa trên kết nối cục bộ. Một người sẽ không muốn thiết lập hãy encrpyt.
Jon

Câu trả lời:


15

Tôi vẫn chưa hoàn toàn rõ ràng về việc làm thế nào tất cả khớp chính xác với nhau, nhưng như đã chỉ ra trong các câu trả lời .dev này hiện là các TLD chính thức. Như vậy, có vẻ như các trình duyệt buộc một số loại hành vi HSTS và buộc các kết nối https. Đối với những TLD đó, có vẻ như chứng chỉ tự ký của tôi không còn được chấp nhận trong Firefox. Thay đổi máy chủ ảo của tôi để sử dụng đã .testgiải quyết vấn đề mà không phải thay đổi bất cứ điều gì trong chứng chỉ tự ký của tôi cả.

Điều đáng chú ý là trong Firefox cũng có các máy chủ ảo không phải SSL của tôi đã hoạt động kể từ phiên bản 59 ngày hôm nay, vì hành vi HSTS dường như buộc SSL trên các máy chủ ảo mà tôi chưa thiết lập là phục vụ qua SSL. Trên Chrome, điều này vẫn được sử dụng để hoạt động, nhưng bằng cách nào đó, an toàn khi nói rằng việc di chuyển khỏi .devTLD hiện đang được sử dụng chính thức sẽ giải quyết được nhiều vấn đề đau đầu.


1
Có, .devlà một TLD hợp lệ vì đôi khi KHÔNG nên sử dụng nó để đặt tên cho tài nguyên nội bộ của bạn. Tương tự cho bất kỳ tên nào khác: không sử dụng bất kỳ tên nào mà bạn nghĩ sẽ không có ai khác sử dụng. Sử dụng tên thử nghiệm được tham chiếu trong RFC2606 hoặc chỉ đăng ký một tên miền thực ở bất cứ đâu và sử dụng tên miền phụ như int.example.comhoặc dev.example.comđể hậu tố tất cả các tên nội bộ của bạn. Sau đó, bạn sẽ không bao giờ có va chạm hoặc gặp sự cố (miễn là bạn nhớ gia hạn tên miền mỗi năm!)
Patrick Mevzek 15/03/18


1
Cảm ơn các liên kết. Các mốc thời gian được đề cập ở đó không hoàn toàn xếp hàng, nhưng có lẽ tác giả đã nói về các bản xem trước phát triển hoặc tương tự. Với những gì tôi biết bây giờ thực sự rất khó để hiểu tại sao các nhà cung cấp trình duyệt sẽ không thêm một số thông tin gỡ lỗi bổ sung, đặc biệt là liên quan đến lỗi SSL trên .devcác tên miền. Trừ khi bạn biết đó là TLD, không có cơ hội bạn sẽ suy ra đây là vấn đề.
kontur 15/03/18

12

Có một cách dễ dàng xung quanh này.

  1. Đi đến about:config
  2. Tìm kiếm "network.stricttransportsecurity.preloadlist".
  3. Đặt nó thành false.

CẢNH BÁO: Điều này sẽ vô hiệu hóa hoàn toàn HSTS . Hãy xem các ý kiến ​​về câu trả lời này cho một số thảo luận về nhược điểm của phương pháp này. Cá nhân tôi nghĩ rằng lợi ích lớn hơn rủi ro, nhưng bạn phải chịu trách nhiệm cho sự an toàn của chính bạn.

nhập mô tả hình ảnh ở đây


4
Đây là một ý tưởng rất tồi vì cài đặt này sẽ áp dụng cho tất cả các trang web bạn truy cập không chỉ của riêng bạn. Bạn đang hạ thấp bảo mật của bạn.
Patrick Mevzek

Tôi không đồng ý. HSTS tương đối mới. Chúng tôi đã ổn nếu không có nó trong 20 năm qua, vì vậy nói rằng việc vô hiệu hóa nó là rất tệ cho bảo mật là quá đáng. Thứ hai, ngay cả khi đó là một ý tưởng tồi, thực sự không có lựa chọn nào khác nếu tôi muốn các máy chủ phát triển của mình tiếp tục hoạt động, điều đó không liên quan đến những thay đổi thực sự lâu dài đối với môi trường phát triển của tôi.
Andy Mercer

1
Một giải pháp như thế này: security.stackexchange.com/a/154176 ít nhất chỉ tác động đến một trang web, không phải tất cả chúng.
Patrick Mevzek

1
Theo như tôi biết thì điều này sẽ có âm thanh, khi bạn già đi, bạn sẽ nhận ra rằng những thứ như "thực hành tốt nhất" và "sai" là linh hoạt và thay đổi theo thời gian. Những gì mọi người cho là "sai" ngay bây giờ, đã không bị coi là sai trong nhiều năm và có thể không trở lại trong tương lai. Đối với cuộc thảo luận cụ thể này, chúng ta sẽ phải đồng ý không đồng ý.
Andy Mercer

1
Cảm ơn vì sửa lỗi này, hoạt động rất tốt cho tôi trong Firefox 59.0.1 (và Firefox Dev Edition 60). Các .devdự án hiện tại của chúng tôi cuối cùng sẽ được chuyển sang một hậu tố TLD khác, nhưng bây giờ điều này giúp không ngăn cản sự phát triển của địa phương.
Jake Bathman

4

Thiết security.enterprise_roots.enabledđể truevào about:configtrang giải quyết này cho tôi và cho phép chứng chỉ tự ký của tôi để làm việc trong phát triển.

Có một chút thảo luận xung quanh giá trị của việc này được bật theo mặc định tại đây:
Đặt security.enterprise_roots.en bật thành đúng theo mặc định .

Mặc dù mục đích của cờ này là cho phép Firefox sử dụng kho lưu trữ gốc CA toàn máy làm nguồn hợp lệ cho các cơ quan cấp chứng chỉ, nhưng điều này đã khắc phục tình huống sử dụng của riêng tôi khi tôi có chứng chỉ đa miền tự ký mà tôi sử dụng tại địa phương để thử nghiệm (topicAltName's) . Ngay cả sau khi tôi đã thêm chứng chỉ vào danh sách chứng chỉ Firefox, phải đến khi tôi bật cái này lên thì nó mới cho phép trang web cục bộ tải.


Cảm ơn, nó đã làm việc!
informatik01

0

Có vấn đề tương tự trên Trình duyệt web basilisk . Tôi đã cố gắng thay đổi cài đặt Proxy mạng hoặc sửa đổi cờ "network.stricttransportsecurity.preloadlist" hoặc "security.enterprise_roots.enabled" ... nhưng nó không giải quyết được nút thiếu để thêm chứng chỉ cho trang web bị chặn. Chỉ điều này làm cho nó thông qua:

  1. Tới about:support.
  2. Nhấp vào Open Directoryhồ sơ Trình duyệt của bạn.
  3. Đóng trình duyệt hoàn toàn.
  4. Chỉnh sửa tệp " SiteSecurityServiceState.txt " trong thư mục trên.
  5. Tìm và xóa toàn bộ dòng chứa trang web HSTS bị chặn.
  6. Lưu tệp và mở lại Trình duyệt của bạn trên trang web đó.

-3

Tôi đã đi cho "Hãy mã hóa"

https://letsencrypt.org/

Chỉ có hiệu lực trong 3 tháng tại một thời điểm, nhưng việc làm mới có thể được tự động hóa.

Như bạn có thể thấy trong các nhận xét, có một lưu ý. Các miền phát triển và thử nghiệm của chúng tôi được gọi là dev-www.example.com và test-www.example.com. Chúng tôi sử dụng chứng chỉ ký tự đại diện từ sản xuất.


5
Không mã hóa Hãy dựa vào máy chủ và tên miền có sẵn công khai? Tôi đang tìm kiếm các tùy chọn để sử dụng SSL trên các máy chủ ảo cục bộ.
kontur

Vâng, điều đó không làm việc cho những người đang phát triển địa phương.
Andy Mercer

câu hỏi là về ĐỊA PHƯƠNG DEV

@Pieter có giống như "phát triển địa phương" không? Bởi vì đó là những gì chúng tôi làm.
Gerard H. Pille

1
@ GerardH.Pille Bạn chỉ có thể tạo Chứng chỉ mã hóa cho phép nếu máy chủ có thể truy cập được từ internet. Đối với sự phát triển địa phương của tôi, đây không phải là trường hợp, vì vậy nó không khả thi. Xin tư vấn nếu có gì tôi đang thiếu.
kontur
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.