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ì?
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:
Khóa riêng nên đọc bị hạn chế rất nhiều. Đặt quyền 600
và sở hữu bởi root
nê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 root
và nhóm ssl-cert
và quyền 710
. Điều này có nghĩa là chỉ thành viên của ssl-cert
có 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 root
và quyền 640
.
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à root
ngườ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_certificate
chỉ xác định được trong server
cá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 handshaking
khi 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_certificate
ở http
cấp độ nginx.conf
.
Hy vọng điều này là hữu ích cho một ai đó.
nginx
nhóm. Máy chủ web sẽ có thể sử dụng chúng ngay cả khi chúng chỉ có thể đọc đượcroot
(như chúng phải vậy).