SMTPD(8) SMTPD(8) 名前 smtpd - Postfix SMTP サーバ 書式 smtpd [generic Postfix daemon options] 解説 SMTP サーバはネットワーク接続要求を受け取り、1接続につきゼ ロまたはそれ以上の SMTP 処理を行ないます。受信したそれぞれ のメッセージは cleanup(8) デーモンにパイプで渡され、incom- ing キューに単一のキューファイルとして置かれます。この動作 モ ードでは、プログラムは master(8) プロセスマネージャから 起動されることを想定しています。 または、SMTP サーバは標準入力で接続を確立し、メッセージ を 直接 maildrop キューに置きます。この、いわゆるスタンドアロ ンモードでは、SMTP サーバはメールシステムが動いていない 時 でもメールを受けることができます。 SMTP サ ーバは接続要求や HELO や ETRN, MAIL FROM, VRFY、 RCPT TO コマンドに与えられるパラメータに対する様々なポリシ ー を実装しています。これらの詳細は下の記述や main.cf 設定 ファイルにあります。 セキュリティ SMTP サーバはある程度セキュリティに注意を払う必要があり ま す。 SMTP クライアントや DNS サーバにネットワークで話しか けます。SMTP サーバは固定された低い権限で chroot して走 ら せることができます。 標準 RFC 821 (SMTP プロトコル) RFC 1123 (ホストの要件) RFC 1652 (8bit-MIME 配送) RFC 1869 (SMTP 拡張サービス) RFC 1870 (メッセージサイズの宣言) RFC 1985 (ETRN コマンド) RFC 2554 (AUTH コマンド) RFC 2821 (SMTP プロトコル) RFC 2920 (SMTP パイプライニング) 診断 問題や処理は syslogd(8) に記録されます。 notify_classes パラメータの設定によっては、ポストマスター にバウンスやプロトコル問題、ポリシー違反やその他のトラブル が通知されます。 設定パラメータ 以 下の main.cf パラメータは特にこのプログラムに関連があり ます。文法の詳細やデフォルト値は Postfix main.cf ファイ ル を参照してください。設定の変更後は postfix reload コマンド を使ってください。 互換性制御 strict_rfc821_envelopes SMTP コマンドの非 RFC 821 形式のアドレスを認めま せ ん。例えば、 Sendmail が許可するような RFC822形式の コメント付きアドレス。 broken_sasl_auth_clients 古いバージョンの AUTH プロトコルを実装し、EHLO の応 答 に "250 AUTH list" ではなく "250 AUTH=list" を期 待している Microsoft クライアントをサポートします。 smtpd_noop_commands パラメータ文法チェックや状態変更なく NOOP (何もしな い) コマンドとして扱われるコマンドのリスト。この リ ストは組み込まれたコマンド定義を上書きします。 内容検査の制御 content_filter メ ールをフィルタリングし、メールをバウンスしたり結 果を Postfix に再投函するメール配送 transport の 名 前。このパラメータは Postfix transport テーブルの右 側部分と同じ文法を使います。 認証制御 smtpd_sasl_auth_enable RFC 2554 (SASL) に従ったセッション毎の認証を使用 可 能 にします。この機能はプログラムを構築する際に明示 的に選択し、実行時にも明示的に使用可能にした場合 に のみ使えます。 smtpd_sasl_local_domain ローカル認証 realm の名前。 smtpd_sasl_security_options 次のゼロもしくはそれ以上です。 noplaintext 平文テキストパスワードを使う認証方法を許可し ません。 noactive non-dictionary active attacks による攻撃を受 けやすい認証方法を許可しません。 nodictionary passive dictionary attack による攻撃を受けや すい認証方法を許可しません。 noanonymous 匿名ログインを許可しません。 smtpd_sender_login_maps MAIL FROM 送信者アドレスを所有する SASL ログイン 名 を 指定したマップ。 reject_sender_login_mismatch 送 信者アンチスプーフィング制限によって使われます。 その他 always_bcc システムに入ってくるそれぞれのメッセージのコピー を 送るアドレス。 authorized_verp_clients XVERP 拡張の使用権限が与えられたクライアントのホス ト名、ドメイン名および/またはアドレス。 debug_peer_level リモートホストが debug_peer_list パラメータ内のパタ ーンにマッチした時に増加させる冗長ログレベル。 debug_peer_list ド メインやネットワークのパターンのリスト。リモート リモートホストがパターンにマッチすると、冗長ログ レ ベ ルは debug_peer_level パラメータで指定された分だ け増加します。 default_verp_delimiters XVERP コマンドが明示的なデリミタなしに指定された 時 に使われる、デフォルト VERP デリミタ文字。 error_notice_recipient プロトコル/ポリシー/リソース/ソフトウェアエラー通知 の受信者。 hopcount_limit Received: メッセージヘッダの数を制限します。 notify_classes エラークラスのリスト。関連項目: policy クライアントがポリシーに違反した 場 合、SMTP セッションの写しがポストマスターにメールで送 られます。 protocol クライアントが SMTP プロトコルに違反した場合 や実装されていないコマンドを出した場合、セッ ションの写しがポストマスターにメールで送られ ます。 smtpd_banner SMTP グリーティングバナーで 220 状態コードに続ける テキスト。 smtpd_expansion_filter RBL 応答のテンプレートやその他のテキストの $name 展 開に許される文字を制御します。 smtpd_recipient_limit メッ セージ配送ごとに SMTP サーバが受け入れる受信者 の数を制限します。 smtpd_timeout サーバの応答を送ってクライアントの要求を受ける時 間 を制限します。 soft_bounce ハ ード (5xx) 拒否応答をソフト (4xx) 拒否応答に変え ます。これはテスト目的に有用かもしれません。 verp_delimiter_filter Postfix が VERP デリミタ文字として受け付ける文字。 既知、および未知の受信者 show_user_unknown_table_name "User unknown" 応答でテーブル名を晒すかどうか。余分 な 詳細はトラブルシューティングを容易にしますが、他 人に関係のない情報まで晒すことになります。 unknown_local_recipient_reject_code クライアントが指定した受信者名のドメ イ ン 部 分 が $mydestination または $inet_interfaces にマッチする が、 $local_recipient_maps が空ではなく、受信者のア ド レスやアドレスのローカル部分がリストアップされて いない場合の応答コード。 unknown_relay_recipient_reject_code クライアントが指定した受信者名のドメ イ ン 部 分 が $relay_domains に マッ チ す るが、$relay_recipi- ent_maps が空ではなく、受信者アドレスがリストアップ されていない場合の応答コード。 unknown_virtual_alias_reject_code ク ラ イ ア ン トが指定した受信者名のドメイン部分が $virtual_alias_domains にマッチするが、 受 信 者 が $virtual_alias_maps に マッチしない場合の応答コー ド。 unknown_virtual_mailbox_reject_code クライアントが指定した受信者名のドメ イ ン 部 分 が $virtual_mailbox_domains にマッチするが、受信者が $virtual_mailbox_maps にマッチしない場合の応答コ ー ド。 リソース制御 line_length_limit 部 分的な入力行を扱うのに使われるメモリの量をバイト 単位で制限します。 message_size_limit ディスクに保管するエンベロープ情報も含めたメッセ ー ジの合計サイズをバイト単位で制限します。 queue_minfree SMTP サーバがメールを受け入れるためのキューファイル システムのバイト単位の最低空き容量。 smtpd_history_flush_threshold ヒストリの行数が与えられた境界を越え た 場 合 に の み、RSET 等の後にコマンド履歴を postmaster にフラッ シュします。 タール抗(Tarpitting) smtpd_error_sleep_time 4xx または 5xx サーバエラー応答を送るまでに待つ秒単 位の時間。 smtpd_soft_error_limit SMTP クライアントがこの数のエラーを出すと、クライア ントの要求に応答するまでに error_count 秒待ちます。 smtpd_hard_error_limit ク ラ イ アントがこの数のエラーを出すと接続を切りま す。 smtpd_junk_command_limit クライアントが1回の SMTP セッションでタール抗遅延の ペ ナ ル ティ を 受 け る 前 に 発 行できる NOOP や VRFY、ETRN、RSET のようなジャンクコマンドの回数を制 限します。 UCE コントロール制限 parent_domain_matches_subdomains (.domain.tld パ タ ー ン を 必要とするのに対して) sub.domain.tld にマッチする domain.tld パターンを使 う Postfix 機能のリスト。 smtpd_client_restrictions こ のメールシステムに接続できるクライアントを制限し ます。 smtpd_helo_required SMTP セッションの始めにクライアントの自己紹介を必要 とします。 smtpd_helo_restrictions HELO や EHLO コマンドで許されるクライアントホスト名 を制限します。 smtpd_sender_restrictions MAIL FROM コマンドで許される送信者アドレスを制限 し ます。 smtpd_recipient_restrictions RCPT TO コマンドで許される受信者アドレスを制限しま す。 smtpd_etrn_restrictions ETRN コマンドで使ってもよいドメイン名や ETRN コマン ドを出すクライアントを制限します。 smtpd_data_restrictions DATA コ マ ン ド に 対 す る 制 限。 現 在、reject_unauth_pipelining だけがここで意味のある 制限です。 allow_untrusted_routing 信 頼しないクライアントによる送信者指定のルーティン グを持つアドレス指定を許可します。これを許 可 す る と、 信頼するバックアップ MX ホストを巻き込む卑劣な リレーの抜け穴を開くことになります。 smtpd_restriction_classes ゼロもしくはそれ以上の UCE 制限のリストを持つパラメ ー タを宣言します。これらのパラメータの名前はそれら が表す制限リストの代わりに使うことができます。 smtpd_null_access_lookup_key Null 送信者アドレスの代わりに SMTPD access テーブル で使われる検索キー。null 送信者アドレスは検索できま せん。 maps_rbl_domains (使用を避けてください) ブラックリストに載ったホストのアドレスを発行して い る DNS ド メインのリスト。これは使用を避けるべき reject_maps_rbl 制限とともに使われます。 permit_mx_backup_networks 挙げられたネットワークにマッチするプライマリ MX ホ ストのみが permit_mx_backup 機能に適格になります。 relay_domains こ のメールシステムがリレーしようとするドメインを制 限します。このドメインは relay_transport 設定で指定 された配送エージェントに向けられます。 UCE コントロール応答 access_map_reject_code ク ライアントが access データベース制限に違反した際 の応答コード。 default_rbl_reply 要求が RBL ブラックリストに載っていた場合のデフォル ト の 応 答 テ ン プ レ ー ト。 こ のテンプレートは reject_rbl_* および reject_rhsbl_* 制限によって使わ れます。以下も参照してください: rbl_reply_maps およ び smtpd_expansion_filter。 defer_code クライアントの要求が defer によって拒否された場合の 応答コード。 invalid_hostname_reject_code クライアントが reject_invalid_hostname 制限に違反し た場合の応答コード。 maps_rbl_reject_code 要求が RBL ブラックリストに載っていた場合の応答コー ド。 rbl_reply_maps RBL ブラックリストに掲載された要求に対する応答のテ ンプレートのテーブルで、RBL ドメイン名でインデッ ク ス化されたもの。これらのテンプレートは reject_rbl_* および reject_rhsbl_* 制限によって使われます。以 下 も 参 照 し て く だ さい: default_rbl_reply および smtpd_expansion_filter。 reject_code クライアントが reject 制限にマッチした場合の応答 コ ード。 relay_domains_reject_code ク ライアントがメールリレーポリシーに違反しようとし た場合の応答コード。 unknown_address_reject_code クライアントが reject_unknown_address 制限に違反 し た場合の応答コード。 unknown_client_reject_code ア ドレスから名前へのマッピングがないクライアントが reject_unknown_clients 制限に違反した場合の応答コー ド。 unknown_hostname_reject_code クライアントが reject_unknown_hostname 制限に違反し た場合の応答コード。 関連項目 trivial-rewrite(8) アドレス解決 cleanup(8) メッセージのカノニカル化 master(8) プロセスマネージャ syslogd(8) システムロギング ライセンス The Secure Mailer license はこのソフトウェアと一緒に配布さ れなければいけません。 作者 Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA SMTPD(8)