メールサーバー · 1 min read · Sep 09, 2025

仮想ドメインとユーザーを使用した完全なメールサーバーソリューション (Debian Etch, Postfix, MySQL, Dovecot, DSpam, ClamAV, Postgrey, RBL)

仮想ドメインとユーザーを使用した完全なメールサーバーソリューション (Debian Etch, Postfix, MySQL, Dovecot, DSpam, ClamAV, Postgrey, RBL)

このチュートリアルは、ジャスティン・レフィスによる著作権 (c) 2007 です。さまざまなガイドやオリジナルの資料から派生したもので、文書の最後にリストされています。このチュートリアルは、クリエイティブ・コモンズライセンス 2.5 またはそれ以降のバージョンの下で自由に使用できます。

I. はじめに

このガイドでは、Debian Linux で完全なメールソリューションを設定する方法を説明します (すべてのコードは Debian Etch からのものです)。私は、小さな会社のために安全でスケーラブル、かつポータブルなソリューションを設計するよう依頼されました。このガイドでは多くの「サーバー」を参照していますが、会社には物理マシンが 4 台しかなく、Xen を使用して全体のソリューションを仮想化しました。このシステムの特定の側面については、このガイドでは説明していませんが、次回の改訂に含めるように努めます。

以下で使用されるサーバー名についての注意: インターネットからアクセスする必要がない場合は、アクセスさせないでください。internal.example.com で終わるドメイン名は内部の NIC/IP アドレスです… インターネットから直接アクセスする方法はなく、アクセスすべきではありません。internal.example.com ドメイン名のみを持つサーバーは純粋な内部サーバーであり、インターネットから直接アクセスすることはできません。すべての 非内部 サーバーには 2 つの NIC があります (これらは 2 つの実際の NIC でも、仮想でもかまいません)。最初の NIC はインターネットにアクセスでき、厳密にファイアウォールで保護されています。2 番目の NIC は内部ネットワークにアクセスでき、その結果、セキュリティが少し低くなります。これらの NIC を設定する方法の詳細はこの文書の範囲外ですが、将来的にそれを含めるように更新するかもしれません。

サーバーの一般的なレイアウトは次のとおりです:

プライマリ MX:
NIC1 = 不正確/インターネット = mx-1.example.com
NIC2 = 安全/イントラネット = mx-1.internal.example.com
MTA: Postfix
グレイリストフィルター: Postgrey

セカンダリ MX:
NIC1 = 不正確/インターネット = mx-2.example.com
NIC2 = 安全/イントラネット = mx-2.internal.example.com
MTA: Postfix
グレイリストフィルター: Postgrey

SMTP+TLS & IMAPS:
NIC1 = 不正確/インターネット = secure-mail.example.com
NIC2 = 安全/イントラネット = secure-mail.internal.example.com
MTA: Postfix (+TLS/SSL)
IMAP: Dovecot (IMAPS)

メール配信サーバー: postman.internal.example.com
MTA (lmtp): DSPAM
ウイルス対策: ClamAV
IMAP: Dovecot

データベースサーバー: sql-1.internal.example.com
MySQL

ファイルサーバー: files-1.internal.example.com
NFS

一時ビルドサーバー: build.internal.example.com
<さまざまなツール>

メールは次のように機能します:

インターネットからあなたのドメインへのメール:

  1. メールはプライマリまたはセカンダリ MX のポート 25 に入ります
  2. MX は、メールの受信者と宛先が有効かどうかを確認するために MySQL サーバーにクエリを実行します:
    a. 受信者が無許可 - メールは拒否されます (550 エラー)
    b. 受信者が許可されている - メールは続行されます
  3. MX はグレイリストポリシーを確認します:
    a. これは初めて試みられたメールです - メールは拒否されます (再試行)
    b. これは初めて試みられたメールではありません - メールは続行されます
  4. MX はクォータ違反を確認します
    a. ユーザーのクォータが満杯 - メールはバウンスされます
    b. ユーザーに余裕がある - メールは配信されます
  5. MX は内部配信サーバーにメールを送信します (LMTP 経由)
  6. 内部配信サーバーはウイルス/SPAM をチェックします
    a. これは SPAM です - SPAM としてマークされ、LDA に配信されます。
    b. これはウイルスです - メールは拒否されます
    c. これは SPAM でもウイルスでもありません - メールは LDA に渡されます
  7. LDA がメールを配信します
    a. メールが SPAM としてマークされます - Maildir の「SPAM」ディレクトリに配信されます
    b. メールが SPAM としてマークされていません - 受信トレイに配信されます。

インターネットからあなたのドメインへのメール:

  1. ユーザーがポート 25 で SMTP リレーへの接続を開始します
  2. SMTP リレーが TLS を提供します:
    a. ユーザーが TLS を使用しない - メールは拒否されます
    b. ユーザーが TLS を使用する - セッションは続行されます
  3. SMTP リレーが AUTH (PLAIN) を提供します:
    a. ユーザーが認証しない/認証に失敗 - メールは拒否されます
    b. ユーザーが認証する - セッションは通常通り完了します

リモートユーザーは IMAPS (安全な IMAP) を介してメールにアクセスします

ローカルユーザーは IMAP を介してメールにアクセスします

ユーザーが誤検知された SPAM 検出を検出した場合、メールを「ham-@.」に転送します
ユーザーが誤検知された SPAM 検出を検出した場合、メールを「spam-@.」に転送します

II. 重要な注意事項

これらはすべて、Debian 4.0 Etch または Ubuntu Feisty Fawn にインストールできます。両方のシステムは非常に似ています。ただし、Dovecot と Postfix のデフォルトバージョンを使用する場合、いくつかの小さな問題が発生する可能性がありますが、それが発生した場合は、注意を促すように努めます。

Ubuntu ユーザーの場合、すべてのコマンドの前に「sudo」を使用しないことに注意してください。代わりに、「sudo -s」コマンドを使用して root シェルを起動します。

Ubuntu と Debian でソフトウェアをインストールするのは非常に簡単ですので、可能な限り apt-get ユーティリティを使用します。自分でビルドする必要が少ないほど、後でメンテナンスが容易になります。

それでは、始めましょう!

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。