0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[sendmail] メールヘッダー X-Authentication-Warning の傾向と対策

Posted at

はじめに

メールを送信していると X-Authentication-Warning というメールヘッダーが付いて、送信元(の更に元)のサーバーが外部に見えてしまうことがあります。
あまり気にしなくてもいいのですが、どうにも気になるので対策について調査してみました。

留意事項

例によって例のごとく、本件は Sendmail に限っての対策とします。Postfix 側でも同じように発生するようですが、こちらは未調査で。
大昔から変わってない機能なので、ここではバージョンを限定しません。環境によって若干の差違がある点についてはご了承ください。

また sendmail プロセスの再起動、cfファイルの作成方法(通常m4ファイルから作成する)、といった諸々の手順については明記しません。
設定ファイルについては暗黙的にm4ファイルを前提とします。それ以外のファイルは明示しますが、/etc/mail/ ディレクトリ以下に配置されることを想定します。

2つの設定

このヘッダーが付く条件が2つあります。

  • 「信頼されていない」ローカルユーザーからメール送信
  • 外部サーバーからのメールの送信(付けるのはそのメールを受けるサーバー)

この問題について調べてみると、前者のケースの回答しか見当たらなくて途方に暮れます。

信頼されたユーザー設定

この設定はデフォルトで rootdaemon あるいは uucp ユーザーからのメール送信を信頼する=X-Authentication-Warning が付かないとなっています。
この設定に無いローカルユーザー(たとえば www など)からのメールを発信する場合 X-Authentication-Warning が付くというロジックになります。重要なので二度書きました。

対応としては以下の二つになります。

Ct クラスの設定

追加したいユーザーを confTRUSTED_USERS1 マクロでユーザー名を、空白区切りでリストアップします。

confTRUSTED_USERS(`www mail')

変更後はm4ファイルからcfファイルを作成した後、sendmail にcfファイルを読み直させる必要があります。大抵のユースケースはこれで解決します。

Ft クラスの設定

追加したいユーザーを、一行一ユーザーでファイル2に追加します。そのためには下記の設定が必要になります(デフォルトで機能しない)。

FEATURE(`use_ct_file')

m4ファイルからcfファイルを作成に関しては一度だけで問題ありません。CTファイルの更新自体は sendmail のリロードを実施する必要があります。
「信頼されたユーザー」をファイルで丁寧に管理したい向けに使用しますが、デフォルトで無効になっていますので、よほど運用上の要請が無いと使用しないと思われます。

外部サーバーからのメールの送信

外部サーバー(localhost 等を含む)からの接続時の情報に基づき、PrivacyOptions 設定によるフラグ管理により X-Authentication-Warning ヘッダーの付与が判断されます。
具体的には authwarnings フラグが関係します。デフォルトで設定されていますが、OSによっては更に noexpnnovrfy が付加されていることがあります。ただし後者2つのフラグは機能上は無関係です。
この設定(フラグ)が設定されている時、メール受信時(受信または転送設定によるリダイレクト等、用途に限らず)にSMTPプロトコル HELO/EHLO で主張したホスト名、接続元IPアドレスおよびその逆引きした結果と合わせて、X-Authentication-Warning ヘッダーの付与を判断します。

対応としては以下の通りとなります。

authwarnings フラグの削除

この設定を外せば X-Authentication-Warning 付与する評価自体が行われなくなります。具体的には以下のように authwarnings を消すように記述します。

define(`confPRIVACY_FLAGS', `')

変更後はm4ファイルからcfファイルを作成した後、sendmail にcfファイルを読み直させる必要があります。

参考文献

オンラインで参照できる Sendmail の公式ドキュメントが見当たらなくてつらい。

  1. confTRUSTED_USER ではありません。似たような名前の設定ですが、全く別の機能です。

  2. confCT_FILE マクロの指定によります。デフォルトは /etc/mail/trusted-users です。またこのファイル名を /etc/mail/sendmail.ct として知られている場合があります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?