Điểm:1

Bạn cần bao nhiêu chứng chỉ SSL - lõi aspnet + proxy ngược Apache?

lá cờ cn

Khi bạn triển khai ứng dụng lõi aspnet trên Linux, bạn thường thực hiện thông qua proxy ngược. I E.Kestrel lưu trữ ứng dụng và Apache xử lý lưu lượng truy cập internet công cộng nói chuyện với Kestrel.

Vì vậy, Kestrel và Apache yêu cầu chứng chỉ SSL cho https.

Ngoài ra còn có Máy chủ nhận dạng 4 tính năng được sử dụng trong ứng dụng cũng yêu cầu chứng chỉ.

Tôi đã sử dụng chứng chỉ tự ký cho Kestrel và Máy chủ nhận dạng trước đây. Nhưng bây giờ tôi đang nghĩ - nó có đúng không?

Câu hỏi - nó có an toàn hơn không để sử dụng 3 chứng chỉ khác nhau hay tôi chỉ có thể sử dụng một chứng chỉ CA cho cả 3?

lá cờ br
Bạn có thể muốn sửa đổi thuật ngữ ở đây. Bạn chắc chắn có thể sử dụng một chứng chỉ CA cho cả ba, nhưng đó có phải là điều bạn thực sự muốn nói không? Bạn có nghĩa là một chứng chỉ thực thể cuối cho cả ba?
Boppity Bop avatar
lá cờ cn
Ý tôi là - tôi có thể sử dụng lại cùng một chứng chỉ không (đã đọc - tập hợp các tệp tôi đã nhận được từ CA - bất kể chi tiết kỹ thuật, đó là - các tệp crt và ca-bundle cộng với khóa tôi đã sử dụng để tạo các tệp đó).. Tái bút nếu tôi biết tất cả cơ hội là thuật ngữ - Tôi sẽ không hỏi bất kỳ câu hỏi ngớ ngẩn nào :)
Điểm:1
lá cờ br

Tôi e rằng không có câu trả lời có/không đơn giản cho câu hỏi này.

Nếu Kestrel và Apache đang chạy trên cùng một hộp, thì bạn đang sử dụng chứng chỉ một cách hiệu quả chỉ vì Kestrel mong đợi một chứng chỉ. Nó không cung cấp bảo mật và Nó có an toàn hơn không? câu hỏi không được áp dụng.

Nếu Kestrel và Apache ở trên các hộp khác nhau thì nó phức tạp hơn một chút. Nếu hai hộp nằm trên một mạng đáng tin cậy, bạn có thể lập luận tương tự như trên - chứng chỉ chỉ có ở đó vì Kestrel mong đợi một hộp.

Nếu mạng không đáng tin cậy, bây giờ bạn sẽ cần một số biện pháp bảo mật. Chứng chỉ cung cấp danh tính máy cần thiết để kích hoạt kết nối TLS. Cho dù bạn sử dụng chứng chỉ tự ký hay chứng chỉ do CA ký thì điều này sẽ thêm nhiều lựa chọn hơn.

  • Nếu ứng dụng Kestrel đang sử dụng FQDN nội bộ (ví dụ: ứng dụng.local) và CA không muốn chứng thực những tên như vậy (ví dụ: CA thương mại sẽ không làm điều này) thì bạn buộc phải sử dụng chứng chỉ tự ký.
  • Nếu CA là nội bộ và sẵn sàng chứng nhận tên địa phương, thì bạn có thể cân nhắc sử dụng CA cho chứng chỉ Kestrel.

