・メールサーバのインストール

MTA (Mail Transport Agent)を設定していこうと思う。メールサーバにはSendMailやPostFixがあるけと、今回はPostfixを使うことにしょうと思う。

PostFixはSMTPサーバなので、受信するには別途POP3やIMAPサーバが必要になるよ。

受信するサーバーとしては、複数のPCやスマートフォンからメールを見れるようにしたいんで、IMAPを使うよ!

 

 

 

今回の設定の方針

・SMTPサーバは「postfix」を使用する
・IMAPサーバは「Courier-IMAP」を使用する
・メールはMaildir形式にする
・メールユーザと、Linuxログインユーザのパスワードを切り分ける。
(メールユーザを追加する場合は「saslpasswd2 -c -u <ドメイン> <ユーザー名>」で作成する)
・Spamメールの不正中継をさせないようにSMTP認証を使う

 

・前準備

Debian(lenny)にはMTAとして「exim4」がインストール済みなのでこれを削除してからPostFixをインストールします。

・exim4のサービスをSTOPする

sudo -s
/etc/init.d/exim4 stop

 

.exim4を削除

aptitude purge exim4

・Postfixのインストール

aptitude update
aptitude install postfix

 

・/etc/aliasesを編集し、postfix: rootを追加する。
通常はrootではログインしてないのでrootのメールをメインユーザーにリダイレクトする

vi /etc/aliases
 
postfix: root
root: hoge

・aliasesの設定を反映させる

newaliases

 

・Postfixの設定

設定ファイル /etc/postfix/main.cfを以下のように編集します。

・設定の前にバックアップを取る

cd /etc/postfix
cp main.cf main.cfBAK

・設定ファイルを編集

vi main.cf
 
37 mailbox_command = procmail -a "$EXTENSION"
38 mailbox_size_limit = 037 #mailbox_command = procmail -a "$EXTENSION"  # mailboxをMaildir形式にするのでコメントアウト
38 mailbox_size_limit = 0
home_mailbox = Maildir/   # mailboxをMaildir形式にする。

・自分のホームディレクトリで、Maildir形式のディレクトリを作成する

maildirmake Maildir

※Maildirは「maildirmake」コマンドで作成するとパーミッションを設定してくれるのでらくちん

・Postfixの再起動

/etc/init.d/postfix restart

・Courier-IMAPのインストール

IMAP(Internet Message Access Protocol)はサーバ上にあるメールにアクセスするための方法で
サーバ上に受信・送信・その他のメールを保存し、どのクライアントからでもメールを読む事ができるようになります。
(POPはメールをPCにダウンロードして見ることになります。今回の設定ではIMAPを使用することにします。)

aptitude install courier-imap

・ユーザの追加にメールも使えるようにする
ユーザを追加した場合にメールも使えるように「/etc/skel」ディレクトリにMaildirを作成しておく

cd /etc/skel
maildirmake Maildir

 

・SASL2の設定方法

不正中継の踏み台にならないようにメール送信時にSMTP認証(SASL2)をする

・SASL2のインストール

aptitude install libsasl2-modules sasl2-bin

・インストールされたかパッケージを確認

dpkg -l|grep sasl2

・SASL2の設定ファイルの編集

vi /etc/default/saslauthd
 
6 # Should saslauthd run automatically on startup? (default: no)
7 START=no
↓
6 # Should saslauthd run automatically on startup? (default: no)
7 START=yes

・saslauthdを再起動する

/etc/init.d/saslauthd start

・Postfix側の設定(main.cf)

vi /etc/postfix/main.cf
 
43 # SASL2(SMTP-Auth)
44 smtpd_sasl_auth_enable = yes
45 smtpd_sasl_local_domain = $myhostname
46 smtpd_sasl_application_name = smtpd
47 smtpd_recipient_restrictions =
48     permit_mynetworks,
49     permit_sasl_authenticated,
50     reject_unauth_destination
51 smtp_sasl_security_options = noanonymous
52 brocken_sasl_auth_clients = yes

を最後に追加する

・Postfix側の設定(master.cf)

vi /etc/postfix/master.cf
 
11 smtp      inet  n       -       -       -       -       smtpd
12 #submission inet n       -       -       -       -       smtpd11 smtp      inet  n       -       -       -       -       smtpd
12 submission inet n       -       -       -       -       smtpd

