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 テーブルの右 側部分と同じ文法を使います。 認証制御 enable_sasl_authentication 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)