Làm cách nào để kiểm tra chứng chỉ TLS của máy chủ SMTP từ xa?


63

Chúng tôi có máy chủ Exchange 2007 chạy trên Windows Server 2008. Khách hàng của chúng tôi sử dụng máy chủ thư của nhà cung cấp khác. Chính sách bảo mật của họ yêu cầu chúng tôi sử dụng TLS có hiệu lực. Điều này đã làm việc tốt cho đến gần đây.

Bây giờ, khi Exchange cố gắng gửi thư đến máy chủ của khách hàng, nó sẽ ghi lại như sau:

Không thể thiết lập kết nối an toàn đến miền được bảo mật tên miền 'ourclient.com' trên trình kết nối 'Thư bên ngoài mặc định' vì việc xác thực chứng chỉ Bảo mật lớp vận chuyển (TLS) cho ourclient.com không thành công với trạng thái 'UntrustyRoot. Liên hệ với quản trị viên của ourclient.com để giải quyết vấn đề hoặc xóa tên miền khỏi danh sách được bảo mật tên miền.

Việc xóa ourclient.com khỏi TLSSendDomainSecureList khiến các tin nhắn được gửi thành công bằng cách sử dụng TLS cơ hội, nhưng đây là cách giải quyết tạm thời tốt nhất.

Khách hàng là một tập đoàn quốc tế cực kỳ nhạy cảm, bảo mật. Liên hệ CNTT của chúng tôi ở đó tuyên bố không biết về bất kỳ thay đổi nào đối với chứng chỉ TLS của họ. Tôi đã yêu cầu anh ta nhiều lần để vui lòng xác định thẩm quyền đã tạo chứng chỉ để tôi có thể khắc phục lỗi xác thực, nhưng cho đến nay anh ta không thể đưa ra câu trả lời. Đối với tất cả những gì tôi biết, khách hàng của chúng tôi có thể đã thay thế chứng chỉ TLS hợp lệ của họ bằng chứng chỉ từ cơ quan cấp chứng chỉ nội bộ.

Có ai biết cách kiểm tra thủ công chứng chỉ TLS của máy chủ SMTP từ xa không, như người ta có thể làm chứng chỉ cho máy chủ HTTPS từ xa trong trình duyệt web không? Có thể rất hữu ích để xác định ai đã cấp chứng chỉ và so sánh thông tin đó với danh sách chứng chỉ gốc đáng tin cậy trên máy chủ Exchange của chúng tôi.

Câu trả lời:


100

Bạn có thể sử dụng OpenSSL. Nếu bạn phải kiểm tra chứng chỉ với STARTTLS, thì hãy làm

openssl s_client -connect mail.example.com:25 -starttls smtp

hoặc cho một cổng smtp an toàn tiêu chuẩn:

openssl s_client -connect mail.example.com:465

Đẹp. Lỗi xác nhận tương tự trong OpenSSL, nhưng chi tiết hơn rất nhiều. Bây giờ chúng tôi biết rằng vấn đề không giới hạn ở máy chủ thư của chúng tôi.
Skyhawk

1
@Miles: Nếu bạn đang thử điều này trên Windows, đừng quên rằng opensslkhông hỗ trợ sử dụng kho chứng chỉ Windows, vì vậy nó sẽ luôn bị lỗi khi xác thực.
grawity

3
Làm thế nào tôi có thể xem ngày hết hạn chứng chỉ máy chủ?
nimrodm

9
@nimrodm: chuyển chứng chỉ sang "openssl x509 -text"
Dan Andreatta

2
@DanAndreatta @nimrodm Hoặc chuyển nó sang openssl x509 -noout -datesđầu ra ngắn hơn.
Skippy le Grand Gourou

9

Tôi biết đây là một câu hỏi cũ, nhưng vẫn là một câu hỏi có liên quan ngay cả ngày nay cho các quản trị viên muốn xác nhận tính hợp lệ của Chứng chỉ SSL trên các máy chủ email của họ.

Bạn có thể truy cập https://www.checktls.com và chạy thử nghiệm miễn phí.


Điều này làm việc cho tôi, dễ đọc hơn dòng lệnh
marijnz0r

1
Tôi gặp khó khăn khi tìm bài kiểm tra trên trang web. Bất kỳ con trỏ?
Zero3

1
Có một hộp đầu vào trong phần 'Email bảo mật Internet dễ dàng' với nút 'CheckTLS' có màu đen.
Ketan Patel

@KetanPatel Aaaand ... Tôi tìm thấy phần 'Email bảo mật Internet ở đâu dễ dàng'?
Zero3

Thật xấu hổ, điều này dường như kiểm tra tên miền cho các máy chủ SMTP được liệt kê trong DNS và truy vấn chúng, nhưng tôi muốn kiểm tra trực tiếp máy chủ.
kerridge0

4

Nếu bạn không có OpenSSL, bạn cũng có thể sử dụng đoạn mã Python này:

import smtplib
import ssl

connection = smtplib.SMTP() 
connection.connect('[hostname].')
connection.starttls()
print ssl.DER_cert_to_PEM_cert(connection.sock.getpeercert(binary_form=True))

trong đó [tên máy chủ] là máy chủ.

Nguồn: https://support.google.com/a/a/6180220

Điều này kéo thư viện OpenSSL cho bạn, giúp việc cài đặt dễ dàng hơn một chút.


Từ tài liệu mô-đun ssl Python : "Mô-đun này sử dụng thư viện OpenSSL." Vì vậy, câu trả lời này là một chút sai lệch về những gì đang xảy ra.
fbmd

@fbmd Cảm ơn bạn đã phản hồi. Là chỉnh sửa này tốt hơn (xem câu cuối cùng)?
mạnh mẽ

Vâng cái đấy tốt hơn.
fbmd
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.