CentOS 7+ ベースのメールサーバー構築ガイド

DNS事前設定

# DNSサーバーに以下のレコードを追加
# visioncall.com.zone ファイルに追記:
@    IN  MX 10 mail.visioncall.com.  # MXレコード(優先度10)
mail IN  A    192.168.8.88           # メールサーバーAレコード
mail IN  TXT  "v=spf1 a mx ~all"     # SPFスパム対策ポリシー
_dmarc IN TXT "v=DMARC1; p=none"     # DMARC認証ポリシー

基本環境の準備

ホスト名の設定

sudo hostnamectl set-hostname mail.visioncall.com  # FQDNの設定
echo "192.168.8.88 mail.visioncall.com" | sudo tee -a /etc/hosts  # ローカル名前解決

ファイアウォール設定

# 本番環境では必要なポートのみ開放
sudo firewall-cmd --permanent --add-service={smtp,smtps,imap,imaps,pop3,pop3s}
sudo firewall-cmd --reload

主要コンポーネントのインストール

Postfix(MTA)のインストール

sudo yum install postfix cyrus-sasl-plain -y  # SASL認証用パッケージ

/etc/postfix/main.cf の設定

myhostname = mail.visioncall.com  # サーバーのFQDN
mydomain = visioncall.com          # メインドメイン
myorigin = $mydomain               # 送信メールのドメイン
inet_interfaces = all              # 全インターフェースでリッスン
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
smtpd_sasl_type = dovecot          # SASL認証方式の指定
smtpd_sasl_path = private/auth     # SASL認証ソケットパス
smtpd_sasl_auth_enable = yes       # SMTP認証の有効化
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination

Dovecot(IMAP/POP3サーバー)のインストール

sudo yum install dovecot -y

/etc/dovecot/dovecot.conf の設定

protocols = imap pop3 lmtp        # 有効化するプロトコル
mail_location = maildir:~/Maildir # メール保存形式とパス
ssl = required                    # SSL暗号化を必須に
ssl_cert = 

SSL証明書の設定

オプション1:自己署名証明書

sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
-keyout /etc/pki/dovecot/certs/mail.visioncall.com.key \
-out /etc/pki/dovecot/certs/mail.visioncall.com.crt \
-subj "/CN=mail.visioncall.com"  # 有効期限10年の自己署名証明書生成

オプション2:Let's Encrypt証明書(公開サーバー向け)

sudo yum install certbot -y
sudo certbot certonly --standalone -d mail.visioncall.com
# 証明書パス:/etc/letsencrypt/live/mail.visioncall.com/

サービスの起動と検証

sudo systemctl start postfix dovecot   # サービスの起動
sudo systemctl enable postfix dovecot  # 自動起動の設定

メール送信テスト

echo "テストメール本文" | mail -s "テスト件名" user@example.com \
-a "From: admin@visioncall.com"  # mailコマンドでテストメール送信

ログの確認

sudo tail -f /var/log/maillog      # メールログのリアルタイム監視
grep 'status=sent' /var/log/maillog # 送信成功記録の確認

管理と保守ガイド

ユーザー管理

# メールユーザーの追加(システムユーザー作成が必要)
sudo useradd -m -s /sbin/nologin user1  
echo "user1:password" | sudo chpasswd  # パスワード設定

バックアップ戦略

# 設定ファイルのバックアップ
sudo tar czvf mail-config-backup.tar.gz /etc/postfix /etc/dovecot
# メールデータのバックアップ
sudo rsync -av /home/ /backup/mail-data/

スパム対策の強化

# SpamAssassinのインストール
sudo yum install spamassassin -y
sudo systemctl start spamassassin

主要設定ファイルの説明

ファイルパス主な機能
/etc/postfix/main.cfPostfixメイン設定(ポート、ドメイン、ルーティング)
/etc/dovecot/dovecot.confDovecotプロトコルと保存設定
/etc/sysconfig/networkホスト名の基本設定
/etc/resolv.confDNSサーバー設定

ポート説明

ポートプロトコル用途
25SMTPメール送信(MTA間通信)
465SMTPS暗号化メール送信
587SMTPセキュアメール送信(STARTTLS)
143IMAP平文メールアクセス
993IMAPS暗号化IMAPアクセス

注意事項:

  1. 企業内ネットワークへの導入時はDNS MXレコードの解決を確認
  2. 本番環境では必ず有効なSSL証明書を使用(自己署名証明書はクライアントでの手動信頼が必要)
  3. 定期的に/var/log/maillogをチェックし、配信異常を調査
  4. ファイアウォールと連携し、外部アクセス範囲を制限することを推奨

タグ: CentOS Postfix Dovecot メールサーバー MTA

5月30日 14:00 投稿