Postfixの設定と管理

〜 安全かつ信頼性の高いメールサーバー運用の基本 〜


目次

🧭 概要

Postfix は、Linux環境で広く使われている**MTA(Mail Transfer Agent)**です。電子メールの送信・受信処理を担う心臓部であり、セキュリティ性・処理速度・拡張性に優れています。

この記事では以下のスキルを身につけます:

  • Postfix の基本設定と構造
  • メールエイリアス、仮想ドメイン、アクセス制限
  • TLS/SMTP認証によるセキュリティ強化
  • ログ・スプール監視による運用管理

🛠️ 1. Postfixのインストールとサービス管理

インストール(例:Debian系)

sudo apt update
sudo apt install postfix mailutils

※インストール中の対話形式で「インターネットサイト」を選択。

サービス管理

sudo systemctl start postfix
sudo systemctl enable postfix
sudo systemctl status postfix

🗂️ 2. 主要ディレクトリと設定ファイル

パス内容
/etc/postfix/main.cfメイン設定ファイル
/etc/postfix/master.cfサービス構成ファイル
/etc/aliasesメールエイリアス定義
/var/spool/postfix/メールキュー・一時処理領域
/var/log/mail.logログファイル(送受信ログ)
/var/log/mail.errエラーログ

📄 3. Postfixの基本設定(main.cf)

myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
home_mailbox = Maildir/

補足:

  • myhostname: ホスト名
  • mydestination: ローカル配送対象のドメイン
  • home_mailbox: Maildir形式(maildir パッケージが必要)

設定を反映するには:sudo postfix reload


✉️ 4. メールエイリアス設定(/etc/aliases)

rootpostmaster に届いたメールを別ユーザへ転送します。

root:    admin
support: user1

更新後、必ず以下を実行:

sudo newaliases

🌐 5. 仮想ドメインの設定(バーチャルメール)

複数のドメインを 1 台のサーバーで運用する場合に使用。

設定例(main.cf)

virtual_alias_domains = example.net example.org
virtual_alias_maps = hash:/etc/postfix/virtual

/etc/postfix/virtual に以下のように定義:

user@example.net   user1
sales@example.org user2

反映コマンド:

sudo postmap /etc/postfix/virtual
sudo postfix reload

🔐 6. アクセス制限(リレー制御や迷惑メール対策)

他ドメインからの無制限リレーを防止:

smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
  • permit_mynetworks:信頼ネットワーク許可
  • permit_sasl_authenticated:認証済みユーザー許可
  • reject_unauth_destination:無許可の中継拒否

🔒 7. TLSとSMTP認証(セキュア通信)

TLS設定(main.cf)

smtpd_tls_cert_file = /etc/ssl/certs/mail.crt
smtpd_tls_key_file = /etc/ssl/private/mail.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache

SMTP認証(SASL)

smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes

Postfix は Dovecot または Cyrus SASL と組み合わせてSMTP認証を実装します。


🔎 8. ログ確認とメール監視

ログファイル

ファイル内容
/var/log/mail.log全般的な送受信ログ
/var/log/mail.errエラーメッセージ
/var/log/mail.info詳細情報(必要に応じて)

ログ監視:

tail -f /var/log/mail.log

📬 9. メール送信と確認

echo "テストメール本文" | mail -s "テスト件名" user@example.com

mailutils が必要です。


🔄 10. メールスプールの管理

キューの一覧表示:

mailq

特定メッセージの削除(メッセージID指定):

postsuper -d <ID>

全削除:

postsuper -d ALL

📘 補足:Eximとの比較

項目PostfixExim
設計思想セキュリティ重視・モジュール型柔軟性・設定自由度重視
標準採用Debian系はEximが多いRHEL/CentOS系はPostfix
学習曲線やや低め高め(設定が複雑)

✅ まとめ

項目設定・ファイルポイント
メイン設定/etc/postfix/main.cf基本設定を管理
TLS/認証TLS & SASL設定メールの盗聴・不正中継を防ぐ
ログ管理/var/log/mail.logトラブルシュートに必須
エイリアス/etc/aliases + newaliases転送メール設定
仮想ドメインvirtual_alias_maps1台で複数ドメイン対応
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次