Điểm:0

Không thể nhận thư đến qua TLS cho Postfix SMTP Relay

lá cờ cn

Tôi có một Postfix Ubuntu VM hoạt động như một máy chủ chuyển tiếp thư, chấp nhận thư trên cổng 25 và chuyển tiếp thư đó tới Microsoft Exchange trực tuyến để gửi. Điều này đã được làm việc tốt trong nhiều tháng.

Bây giờ tôi cần cho phép ứng dụng khách SMTP, phải sử dụng TLS, cũng gửi e-mail qua chuyển tiếp. Tôi đã thêm phần sau vào Postfix main.cf của mình:

smtpd_tls_security_level = có thể
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1
smtpd_tls_chain_files =
        ${cert_path}/cert.pem,
        ${cert_path}/chain.pem

Tuy nhiên, khi tôi thử swaks với cờ --tls-on-connect, tôi nhận được thông báo "Kết nối bị từ chối" trên các cổng 465 và 587. Công cụ cổng 25 không được mã hóa cũ vẫn hoạt động. Các tệp pem được tạo bởi Let's Encrypt và các bộ phận truy cập khóa riêng hoạt động để mã hóa thư gửi đi tới Exchange trực tuyến. Tôi đã xác minh chúng với:

openssl verify -mục đích sslserver -partial_chain -CAfile /etc/letsencrypt/live/<máy chủ FQDN>/chain.pem /etc/letsencrypt/live/<máy chủ FQDN>/cert.pem

Tuy nhiên, khi tôi cố tạo kết nối TLS từ ứng dụng khách SMTP, điều này sẽ xuất hiện trong nhật ký:

Ngày 18 tháng 3 14:41:49 hermes postfix/smtpd[578652]: cảnh báo: lỗi tải chuỗi từ /etc/letsencrypt/live/<server FQDN>/cert.pem: key not first
Ngày 18 tháng 3 14:41:49 hermes postfix/smtpd[578652]: cảnh báo: lỗi khi tải khóa cá nhân và chứng chỉ từ: /etc/letsencrypt/live/<server FQDN>/cert.pem,?/etc/letsencrypt/live/< máy chủ FQDN>/chain.pem: tắt hỗ trợ TLS

Tôi cho rằng câu hỏi mà tôi đang gặp phải là cách sử dụng chứng chỉ Let's Encrypt SSL để kích hoạt TLS trên máy chủ chuyển tiếp thư của tôi.

Steffen Ullrich avatar
lá cờ se
Nó không hoàn toàn rõ ràng cho tôi những gì bạn đang cố gắng. Nhưng nếu bạn muốn kiểm tra cổng 25 bằng TLS, hãy sử dụng `--tls` chứ không phải `--tls-on-connect`.
Điểm:1
lá cờ za

Cả hai Certbot chuỗichứng chỉ các tệp không chứa khóa riêng của máy chủ. Cả hai thông báo lỗi chỉ là khiếu nại về điều đó. Chìa khóa chỉ được chứa trong khóa riêng tập tin.

Nếu bạn muốn sử dụng một tệp duy nhất có cả khóa và chứng chỉ, bạn cần nối các tệp theo cách thủ công (ví dụ: trong post-hook) và đảm bảo khóa riêng nội dung đi trước, sau đó chứng chỉ, thì chuỗi, theo thứ tự chính xác này.

Chú ý, các fullchain tập tin đã là một nối của chuỗichứng chỉ theo đúng thứ tự. Chỉ cần trỏ đến tệp chứng chỉ làm sẵn này. Ngoài ra, Postfix không cần mọi thứ nằm trong một tệp duy nhất; có tùy chọn cụ thể để trỏ đến tệp chính.

Tôi sử dụng certbot với Postfix như thế này:

smtpd_tls_cert_file = /etc/letsencrypt/live/example.org/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/example.org/privkey.pem
lá cờ ru
Tương tự ở đây, ngoài ra, bạn cần nhớ khởi động lại postfix khi các khóa được cập nhật (giả sử bạn làm điều đó tự động, điều mà tôi làm). Vì vậy, trong trường hợp của tôi, tôi có cái này trong /etc/letsencrypt/renewal/example.org.conf: ```post_hook = systemctl khởi động lại apache2 postfix dovecot ```
Nikita Kipriyanov avatar
lá cờ za
Mặc dù điều này chắc chắn đúng, nhưng câu hỏi ban đầu không phải là về chi tiết sử dụng certbot mà là về việc sử dụng các tệp do certbot tạo ra trong Postfix.
lá cờ ru
Và trong khi postfix giám sát các tệp khác (tệp trong hàng đợi, tệp ánh xạ, v.v.), nó không giám sát các tệp chứng chỉ. Đó là lý do tại sao tôi nghĩ rằng nhận xét của tôi là hợp lệ.

Đă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.