・smtp.confの設定
smtp.confファイルを新規作成する(SASL用パスワードファイルを利用する)

vi /etc/postfix/sasl/smtp.conf
 
1 pwcheck_method: auxprop
2 auxprop_plugin: sasldb
3 mech_list: cram-md5 digest-md5 plain login

・sasl2の再起動、postfixの再起動

/etc/init.d/saslauthd restart
/etc/init.d/postfix restart

・認証ユーザーの登録

saslpasswd2 -c -u <ドメイン.com> <ユーザ名>
Password: ******* (パスワードを入力)
Again (for verification): ******* (パスワードを再入力)

・登録したユーザーを確認

sasldblistusers2

・登録したユーザーを削除する場合

saslpasswd2 -d -u <ドメイン> <ユーザー名>

・SMTP Authの動作確認
認証機能が設定されているかどうかをテスト

/usr/sbin/testsaslauthd -u <ユーザ> -p <パスワード>
0: OK "Success."

と出ればOK

・Postfixがsaslの設定ファイルを読み込めるようにする

chgrp postfix /etc/sasldb2
chmod 640 /etc/sasldb2
ln /etc/sasldb2 /var/spool/postfix/etc

・sasl2の再起動、postfixの再起動

/etc/init.d/postfix restart
/etc/init.d/saslauthd restart

・telnetでのメール送信の確認

telnet localhost 25
:
helo localhost
:
mail from: xxxx@xxxx.org
:
rcpt to: xxxx@xxxx.org
:
data
aaaa
aaaa
aaaa
.
quit

・不正中継をさせないようになっているかチェックする

以下のサイトにアクセスして第三者中継の可能性をチェックする

http://www.rbl.jp/svcheck.php

数パターンのチェックを行い、
最後に「no relays accepted.」と出れば、とりあえずOK

・IMAPをSSL化する

・courier-imap-sslのインストール

aptitude install courier-imap-ssl

・courierIMAPの設定

vi imapd-ssl
 
89 IMAP_TLS_REQUIRED=089 IMAP_TLS_REQUIRED=1
 
:
262
263 TLS_CERTFILE=/etc/courier/imapd.pem
264

・再起動

/etc/init.d/courier-imap-ssl restart

・クライアント側の設定

ポート=993
セキュリティ設定=SSLを使用する

 

・IMAP(SSL版ではない方)「courier-imap」を自動起動させないようにする

IMAP(SSL版)をインストールして、使えるようになったので、
IMAP(SSL版ではない方)を止めてしまおう。

SSL版ではない方は使わないし、ポート=143番を開けてしまうので、サービスを起動させないようにしておく。

サービス自動起動の削除

update-rc.d -f courier-imap remove

※courier-imapをアップグレードした場合、サービスも復活してしまうので、ここは注意

一応、ポート143はiptablesでどうにかする(破棄する)。

これは別枠(ファイアウォール構築)で書こう。。

・メーラの設定(Thunderbird)

【(受信)IMAPメールサーバ】
サーバ設定:ポート=993
セキュリティー設定:接続の保護=SSL/TLS
認証方式:通常のパスワード認証(とりあえず今は)

【(送信)SMTPサーバ】
ポート番号:587
接続の保護:STARTTLS
認証方式:暗号化されたパスワード認証

 

・緊急時のpostfix停止方法

もし万が一緊急停止を行う場合、通常の「stop」パラメータではなく
「abort」で停止させなくてはならない。
「stop」パラメータではメールスプールに貯まっているものが全て送信され続けてしまうので。

/etc/init.d/postfix abort

・メール、ホームページ付きユーザーの作成

(Apacheの設定を行っている場合は、ホームページ、メールアドレスを付与したユーザを作成することができるヨ)

#/etc/skelに設定しているディレクトリを配置したり、パスワードの設定をしてくれる

sudo adduser <ユーザ>

#メールユーザ、パスワードを設定する

sudo saslpasswd2 -c -u <ドメイン.com> <ユーザ>

・メール、ホームページ付きユーザーの削除

#/homeディレクトリ、グループなど全て削除してくれる

sudo userdel <ユーザ>

#メールユーザを削除する

sudo sudo saslpasswd2 -d -u <ドメイン.com> <ユーザ>
 

コメントを残す

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