Uzak SMTP sunucusunun TLS sertifikası nasıl denetlenir?


63

Windows Server 2008'de çalışan bir Exchange 2007 sunucumuz var. Müşterimiz başka bir satıcının posta sunucusunu kullanıyor. Güvenlik politikaları zorunlu TLS kullanmamızı gerektiriyor. Bu yakın zamana kadar iyi çalışıyordu.

Artık, Exchange müşterinin sunucusuna posta göndermeye çalıştığında, aşağıdakileri kaydeder:

'Varsayılan harici posta' bağlayıcısındaki etki alanı güvenli 'ourclient.com' bağlantısına güvenli bağlantı kurulamadı çünkü ourclient.com için Aktarım Katmanı Güvenliği (TLS) sertifikasının doğrulanması başarısız oldu 'UntrustedRoot' durumuyla. Sorunu çözmek için ourclient.com yöneticisine başvurun veya etki alanını güvenli alan listesinden kaldırın.

Kullanıcı bilgilerimizi TLSSendDomainSecureList'ten kaldırmak, fırsatçı TLS kullanarak iletilerin başarıyla iletilmesine neden olur, ancak bu en iyi geçici bir çözümdür.

Müşteri, son derece büyük, güvenlik açısından hassas bir uluslararası şirkettir. Buradaki BT temasımız, TLS sertifikalarındaki herhangi bir değişikliğin farkında olmadığını iddia ediyor. Ondan defalarca onaylama hatasını gidermek için sertifikayı oluşturan otoriteyi tanımlamasını istedim, ancak şu ana kadar bir cevap veremedi. Bildiğim kadarıyla, müşterimiz geçerli TLS sertifikasını kurum içi bir sertifika yetkilisinden bir taneyle değiştirebilirdi.

Uzaktaki bir SMTP sunucusunun TLS sertifikasını manuel olarak denetlemenin bir yolu var mı, birisi uzak bir HTTPS sunucusunun sertifikası için bir web tarayıcısında olduğu gibi? Sertifikayı kimin verdiğini belirlemek ve bu bilgileri Exchange sunucumuzdaki güvenilir kök sertifikalar listesiyle karşılaştırmak çok yararlı olabilir.

Yanıtlar:


100

OpenSSL'yi kullanabilirsiniz. Sertifikayı kontrol etmeniz gerekirse STARTTLS, sadece

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

veya standart bir güvenli smtp portu için:

openssl s_client -connect mail.example.com:465

Güzel. OpenSSL'de benzer doğrulama hataları, ancak çok daha fazla ayrıntı. Artık sorunun posta sunucumuzla sınırlı olmadığını biliyoruz.
Skyhawk

1
@Miles: Bunu Windows'ta çalışıyorsanız openssl, Windows sertifika deposunu kullanmayı desteklemediğini unutmayın , bu nedenle doğrulama işlemi her zaman başarısız olur.
Grawity

3
Sunucu sertifikası son kullanma tarihini nasıl görebilirim?
nimrodm

9
@nimrodm: Sertifikayı "openssl x509
-text

2
@DanAndreatta @nimrodm Veya openssl x509 -noout -datesdaha kısa çıktılar için boruya bağlayın .
Skippy le Grand Gourou

9

Bunun eski bir soru olduğunu biliyorum, ancak bugün bile e-posta sunucularında SSL Sertifikasının geçerliliğini onaylamak isteyen yöneticiler için hala geçerli bir soru.

Https://www.checktls.com adresini ziyaret edip testi ücretsiz yapabilirsiniz.


Bu benim için çalıştı, komut satırından daha okunaklıydı
marijnz0r

1
Sitedeki testi bulmakta sorun yaşıyorum. Herhangi bir işaretçi var mı?
Sıfır3

1
'Internet Güvenli E-posta Kolaydır' bölümünde siyah renkli 'CheckTLS' düğmesinin bulunduğu bir giriş kutusu vardır.
Ketan Patel

@KetanPatel Aaaand ... 'İnternet Güvenli E-posta Kolay mı' bölümünü nerede bulabilirim?
Sıfır3

Utanç, bu DNS'de listelenen SMTP sunucularının etki alanını kontrol ediyor ve bunları sorgulıyor gibi görünüyor, ancak sunucuyu doğrudan kontrol etmek istedim.
kerridge0

4

OpenSSL'niz yoksa, bu Python kod parçasını da kullanabilirsiniz:

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))

sunucu [hostname].

Kaynak: https://support.google.com/a/answer/6180220

Bu, kurulumu biraz daha kolaylaştıran OpenSSL kütüphanesini sizin için çeker.


Gönderen Python ssl modülü belgelerine : "Bu modül, OpenSSL kütüphanesini kullanır." Dolayısıyla bu cevap, neler olduğu konusunda biraz yanıltıcıdır.
fbmd

@fbmd Geri bildiriminiz için teşekkür ederiz. Bu düzenleme daha mı iyi (bkz. Son cümle)?
Göz atma

Evet, bu daha iyi.
fbmd
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.