sendmail TLS_Rcptにワイルドカードを使用するにはどうすればよいですか?


9

sendmailでは、TLS会話を制限できます。example.comに送信されたメッセージが* .messagelabs.com証明書を持つサーバーに送信されていることを確認したいと思います。DNSスプーフィングとMitMから保護したい。メッセージラボに簡単なサーバーが1つしかない場合:

TLS_Rcpt:example.com VERIFY:256+CN:mx.messagelabs.com

ただし、メッセージラボには多数のサーバーと、同じ名前の一意のIPと証明書を持つ異なるサーバーのクラスターがあります。それで問題ありません。メールを送信するサーバーがメッセージラボに属していることが証明されていることを確認したいだけです。

私が試してみました

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にアップグレード)。


だから、答えは(まだ?)自分で答えようとしますが、sendmailブックの第28章を統合するのに1日ほどかかるのか、それとも答えが出るのかはわかりません。
法律29 2015年

2
私は決定的な答えを提供するのに十分な自信を持っていないが、私は、ワイルドカードは、このブログの記事の「制限現在の実装では、」セクションごとにサポートされているとは思わない:security-skywalker.blogspot.com/2013/01/...
マイクB

...そしてはい、「ワイルドカード証明書」は、探しているワイルドカードマッチングパターン機能とは異なることを認識していますが、この記事ではその機能の静的な性質を強調しています。:-)
マイクB

たぶん、あなたの答えは明確ではありませんが、それは私が見つけた最高です(何らかの理由で私はブログの記事は、私の注意にそれを持って来るためにあなたに感謝ことがわかっていなかった)
Law29

CNREタグのサポートをテストしますか?カスタム正規表現に対して$&{cn_subject}をテストします。
AnFi 2016年

回答:


1

${cn_subject}ホスト部分を取り除いたsendmail.cfストアを作成します${cn1_subject}
実装を完了するのは簡単です。

警告:news:comp.mail.sendmailテスト環境ではなく展開する前に意見を求めてください。動作する可能性はありますが、sendmailは「予期しない副作用」を回避します。sendmail-8.15.2で「ドライテスト」しました。

アクセスエントリ:

TLS_Rcpt:example.com VERIFY:256+CN1:messagelabs.com

上記のエントリをサポートするためのsendmail.mcの修正

警告:行内のRHSとLHSの間のタブ(\ t)について覚えておいてくださいR
それsendmail.mc だけでより汚い実装です。

define(`_LOCAL_TLS_RCPT_')dnl
LOCAL_RULESETS
SLocal_tls_rcpt
R$*     $: $&{cn_subject}
R$-.$+  $@ $(macro {cn1_subject}  $@ $2 $)
R$*     $@ $(macro {cn1_subject}  $@ $)    

# Ruleset continued
STLS_req
R<CN1:$&{cn1_subject}> $* $| <$+>               $@ $>"TLS_req" $1 $| <$2>
R<CN1:$+> $* $| <$-:$+> $#error $@ $4 $: $3 " CN-1 " $&{cn_subject} " does not match " $1
ROK                     $@ OK
divert(0)dnl

説明:

  1. メイクLocal_tls_rcptルールセットストア${cn_subject}「最初のドットの前に」の部分でストリップと${cn1_subject}
  2. ルールセットの${cn1_subject}「追加部分」にCN1 でトリガーされるトリガーのチェックを追加TLS_req

それをテストするためのサンプルスクリプト

#!/bin/sh
# -C sendmail-test.cf -- use non standard cf file
# -d60.5 -- trace (access) map lookus
# -d21.12 -- trace R lines rewriting 
sendmail -C sendmail-test.cf -bt -d60.5 <<END
.D{verify}OK
.D{cn_subject}mail31.messagelabs.com
.D{server_name}mail31.messagelabs.com
tls_rcpt user1@example.com
END

私はまだテストしていませんが、これを受け入れました。それは可能であるに違いないと私が信じていたものでしたが、どうすればよいかを見つけることができませんでした。
法律29 2016年

1

これは、提示された質問に対する正確な回答ではありませんが、あなたが困難な方法で物事を行っているように私には見えます。

Sendmailの構成は、ソフトウェアによる構成の解析の容易さと効率を優先する方法で記述されており、人間による構成と保守を容易にするためのものではありません。最近の数十年でそれを行う正当な理由はまったくありません。

Sendmailは、15年前の恐ろしい難解な遺物でした。一部のLinuxディストリビューションはデフォルトでそれを提供していますが、デフォルトの設定が機能する場合は問題ありませんが、数分以上かかる処理を実行したらすぐに、sendmailを破棄して最新のMTAをインストールすることをお勧めします。 。

約15年前、qmailはまだ賢明な代替品だったかもしれませんが、ほぼその間、私はpostfixの方が良い選択だと考えていました。postfix.orgサイトからのドキュメントは、必要なビットが見つかったら適切です。あなたの場合、あなたはこの問題のためにhttp://www.postfix.org/TLS_README.htmlが欲しいでしょう。

sendmailのいくつかの問題を解決するためにある程度の時間を費やした可能性が高いと思いますが、その穴に時間を費やすのではなく、できるだけ早い機会に切り替えてください。振り返ると、うんざりするでしょう。


実際、私は$ reasonsのためにsendmailを管理しているよりも長い間postfixを管理しており、今日、16個のコアsendmailサーバーを、変更がそれほど容易ではない、かなりカスタマイズされた環境に置いています。最新バージョンへのアップグレードは数分ですが、変更は別の問題です。ただし、「example.com secure match = .messagelabs.com」を含む接尾辞「smtp_tls_policy_maps」を使用しても、探しているセキュリティが提供されるように見えるのは正しいことです。そのユースケースは、実際に切り替えに必要な時間を費やす必要がある理由を私に提供するかもしれません。
法律29 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.