|
|
Postfixの設定
|
PostfixについてPostfixのファイル構成設定ファイルmain.cfについてホスト名とドメイン名の設定受信するホスト名の設定ホスト名毎のメールの振分けメール転送設定の使い分け受信/転送に関する設定セキュリティ関連の設定"main.cf"の書式チェックPostfixのコントロール連携するアプリケーション |
Postfixのセキュリティ関連の設定以下は、 Postfix の主設定ファイル "/etc/postfix/main.cf" の設定項目です。 これらは "/etc/postfix/main.cf" の中には デフォルト の記述例がありません。 従って "/etc/postfix/main.cf" の中に追加記述する必要があります。 記述する位置は任意で構いませんが、もともと存在する設定と混同しないように工夫しておくと良いでしょう。 一般的にはこういう「新規」の設定はファイルの末尾に記述しておくのがベターです。 "smtpd_client_restrictions"〜接続要求の可否(追記)Postfix がメールの送信を受けた時に要求の可否を判定する ディレクティブ です。 明示的に記述しない場合には、Postfixは クライアント からの全ての送信要求を受け付けますから、このディレクティブは特定の条件を加えたい場合にのみ明示的に記述することになります。 このディレクティブは通常、複数のパラメータをスペースまたはタブで区切って記述します。 そしてメールの受信や中継の要求が発生するとそのメールに対して左側のパラメータから順に条件比較され、最初に一致した条件によってPostfixは受信の可否を決定します。 ここに設定できるパラメータは非常に種類が多いのですが、最低限設定しておくのが望ましい設定例を以下に示します。
一つ目の
"permit_mynetworks"
は
"$mynetworks"
つまり前述の
"mynetworks_style"
または
"mynetworks"
の値を参照して要求を許可する、という意味です
つまりこのパラメータを最初に記述することで、信頼できるネットワークに対して優先的にメールの中継許可を与えることになります。 次の "reject_unknown_client" は、逆引きの 名前解決 のできない ノード からのメールの受信を拒否する設定です。
この設定を行うだけで、かなりの割合のスパムメールの受信を拒否することができるようになります。 もちろん、この設定によって名前解決による FQDN を持たないMTAからのメールはすべて受信拒否しますから、不正なものではないけれども、 設定が不完全なMTA からのメールも一部巻き添えになるかもしれません。 とはいえ、スパムメールの脅威に比べれば、それは「些細な不都合」に過ぎないと思われます。 |
||||||||||
|
Postfixの構築に
役に立った一冊です ↓ |
最後の "permit" はすべての要求を許可するパラメータです。 つまり前の二つのパラメータに当てはまらないメールに普遍的な「OK」を出すためのパラメータとして記述するわけですが、実際には "permit" は デフォルト のパラメータなので設定は不要です。 しかし普通はデフォルトの値を解りやすくするために明示的に設定しておく習慣になっています。 "smtpd_recipient_restrictions"〜転送要求の可否(追記)Postfix がメールの中継を伴う送信要求を受けた際に、特定の制限を加えたい場合に設定する ディレクティブ です。 このディレクティブは通常、複数のパラメータをスペースまたはタブで区切って記述します。 そしてメールの受信や中継の要求が発生するとそのメールに対して左側のパラメータから順に条件比較され、最初に一致した条件によって可否が決定されます。 明示的に記述しない場合は、
が デフォルト で設定されているものとみなされます。これを平易に説明すると、 「 "mynetworks_style" あるいは "mynetworks" で有効になっているネットワークからの送信要求に対してメールの中継を許可し (permit_mynetworks) 、それ以外のネットワークからの送信要求に対してはメールの中継を許可しない (reject_unauth_destination) 。」
という動作になり、例えば"mynetworks_style"
と設定されていたとすると、 構築中のLinuxサーバー 自身と自宅内の クライアント からの送信メールはすべて外部の MTA に中継されますが、外出先などからの送信メールは外部のMTAには中継されない、ということになります。
"smtpd_recipient_restrictions "がデフォルトのときのPostfixの動作 メールは自宅でしか扱わず、メールの送信はすべて自宅内のパソコンから行う、という利用環境でしたらもちろんこの設定のままで構いませんから、明示的に"smtpd_recipient_restrictions"を記述する必要はありません。
しかし外出先からのメール送信を可能にするために、
SMTP AUTH
以下に設定例を示します。 |
||||||||||
| 実際にSMTP AUTHを構築する場合は、これとは別に "smtpd_sasl_auth_enable = yes" を記述しておく必要があります。 |
|
||||||||||
|
安全のため、このディレクティブを記述する場合には必ず"reject_unauth
_destination"またはその他指定の制限パラメータを記述しなければならなくなっており、これを忘れるとその他の記述内容に係わらずPostfixは一切の中継を行わないようになっています。偉いですね。 |
このディレクティブは、設定を間違えると構築中のサーバーが不正中継メールサーバーになってしまいますので、注意して設定してください。 "mailbox_size_limit"〜メールボックスの容量(追記)
各
ユーザーアカウント
が受信したメールは、削除されなければ
"/var/spool/mail/"
以下に、それぞれのユーザーアカウント名の一つのファイルに追加書き込みという形で保存されていきます
|
||||||||||
|
|
"mailbox_size_limit" は、その一つのユーザーアカウントあたりの保存容量の上限を設定する ディレクティブ です。 単位は バイト です。 例えばこれを大体1GBくらいに設定したいときは、
と設定してください。 デフォルト では、このディレクティブの記述はありませんが、記述がない場合は自動的に、
、つまり約 50MB が設定されます。 設定がないから無制限、というわけではありませんから気をつけてください。 "message_size_limit"〜扱い可能な一通のメールの容量(追記)通信速度の飛躍的な向上と、 ハードディスク 容量の増加に伴い、現在ではかなり大きなサイズのデータもメールでやりとりされるようになっています。 とはいえ、一般に ISP から提供されるメールアドレスでは、メールボックスのサイズはせいぜい50 MB 〜100MB程度です。 例えばあなたがそのメールアドレス宛てに、500MBの巨大なメールを送ったとしたらどうなるでしょう。 当然相手の MTA は容量オーバーで受信拒否しますから、そのメールは「受信不可」のメッセージとともに 構築中のLinuxサーバー 上のあなたのメールボックスに格納されます。 そしてあなたは自分の MUA で、その巨大な「送れなかったメール」を延々と受信しなければならなくなります。 |
||||||||||
| 送らなければならない容量が大きいときは、例えば FTPサーバー や Webサーバー 、あるいは徒歩や自転車などを利用するべきでしょう。 |
このように、メールシステムはその仕組み上、大きなデータを送るための手段としては不適当です。どんなに大きくても50MB、通常は10〜20MB程度とし、それ以上の容量のデータを送る場合は別の手段を考えるべきでしょう。 ただ、いくら気をつけていても、ファイルの容量を見間違えてうっかり大きなデータを送ってしまうことはあり得ますから、ここはMTAに取り扱い容量の制限を設けてミスに対処するべきでしょう。 例えばこれを大体20MBくらいに制限したいときは、この、 "message_size_limit" ディレクティブ で、
と設定してください。 |
||||||||||
| 設定値は、メールの送受信のためのヘッダなどが付いたときの容量になりますから、実際に送ることができる容量は、設定値よりも少し小さめになります。 |
デフォルト では、このディレクティブの記述はありませんが、記述がない場合は自動的に、
、つまり約 10MB が設定されます。 設定がないから無制限、というわけではありませんから気をつけてください。 |
||||||||||
| 郵便受けよりも大きな郵便物は受けられない、というわけですね。 |
また説明するまでもないかもしれませんが、このディレクティブは、必ず、 "mailbox_size_limit" ディレクティブの設定値よりも小さくなければなりません。 "smtpd_recipient_limit"〜扱い可能な一通のメールのコピー数(追記)MUA は普通、大勢の相手に同じ内容のメールを一度に送信する機能を持っています。 これはメールシステムの持つ大きなメリットの一つですが、逆に スパムメール の大量発信に悪用される恐れもあるといえます。 |
||||||||||
| サーバーサイドアプリケーション を利用して、多くの読者にメールマガジンなどを発信するような場合は別ですが。 |
一般的なメールの利用方法であれば、メールのコピーを配信するにしてもせいぜい30〜50通くらいが常識的なところではないでしょうか。 "smtpd_recipient_limit" は、この一度に送信するメールのコピーを上限を決める ディレクティブ です。 たとえば50通に制限したい場合は、
と設定してください。 デフォルト では、このディレクティブの記述はありませんが、記述がない場合は自動的に、
、つまり 1000通 に設定されます。 このディレクティブは、万が一 構築中のLinuxサーバー がメールの不正中継に使われたり、あるいは サブネット 内の他の ホスト機 が コンピュータウイルス に感染して、大量のウイルス付きメールを発信しようとする場合に、最低限の防御手段となります。 必ず自分の利用方法に見合ったパラメータを設定するようにしてください。 サブミッションポートの有効化
Outbound Port25 Blocking
に対応する
サブミッションポート
の設定については、その意味をきちんと理解していただく意味で別途こちら
設定は "/etc/postfix/main.cf" ではなく、 "/etc/postfix/master.cf" に対して行いますので、必要に応じて参照してください。
関連セクション・
メールサーバーの構築
|
|
|
受信/転送に関する設定
<<Previous
|
Next>>
"main.cf"の書式チェック
|
| このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。 |
| ”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |