仮想化生活への軌跡

Feed Rss


メールサーバー(Postfix+SASL2+Dovecot)の構築 (1)

08.20.2013, Ubuntu Server, メールサーバー, by .

はじめに

以前はWEBサーバーと同居するかたちで設置していたメールサーバーを独立の仮想マシンとして構築したので、その過程をまとめておきます。


前提となる環境

■ Ubuntu Server 12.04 x64
■ ドメインを取得し、MXレコードを登録済みであること


目指す環境

■ プロバイダーアカウント&サブミッションポートの利用により、メール送信時のOPB25規制を回避する
■ SASL2を利用したSMTP認証により、不正中継を防止する
■ Dovecotを利用したIMAP配信により、iOS純正のメールアプリでの受信を可能にする
■ WEBメールシステムを構築する


Postfix+SASL2の設定

まずは下記コマンドによりモジュールをインストールします。
sudo su -
apt-get install postfix sasl2-bin


続いてエディタで/etc/postfix/main.cfを開き、”myhostname”以下を、次のように修正します。
myhostname = ドメイン名
mydomain = ドメイン名
myorigin = $myhostname
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 127.0.0.0/8 192.168.0.0/24 [::ffff:127.0.0.0]/104 [::1]/128
relay_domains = $mydestination
home_mailbox = Maildir/
# smtp-auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
broken_sasl_auth_clients = yes
# opb25
relayhost = [プロバイダーのSMTPサーバー]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/authinfo
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = login, plain


続いて、OPB25回避のために使用するプロバイダーのメールアカウント情報を設定します。
まずはエディタで/etc/postfix/authinfoを開き、以下の内容を記述します。
[プロバイダーのSMTPサーバー]:587 プロバイダーのSMTP用ID:パスワード


上記の情報でサブミッションポートへ接続するために、authinfo.dbを作成します。
chmod 640 /etc/postfix/authinfo
postmap /etc/postfix/authinfo


サブミッションポートによるメール送信を有効化するため、/etc/postfix/master.cfを以下のように編集します。
submission …   # (16行目付近)コメントアウトを解除


次に第三者によるメール送信を防止するために、SMTP認証の設定を行って行きます。
はじめにエディタで/etc/default/saslauthdを開き、SASL2を起動するための設定を行います。
START=yes   # (7行目付近)noをyesに書き換える


続いて/etc/postfix/sasl/smtpd.confを開き、以下の内容を記述します。
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: cram-md5 digest-md5 plain login


以下のコマンドを入力し、SMTP認証用のユーザーアカウントを作成します。
この作業は、メール送信を行うユーザー全てについて行う必要があります。
saslpasswd2 -c -u ドメイン名 UNIXユーザー名


ユーザーアカウント情報にpostfixがアクセスできるようにするため、以下のコマンドを入力します。
chgrp postfix /etc/sasldb2
chmod 640 /etc/sasldb2
ln /etc/sasldb2 /var/spool/postfix/etc


最後にデーモンの再起動を行います。
/etc/init.d/postfix restart
/etc/init.d/saslauthd restart


ポートの開放

ルーター上で、メールサーバーに対してTCPの25番、587番ポートの開放を行います。
ドメインのMXレコード設定を適正に行っていれば、この段階でメールの送受信自体は可能となっているはずです。


不正中継のチェック

ここではRBL.JP Projectのサービスを利用し、不正中継の有無をチェックします。
サイトにアクセスし、「ホスト名」の欄にメールアドレスのドメイン名を入力してチェックを開始し、最後に「全てのテストが行われました, no relays accepted.」と表示されればチェックは完了です。

長くなったので、続きは次回の記事に譲ります。


Advertisement


RelatingPosts

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*