参照サイト: http://kajuhome.com/postfix.shtml
参照サイト: http://www.turbolinux.com/products/server/11s/user_guide/smtpauth.html
メモ・必要知識
postfixとは・・・
Postfixはsendmailに代わるMTA (Mail Transport Agent)として開発されたソフトウェアで、sendmailとの互換性が高く、安全、メンテナンスが容易、速い、などの特徴を兼ね備えたメールサーバソフトです。最近ではLinuxの一部のディストリビューションで標準のMTAとして採用されています。
PostfixはSMTPサーバとしての機能しか持っていないため、メールサーバとして稼働するにはPOPサーバやIMAPサーバが別途必要になるかもしれません。
Dovecotとは・・・
Dovecot(ダヴコット)とは、Timo Sirainenが開発・公開をしている、UNIXライクなOS上で動作する、POP3/IMAPに対応したメール配送エージェントである。
SMTP-AUTH (SASL認証)とは・・・
メール送信に使うSMTPにユーザ認証機能を追加したものです。
主に外部からのメールを送信する場合(Outlookなどのメーラーからの送信する場合)に必須。
これを使用することにより、SMTPサーバ(メール送信サーバ)がユーザー認証を行うことによりメールの不正中継や、メールアカウントの不正利用を防ぐことが出来ます。
この認証にSASL認証を使用します。
PAM認証とは・・・
FTPやsuコマンドなどで使用している認証方法。
POP before SMTPとは・・・
電子メールの送信を行う際のユーザ認証方法の一つ。送信前に指定したPOP3サーバにあらかじめアクセスさせることによって、SMTPサーバの使用許可を与える方式。「PbS」と略記されることも稀にある。
SMTP認証(SMTP-AUTH)を使うことをお勧めするサイトが多い。
SASL認証とは・・・
Postfixを通じたMailの送受信において、ユーザの認証を可能にするための仕組み。
Postfix自体は認証メカニズムを持っておらず、広く認められている認証機構のひとつであるSASLの枠組みを使う。
SASLでは、PLAIN(暗号化されていない平文パスワード)、CRAM-MD5 あるいはその改良版DIGEST-MD5 (チャレンジアンドレスポンド方式の認証)、EXTERNAL(TLSのような外部の仕組み)など様々な認証メカニズムを利用することが可能である。
パスワードの検証は、saslauthd、sasldb、SQLデータベース、LDAPなどの方法で行われる。このうち、saslauthdはSASL 独自の認証データベースを作らず、
オペレーティングシステムの認証機構を利用するためのデーモンであり、root 権限が必要な認証機構を個々のアプリケーションから直接利用できるよう、saslauthd デーモンがアプリケーションと認証機構の間を橋渡しする。saslauthd を使えば PAM を経由して様々な認証機構が利用出来るが、 PLAIN や LOGIN などの平文パスワードを使った認証メカニズムでしか利用出来ない。
sasldb、SQLでは、データベースにパスワードを格納することができ、またLDAPでは認証データをLDAPサーバに格納することができる。
Postfixインストール
インストールされているか
# rpm -q postfix
インストールされていない場合インストール
# yum install postfix
MTAをSendmailからPostfixに切り替える
# alternatives --config mta
設定ファイルを確認(内容はサイト参照)
# vi /etc/postfix/main.cf
バージョン確認
# postconf | grep mail_version
設定一覧表示
# postconf
SMTP Authetication関係の設定
SMTP設定ファイルに認証方法を指定
# vim /usr/lib64/sasl2/smtpd.conf
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: cram-md5 digest-md5 plain login
パスワードDB作成
# saslpasswd2 -c -u example.com username
設定したパスワードを削除する場合は、以下のようにします。
# saslpasswd2 -d -u example.com ユーザ名
作成されたパスワードの確認は、以下のように sasldblistusers2 と入力すると、登録されてるユーザ名が表示されます。
# sasldblistusers2
hoge@example.com: userPassword
Postfix が sasldb を閲覧できるようにpostfixグループを追加し、パーミッションを変更します。
# chgrp postfix /etc/sasldb2
# chmod 640 /etc/sasldb2
Dovecotインストール
dovecotとは、POPサーバ(受信メールサーバ)機能を提供するパッケージです。
参照サイト: http://kajuhome.com/dovecot.shtml
dovecot バージョンの確認
# rpm -qa dovecot
なければインストール
# yum -y install dovecot
設定ファイルの編集 ※設定はサイト参照
# vi /etc/dovecot/dovecot.conf
起動
# /etc/rc.d/init.d/dovecot start
起動時にdovecotを起動する
# chkconfig dovecot on
設定内容を確認
# chkconfig --list dovecot
dovecot 0:オフ 1:オフ 2:オン 3:オン 4:オン 5:オン 6:オフ
設定ファイルの編集
# vi /etc/postfix/main.cf
----------------------------最終行に以下を追加
# バーチャルホスト設定ファイルを指定
virtual_alias_maps= hash:/etc/postfix/virtual
----------------------------
virtualファイルの設定
# vi /etc/postfix/virtual
----------------------------最終行に以下を追加
kaju.homeip.net anything
linux@kaju.homeip.net linux
user1@kaju.homeip.net user1
user2@kaju.homeip.net linux
----------------------------
上記「postfixの設定」が完了したらvirtual DBファイルを更新する
# postmap /etc/postfix/virtual
postfixを再起動して設定を反映させる
# /etc/rc.d/init.d/postfix restart