Mit sendmail können TLS-Konversationen eingeschränkt werden. Ich möchte überprüfen, ob an example.com gesendete Nachrichten an einen Server mit einem * .messagelabs.com-Zertifikat gesendet werden. Ich möchte mich vor DNS-Spoofing und MitM schützen. Wenn messagelabs nur einen Server hätte, wäre das einfach:
TLS_Rcpt:example.com VERIFY:256+CN:mx.messagelabs.com
Messagelabs verfügt jedoch über viele Server und Cluster verschiedener Server mit eindeutigen IP-Adressen und Zertifikaten für denselben Namen. Alles in Ordnung, ich möchte nur überprüfen, ob der Server, an den ich die E-Mail sende, für Messagelabs zertifiziert ist.
Ich habe versucht
TLS_Rcpt:example.com VERIFY:256+CN:messagelabs.com
TLS_Rcpt:example.com VERIFY:256+CN:*.messagelabs.com
TLS_Rcpt:example.com VERIFY:256+CN:.*.messagelabs.com
aber ich bekomme fehler wie
CN mail31.messagelabs.com does not match .*.messagelabs.com
Wie kann ich das machen? Dies ist eine wiederkehrende Anfrage für uns (hauptsächlich für Konfigurationen wie TLS_Rcpt: example.com VERIFY: 256 + CN: *. Example.com), daher wäre ich bereit, sendmail.cf zu ändern, aber ich kann keinen Sinn daraus machen
STLS_req
R $| $+ $@ OK
R<CN> $* $| <$+> $: <CN:$&{TLS_Name}> $1 $| <$2>
R<CN:$&{cn_subject}> $* $| <$+> $@ $>"TLS_req" $1 $| <$2>
R<CN:$+> $* $| <$-:$+> $#error $@ $4 $: $3 " CN " $&{cn_subject} " does not match " $1
R<CS:$&{cert_subject}> $* $| <$+> $@ $>"TLS_req" $1 $| <$2>
R<CS:$+> $* $| <$-:$+> $#error $@ $4 $: $3 " Cert Subject " $&{cert_subject} " does not match " $1
R<CI:$&{cert_issuer}> $* $| <$+> $@ $>"TLS_req" $1 $| <$2>
R<CI:$+> $* $| <$-:$+> $#error $@ $4 $: $3 " Cert Issuer " $&{cert_issuer} " does not match " $1
ROK $@ OK
Sendmail 8.14.7 (baldiges Upgrade auf 8.15.2).