sendmail을 사용하면 TLS 대화를 제한 할 수 있습니다. example.com으로 전송 된 메시지가 * .messagelabs.com 인증서가있는 서버로 전송되는지 확인하고 싶습니다. DNS 스푸핑 및 MitM으로부터 보호하고 싶습니다. Messagelab에 하나의 서버 만 있으면 쉽게 할 수 있습니다.
TLS_Rcpt:example.com VERIFY:256+CN:mx.messagelabs.com
그러나 Messagelab에는 동일한 이름의 고유 한 IP 및 인증서를 가진 다른 서버의 많은 서버와 클러스터가 있습니다. 괜찮습니다. 메일을 제공하는 서버가 messagelab에 속하는지 확인하고 싶습니다.
나는 시도했다
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
하지만 같은 오류가 발생합니다
CN mail31.messagelabs.com does not match .*.messagelabs.com
어떻게해야합니까? 이는 TLS_Rcpt : example.com VERIFY : 256 + CN : *. example.com과 같은 구성에 대한 반복 요청이므로 sendmail.cf를 수정할 준비가되었지만 이해가되지 않습니다.
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 (곧 8.15.2로 업그레이드)