Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2.7.5. Postfix の変更点

Red Hat Enterprise Linux 7 では、postfix はバージョン 2.6 からバージョン 2.10 にアップグレードされます。Red Hat Enterprise Linux 6 から 7 にアップグレードするときに、主要な互換性の問題は Preupgrade Assistant によって処理されますが、ユーザーは以下の致命的でない互換性の問題に注意する必要があります。

  • pass マスターサービスでの問題を回避するために、postscreen デーモンを使用する前に postfix stop コマンドと postfix start コマンドを実行する必要があります。
  • システムにより提供されるデフォルトの CA 証明書は、*_tls_CAfile または *_tls_CApath リストに追加されなくなりました。つまり、permit_tls_all_clientcerts が使用された場合、サードパーティー製の証明書はメールリレーパーミッションを受け取りません。設定に証明書の検証が必要である場合は、tls_append_default_CA = yes を設定することにより、後方互換性の動作を有効にします。
  • verify サービスは、デフォルトで定期クリーンアップが有効な状態で永続キャッシュを使用するようになりました。削除操作とシーケンス操作のサポートが必要です。このキャッシュを無効にするには、address_verify_map で空の main.cf パラメーターを指定します。定期クリーンアップを無効にするには、address_verify_cache_cleanup_interval0 に設定します。
  • 以前は、フィルターの次ホップ宛先が指定されていない場合に、デフォルトの次ホップ宛先が $myhostname の値でした。このデフォルト値は受信者ドメインになりました。デフォルトの次ホップ宛先を変更するには、default_filter_nexthop = $myhostname を指定します。パイプベースのフィルターでは、これにより、ラウンドロビンドメインが選択されずに FIFO 配信順序も有効になります。
  • postmulti -e destroy コマンドを実行した場合に、postmulti -e create コマンドの実行後に作成されたファイルの削除が試行されなくなりました。
  • Postfix は、Milter の smfi_addrcpt アクションで受信者を追加したときにデフォルトの配信ステータス通知を要求するようになりました。
  • 仮想エイリアスの拡張の結果が仮想エイリアスの再帰または拡張の制限を超過したときに、Postfix は、余分な受信者を警告なしで破棄し、メッセージを配信する代わりに一時配信エラーを報告するようになりました。
  • ローカル配信エージェントが、owner-alias を持たない子エイリアスにメールを配信するときに親エイリアスの owner-alias 属性を保持するようになりました。これにより、メーリングリストへの重複配信の可能性が少なくなります。古い動作を有効にするには、reset_owner_alias = yes を指定します。
  • Postfix SMTP クライアントは、"." なしで DNS 名をルックアップするときにローカルドメインを追加しなくなりました。古い動作を有効にするには、smtp_dns_resolver_options = res_defnames を指定します。これにより、予期しない結果がもたらされることがあることに注意してください。
  • postfix/smtpd[pid]: queueid: client=host[addr] ログファイルレコードの形式が変更されました。可能な場合は、レコードの最後に before-filter クライアント情報と before-filter キュー ID が追加されるようになりました。
  • デフォルトでは、postfix は受信者が指定されていないメッセージに未公開の受信者ヘッダーを追加するようになりました。古い動作を有効にするには、mail.cf で以下の内容を指定します。

    undisclosed_recipients_header = To: undisclosed-recipients:;
  • SASL メカニズムリストは、STARTTLS が正常に完了したあとに常に再計算されるようになりました。
  • smtpd_starttls_timeout のデフォルト値は、ストレス依存になりました。
  • ドメイン名にシークレット部分がある DNSBL クエリーで、postscreen SMTP 返信からそのシークレット部分を隠すことが必要になりました。たとえば、main.cf で、以下のように指定します。

    postscreen_dnsbl_reply_map = texthash:/etc/postfix/dnsbl_reply

    dnsbl_reply で、以下のように個別の DNSBL 名を指定します。

    # Secret DNSBL name    Name in postscreen(8) replies
    secret.zen.spamhaus.org  zen.spamhaus.org
  • VSTREAM エラーが読み取りおよび書き込みエラーに別のフラグを使用するようになったため、postfix VSTREAMs を使用するすべてのプログラムは再コンパイルする必要があります。
  • smtp_line_length_limit のデフォルト値は、SMTP の標準値に合わせて 999 になりました。
  • Sendmail は、<CR><LF> で終わるすべての入力行を UNIX 形式 (<LF>) に変換するようになりました。
  • デフォルトでは、SMTP クライアントは AUTH=<>MAIL FROM コマンドに追加しなくなりました。
  • fatal と以前に分類された一部のログメッセージは、error と分類されるようになりました。それに応じて、ログファイルベースのアラートシステムを更新する必要がある場合があります。古い動作を有効にするには、daemon_table_open_error_is_fatalyes に設定します。
  • 新しくサポートされた長いキューファイル名は、Postfix 2.9 より前のバージョンではサポートされていません。Postfix 2.8 またはそれ以前のバージョンに移行するには、長いキューファイル名のすべてを変換する必要があります。この場合は、postfix を停止し、enable_long_queue_idsno に設定して、キューファイル名の変更をエクスポートしなくなるまで postsuper コマンドを実行します。
  • Postfix は、TLS ロギングレベルが 0 の場合に正常な TLS ネゴシエーションの結果をログに記録するようになりました。ログレベルの詳細については、postconf の man ページを参照してください。
  • postfix SMTP サーバーは、常に smtpd_sender_login_maps テーブルをチェックします。
  • デフォルトの inet_protocols 値は all (IPv4 と IPv6 の両方を使用) になりました。グローバルな IPv6 接続がないサイトで予期しないパフォーマンスの損失を回避するために、make upgrade コマンドと postfix upgrade-configuration コマンドは、明示的な設定が存在しない場合に inet_protocols = ipv4main.cf に追加します。
  • デフォルトの smtp_address_preference 値は、any (IPv4 または IPv6 をランダムに選択) になりました。
  • SMTP サーバーは、ルックアップテーブルが利用可能でないためクライアントのコマンドが拒否されたセッションの内容を報告しなくなりました。このようなレポートを引き続き受け取るには、data クラスを notify_classes パラメーターの値に追加します。
  • 新しい smtpd_relay_restrictions パラメーターが追加されました。デフォルトでは、これにより permit_mynetworkspermit_sasl_authenticated、および defer_unauth_destination が有効になります。また、smtpd_recipient_restrictions のスパムフィルタールールの間違いにより発生するオープンリレーの問題が回避されます。ただし、smtpd_recipient_restrictions 下で複雑なメールリレーポリシーが設定されているサイトの場合は、一部のメールが間違って遅延されることがあります。この問題を修正するには、smtpd_relay_restrictions 設定を削除するか、smtpd_recipient_restrictions の既存のポリシーを使用するか、既存のポリシーを smtpd_recipient_restrictions から smtpd_relay_restrictions にコピーします。