Postfixシステムは1つのプログラムではなく複数のコアプログラムから成り立っており、「バックグラウンドで動作するサーバプログラム」と「ユーザプログラムまたはシステム管理者によって呼び出されるクライアントプログラム」の組み合わせで構成されています。
Postfixは、1ダース以上の小さなプログラム(デーモンプロセス)で構成されており、それぞれがある特定の仕事のみを実行します。
・SMTPを通してのメッセージ受信
・SMTPを通してのメッセージ配送
・ローカルへのメッセージ配送
・アドレスの書き換え など
特定の要求があるサイトでは、複数のデーモンプロセスを別のものに置き換えることや、機能として使用不可にすることも簡単に設定できます。
これらのプロセスは設定された数まで生成され、設定された回数だけ再利用され、設定されたアイドル時間を経過すると消滅します。このアプローチは別々のプロセスの良い絶縁状態を提供しながらも、プロセス生成オーバーヘッドを徹底的に削減します。
クライアントプログラムはPostfixコアの外部で動作します。
それらはユーザーの「〜/ .forward」ファイルの中のメール配送指示を通して、メール送信やキューステータス情報を要求するための小さなgateプログラムを通してPostfixサーバプログラムと対話します。
Postfixの実装はC言語とPOSIXシステムAPIの安全なサブセットを使用します。
これらのサブセットは、すべてのPostfixソースコードの約50%を含む抽象化層の下に埋め込まれており、それがすべてのPostfixプログラムが構築される基盤を提供します。
・vstringプリミティブ---バッファオーバーフロー攻撃耐性
・safe openプリミティブ---POSIXファイルシステムAPIを実装するシステムに対する競合状態攻撃耐性 など
これらの抽象化層は、システムライブラリやサードパーティのライブラリのコードのように、Postfix以外のコードの攻撃に対する耐性には影響を与えません。
Postfixは安全性と堅牢性について重要視して開発されており、小さな単位に機能分割され連動して動作するため、高負荷状況であっても安定して動作するように設計されています。
Postfixのプログラムは、メッセージ数などが増加しても大きくなり続けることはなく、制御下にとどまるよう設計されています。ローカルシステムがディスクスペースやメモリを使い果たしても、問題が悪化しないように速度を低下させることで対応します。
各Postfixデーモンには1つの仕事しかなく必要最小限の権限でそれを行います。このようにすることで、1つのデーモンに問題が発生したとしても、影響はそのデーモンだけに留まり、システム全体に影響が及ぶことはありません。
Postfixデーモンに何らかの問題が発生した場合、次のサービス要求が到着したときに自動的に再起動されます。そのため、オペレーティングシステムやハードウェアが壊滅的状況に陥らない限り、Postfixは安定的に動作できます。
概念的に、Postfixは、異なったデーモンが協調動作するネットワークで構成されるパイプラインを管理します。あるプロセスから次のプロセスに対して、メッセージ配信やエラー通知の責任を引き継ぐことで、連携して動作します。
すべてのメッセージと通知の状態情報はファイルシステムに保存されます。パイプライン内のプロセスは、ほとんど集中管理なしで動作することが可能で、この相対的な自律性はエラー回復処理に関するシンプル性をもたらせます。
ファイルトランザクションまたはプロトコルトランザクションの一部を完了する前にプロセスが失敗すると、パイプラインの前のプロセスは要求を取り消して後で再試行し、パイプラインの後継プロセスは未完成の作業を破棄します。
Postfixは信頼性で妥協することなく、Webサーバの要領でプロセス生成とファイルシステムのオーバーヘッドを削減しています。Postfixのメールシステムは、並列セッションでメールを配送することによって高性能を達成します。ハードウェアまたはオペレーティングシステムの性能限界に達すると、異なるMTAインスタンスへの並列送信を必要とします。
Postfixの処理能力は、最も近い競争相手の最大3倍高速とされています。Postfixを動作させているコンピュータは1日に異なる100万のメッセージの送受信ができます。
Postfixはアドオンによる機能拡張が可能です。アドオンカテゴリとして以下のものがあります。
・認証
・Webメール
・PGP/SMIMEゲートウェイ
・ポリシーサーバ/ライブラリ
・オープンリレー/プロキシ検出
・実行/設定/キュー/ユーザー管理
・コンテンツ管理
・ウイルス/ SPAMコンテンツフィルタ
・ログファイル解析
・POP / IMAPサーバー など
→Postfix →Postfix Add-on Software
参考元サイト
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。
OSS×Cloud ACCESS RANKING