Quyền cho khóa SSL?


15

Tôi đang cố gắng thiết lập kết nối an toàn (https) trong nginx.

Nhưng tôi hơi lo lắng về các quyền của khóa riêng, không được đề cập trong bất kỳ hướng dẫn nào.

Tôi có nên thay đổi chúng? Để làm gì?

Câu trả lời:


15

Khóa riêng nên đọc bị hạn chế rất nhiều. Đặt quyền 600và sở hữu bởi rootnên hoạt động. Tuy nhiên, có các cài đặt quyền bảo mật khác - Ubuntu lưu trữ các khóa trong một thư mục có chủ sở hữu rootvà nhóm ssl-certvà quyền 710. Điều này có nghĩa là chỉ thành viên của ssl-certcó thể truy cập bất kỳ tệp nào trong thư mục đó. Khóa riêng sau đó có nhóm ssl-cert, chủ sở hữu rootvà quyền 640.


2
Tôi sẽ thêm, để cụ thể: Khi sử dụng nginx trên CentOS 7, không cần thiết phải tạo chứng chỉ hoặc khóa riêng cho những người trong nginxnhóm. Máy chủ web sẽ có thể sử dụng chúng ngay cả khi chúng chỉ có thể đọc được root(như chúng phải vậy).

3

Tôi gặp vấn đề khi thiết lập nginx và gặp phải câu hỏi này. Câu trả lời khác ở đây đã trực tiếp trả lời câu hỏi nhưng tôi nghĩ thêm một chút thông tin sẽ hữu ích.

Thông thường, nginx được bắt đầu là rootngười dùng bởi init scripts / systemd. Tuy nhiên, nginx cũng có khả năng chuyển sang một người dùng ít đặc quyền hơn cho các hoạt động bình thường. Vì vậy, câu hỏi của tôi là người dùng nào được sử dụng để tải chứng chỉ / khóa ssl? Người dùng đặc quyền ban đầu hoặc người dùng được chuyển sang?

May mắn thay, nginx sử dụng các quyền ban đầu để đọc chứng chỉ và khóa vào bộ nhớ trước khi chuyển đổi người dùng. Vì vậy, thông thường, bạn thực sự có thể để các khóa có quyền rất hạn chế khi chúng được tải bởi nginx khi nó vẫn chạy root.


Vấn đề mà tôi gặp phải đã hạ cánh tôi ở đây là tôi ssl_certificatechỉ xác định được trong servercác khối của mình nginx.conf. Tôi đã nhận được lỗi như [error] 18606#18606: *311 no "ssl_certificate" is defined in server listening on SSL port while SSL handshakingkhi tôi biết rất rõ và chìa khóa của tôi đã được đặt đúng chỗ. Vấn đề là tôi đã không có ssl_certificatehttpcấp độ nginx.conf.

Hy vọng điều này là hữu ích cho một ai đó.

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.