Vì vậy, giả sử bây giờ bạn có thể sử dụng chứng chỉ CA cho Kestrel, tiếp theo bạn cần tự hỏi tại sao bạn cần phải làm như vậy:

  • Chứng chỉ có chữ ký của CA thường trở nên đáng giá trong trường hợp một-nhiều. Nếu bạn có một máy chủ và nhiều bên phụ thuộc (máy khách) thì chứng chỉ do CA cấp sẽ đảm bảo:

    • các bên phụ thuộc chỉ cần tin tưởng CA và mọi chứng chỉ được cấp đều được tin cậy hoàn toàn (chứng chỉ tự ký cần được tất cả khách hàng tin cậy);
    • các bên phụ thuộc không cần xem xét quy trình quản trị và vận hành của từng máy chủ mà họ muốn tin tưởng vì họ có thể cho rằng nếu CA đã chứng nhận thì nó đáng tin cậy;
    • mọi thứ hoạt động sau khi gia hạn chứng chỉ (so với chứng chỉ tự ký, sẽ cần được phân phối cho tất cả các khách hàng sau khi gia hạn);
    • việc thu hồi hoạt động (không có khái niệm thu hồi chứng chỉ tự ký - nếu chứng chỉ máy chủ bị xâm phạm, bạn phải xóa chứng chỉ khỏi tất cả các khách hàng);
  • Tuy nhiên, nếu bạn đang ở trong tình huống một đối một (chẳng hạn như giữa proxy ngược và máy chủ ứng dụng) thì CA mang lại ít lợi ích hơn (quyết định tin cậy dễ dàng hơn, gia hạn dễ dàng và nếu máy chủ bị xâm phạm, bạn chỉ cần xóa chứng chỉ từ một khách hàng). Trên thực tế, nếu bạn không có sẵn một CA, thì chi phí xây dựng và quản lý một CA chỉ dành cho kết nối giữa máy chủ ứng dụng và proxy ngược lại quá lớn nên không đáng.

Về sau, nhược điểm duy nhất của việc sử dụng chứng chỉ tự ký có thể là thiếu quản lý trung tâm. Nhiều CA trợ giúp quản lý vòng đời của chứng chỉ đã cấp, ngay cả khi đó chỉ đơn giản là một email tự động để nhắc bạn rằng chứng chỉ sắp hết hạn hoặc phức tạp như gia hạn tự động. Chứng chỉ tự ký do bạn quản lý. Để giúp giảm thiểu điều này, một số tổ chức sử dụng các công cụ quản lý vòng đời chứng chỉ để quản lý chứng chỉ của họ và nếu công cụ này cũng có thể giám sát chứng chỉ tự ký, thì điều đó sẽ giải quyết được vấn đề đó.

Vì vậy, tóm lại, nếu CA của bạn cung cấp dịch vụ quản lý vòng đời bổ sung giúp bạn quản lý chứng chỉ thì có thể đáng xem xét; nhưng nếu không, trong tình huống một đối một, chẳng hạn như giữa máy chủ ứng dụng và proxy ngược, điều đó không thực sự tạo ra sự khác biệt cho dù bạn sử dụng chứng chỉ tự ký hay chứng chỉ do CA ký.

Nếu bạn đi theo lộ trình chứng chỉ do CA cấp cho máy chủ ứng dụng, bạn có nhiều quyết định hơn:

  • Nếu ứng dụng và proxy ngược nằm trên cùng một hộp, bạn có thể cân nhắc sử dụng một chứng chỉ giữa chúng một cách an toàn - bạn sẽ không gặp phải tình huống một dịch vụ bị xâm phạm trong khi dịch vụ kia vẫn được tin cậy. Bạn sẽ (nên) cho rằng tất cả các chứng chỉ trên một hộp đều bị xâm phạm nếu có, vì vậy nhìn chung không có lợi ích thực sự nào trong các chứng chỉ riêng biệt.

  • Nếu các ứng dụng nằm trên các hộp khác nhau thì bạn có thể rơi vào tình huống một cái bị xâm phạm trong khi cái kia thì không. Để chuẩn bị cho những trường hợp như vậy, bạn nên có một chứng chỉ khác nhau trên mỗi hộp.


Lưu ý rằng trong khi phần trên thảo luận về giao tiếp giữa máy chủ ứng dụng và proxy ngược, bạn có thể thử lập luận tương tự với Máy chủ nhận dạng 4 (bất kể đó có thể là gì).

Boppity Bop avatar
lá cờ cn
Wow đó là một lời giải thích chi tiết cảm ơn bạn!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.