Tin tưởng vào chứng chỉ PEM tự ký


23
  1. Tôi đã thiết lập máy chủ proxy với SSL bằng chứng chỉ PEM. Bây giờ, có một vài máy của tôi mà tôi muốn tin tưởng chứng chỉ này tự động (không có trình duyệt web phàn nàn). Làm cách nào để cài đặt chứng chỉ PEM trên mỗi máy?

  2. Ngoài ra, điều gì được khuyến nghị hơn: tạo chứng chỉ tự ký hoặc ghép chứng chỉ rắn?

Câu trả lời:


10

Các trình duyệt có một danh sách các chứng chỉ "cơ quan chứng nhận" (CA) đáng tin cậy. Nếu chứng chỉ của máy chủ được ký bởi một trong những chứng chỉ CA đó và được tạo đúng, bạn sẽ không nhận được cảnh báo SSL.

Nhiều trình duyệt xuất xưởng với nhiều chứng chỉ CA phổ biến như Verisign, Thawte, v.v. Hầu hết các trình duyệt cho phép bạn nhập CA mới vào danh sách CA đáng tin cậy này.

Giống như tạo chứng chỉ máy chủ tự ký của riêng bạn, bạn có thể tạo chứng chỉ CA tự ký. Sau đó, bạn có thể sử dụng để ký chứng chỉ máy chủ của bạn. Nếu CA của bạn không được cung cấp bởi một công ty nổi tiếng, thì đó sẽ không phải là do bạn tạo ra, nó sẽ phải được nhập rõ ràng ở phía máy chủ.

Tôi đã từng xcalàm điều này trước đây. Nó có các mẫu cho CA và máy chủ HTTP. Thủ tục là thế này:

  • Tạo khóa riêng cho CA của bạn
  • Tạo CA tự ký bằng khóa này bằng mẫu "CA"
  • Tạo khóa riêng cho máy chủ proxy của bạn
  • Tạo một "yêu cầu ký chứng chỉ" (CSR) bằng khóa thứ hai, tham chiếu CA bạn vừa thực hiện.
  • "Ký" CSR và bạn sẽ có chứng chỉ máy chủ proxy, tham chiếu CA của riêng bạn.

Sau đó, bạn sẽ cần xuất (dưới dạng tệp nếu sử dụng xca) chứng chỉ CA (nhưng tất nhiên không bao gồm khóa riêng). A .pemsẽ được tạo nhưng bạn có thể thay đổi phần mở rộng thành .crt. Khi người dùng nhấp vào đó, nó sẽ được cung cấp để cài đặt trên Firefox và Internet Explorer và có thể các trình duyệt chính khác. Theo như cài đặt tự động của .crt này, bạn có thể:

  • sử dụng chính sách nhóm trên IE
  • hướng người dùng đến trang giới thiệu yêu cầu họ tải xuống / cài đặt .crt nếu họ muốn tránh cảnh báo.

Sau đó, bạn có thể sử dụng các chức năng xuất trên chứng chỉ máy chủ HTTP (xuất cả khóa riêng và chứng chỉ cho phía máy chủ) để đặt trên máy chủ proxy của bạn.


17
  1. Sao chép chứng chỉ của bạn /etc/ssl/certsvào hệ thống đích. Sau đó, tạo một liên kết tượng trưng bằng cách sử dụng hàm băm được tạo bởi lệnh openssl x509 -noout -hash -in ca-certificate-filethay thế ca-certificate-filebằng tên chứng chỉ của bạn. Chứng chỉ của bạn sau đó sẽ được chấp nhận bởi tất cả các chương trình mà không có cửa hàng chứng chỉ của riêng họ.

    Đối với các chương trình có kho chứng chỉ riêng (trình duyệt, Java và các chương trình khác), bạn sẽ cần nhập chứng chỉ.

  2. Tạo chứng chỉ tự ký hoặc ký của riêng bạn là tốt nhất.

    Bạn có thể muốn cài đặt tinyca2và tạo thẩm quyền chứng chỉ của riêng bạn. Bạn có thể nhập chứng chỉ ủy quyền chứng chỉ như chi tiết trong các bước trên. Tạo và triển khai các chứng chỉ đã ký cho các ứng dụng của bạn.

    Phân phối chứng chỉ CA của bạn cho những người dùng cần tin tưởng chứng chỉ của bạn. Bạn có thể cần cung cấp thông tin về cách nhập chứng chỉ cho họ. CẢNH BÁO: Nếu họ làm điều này, bạn trở thành một CA đáng tin cậy khác cho họ, vì vậy hãy bảo vệ CA của bạn theo đó.

    Nhiều công cụ cũng có thể được cấu hình để tin tưởng các chứng chỉ tự ký hoặc chứng chỉ với các CA không đáng tin cậy. Đây thường là một hành động một lần. Điều này có thể an toàn hơn khi chấp nhận chứng chỉ CA từ cơ quan không an toàn, chỉ có chứng chỉ được chấp nhận mới được tin cậy.


Điều này có thể được thực hiện cụ thể hơn? Ví dụ: máy chủ A gửi thư đến máy chủ B và phàn nàn về việc không thể xác minh danh tính của B. Trên máy chủ B, chúng tôi đã tạo chứng chỉ tự ký: /etc/ssl/certs/ssl-cert-snakeoil.pem(đây là những gì gói Debian ssl-certtạo cho bạn). Chúng tôi sao chép nó vào máy chủ A và gọi nó /etc/ssl/certs/host-B.pem(vì máy chủ này có thể đã có a ssl-cert-snakeoil.pem). Rồi chúng tôi chạy ln -s /etc/ssl/certs/host-B.pem $(openssl x509 -noout -hash -in /etc/ssl/certs/host-B.pem).
Alex Schröder

1
@ AlexSchröder tôi đã chỉnh sửa ở trên. Họ không nên nhập chứng chỉ rắn của bạn, nhưng nếu bạn đã thiết lập CA của riêng mình, việc họ nhập CA của bạn là hợp lý. Tôi chưa xác định được vấn đề tin cậy giữa các máy chủ SMTP. Hầu hết khách hàng có thể được yêu cầu tin tưởng chứng chỉ cá nhân.
BillThor

Cảm ơn. Tôi đã tìm thấy câu hỏi này khi tôi đang tìm kiếm một lời giải thích cho một mục nhật ký mà tôi nhận được. Lời giải thích tôi tìm thấy là khi A sẽ gửi thư cho B, A sẽ báo cáo rằng không thể xác minh danh tính của B.
Alex Schröder

Điều này thật đúng với gì mà tôi đã tìm kiếm! -- cảm ơn bạn! Bây giờ tôi có thể sử dụng davfs để gắn webDAV bảo mật của mình mà không gây nhiều phiền toái.
Wyatt8740

13

Trên Debian và Ubuntu, bạn phải sao chép certificate.pemtới /usr/local/share/ca-certificates/certificate.crtvà sau đó chạy dpkg-reconfigure ca-certificates. /etc/ssl/certsđược quản lý bởi lệnh đó.

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.