引き続き前述した Postfix(SMTP)で使用する認証プログラムをインストールします。Postfix に限らず Sendmail や qmail といった MTA は認証機構を持た外部の認証プログラムを利用する前提で作られているためです。
SASL のパッケージがインストールされていなければインストールします。
SASLは認証機構を持たないサービスに認証機構を提供するプログラムですが、認証に実際に使用するユーザーアカウントとパスワードが格納されたデータベースについては、いくつかの選択肢があります。
例えば、LDAP、Shadow、PAM、などがありますが、何が利用できるかは SASLがどのようにコンパイルされているかによります。ここでは CentOS6 のパッケージを使用してます。確認するには以下のようにします。
SMTPサーバーの提供は、目的や運用情況によってことなりますが、ここではネット上の不特定多数に提供するサービスではなく、
限られた組織内のユーザーに提供するメールサーバなので、Linux アカウントでもいいのですが SASLでSMTP用に専用のアカウントを一つだけ作成して自組織の限られたユーザで流用する事にします。
CentOS 6 の場合デフォルトでは以下の用に記述されています。SASLコマンドで作成する専用のユーザアカウントを使う場合は auxprop とします。
pwcheck_method: saslauthd
mech_list: plain login
↓
pwcheck_method: auxprop
これでSASLデータベースに格納されるユーザーアカウントを使用するようになります。
TCP wrapper で起動するようになっていると思いますが、saslautd がデーモンとして起動しないように確認しておきます。
この様に表示されたらシステム起動時にデーモンとして起動しますので、起動しないようにします。on と表示されている場合はシステムリブート時に saslautd が起動するので起動しないようにしておきます。
ユーザーを作成します。以下の様に作成した場合、ユーザー名は usename、あるいは username@maydomain.net いずれも使用できます。パスワードはなるべく高い強度に。アルファベットは大文字、小文字、数字を入れて長めに。
-u で指定するドメインは /etc/postfix/main.cf の mydomain で指定したドメインになります。上記を実行すると /etc/sasldb2 に上記、ユーザー情報が記録されます。このままでは Postfix が参照で着ないので、パーミッションとグループを変更します。
/etc/sasldb2 に登録されているユーザーを確認するには以下の用にします。
登録ユーザーの確認
ユーザーの削除
パスワードの変更
引き続き、ここで導入した認証プログラム Cyrus-SASL を Postfix で利用できるに設定を行います。