.
Mailサーバー => メールサーバ構築 20143.メール送信サーバの構築 > 認証機構の導入
Linux 活用ガイド:目次

サーバ構築ガイド

レンタル ガイド

ショップ 構築ガイド

情報漏洩対策

SMTPサーバ構築 【STEP2】 認証プログラム Cyrus-SASL

引き続き前述した Postfix(SMTP)で使用する認証プログラムをインストールします。Postfix に限らず Sendmail や qmail といった MTA は認証機構を持た外部の認証プログラムを利用する前提で作られているためです。

Cyrus-SASL インストール

SASL のパッケージがインストールされていなければインストールします。

# rpm -qa|grep sasl
# yum install cyrus-sasl

Cyrus-SASL データベースとSMTPアカウントの管理

SASLは認証機構を持たないサービスに認証機構を提供するプログラムですが、認証に実際に使用するユーザーアカウントとパスワードが格納されたデータベースについては、いくつかの選択肢があります。

例えば、LDAP、Shadow、PAM、などがありますが、何が利用できるかは SASLがどのようにコンパイルされているかによります。ここでは CentOS6 のパッケージを使用してます。確認するには以下のようにします。

# saslauthd -v
saslauthd 2.1.23
authentication mechanisms: getpwent kerberos5 pam rimap shadow ldap

SASLの設定 (CentOS6)

SMTPサーバーの提供は、目的や運用情況によってことなりますが、ここではネット上の不特定多数に提供するサービスではなく、

限られた組織内のユーザーに提供するメールサーバなので、Linux アカウントでもいいのですが SASLでSMTP用に専用のアカウントを一つだけ作成して自組織の限られたユーザで流用する事にします。

# cp /etc/sasl2/smtpd.conf /etc/sasl2/smtpd.conf.ori
# vi /etc/sasl2/smtpd.conf

CentOS 6 の場合デフォルトでは以下の用に記述されています。SASLコマンドで作成する専用のユーザアカウントを使う場合は auxprop とします。

/etc/sasl2/smtpd.conf

pwcheck_method: saslauthd
mech_list: plain login

pwcheck_method: auxprop

これでSASLデータベースに格納されるユーザーアカウントを使用するようになります。

起動設定

TCP wrapper で起動するようになっていると思いますが、saslautd がデーモンとして起動しないように確認しておきます。

# /etc/init.d/saslauthd stop
# chkconfig --list saslauthd
saslauthd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

この様に表示されたらシステム起動時にデーモンとして起動しますので、起動しないようにします。on と表示されている場合はシステムリブート時に saslautd が起動するので起動しないようにしておきます。

# chkconfig saslauthd off

SASLユーザーの作成

ユーザーを作成します。以下の様に作成した場合、ユーザー名は usename、あるいは username@maydomain.net いずれも使用できます。パスワードはなるべく高い強度に。アルファベットは大文字、小文字、数字を入れて長めに。

# saslpasswd2 -u mydomain.net -c username
Password:
Again (for verification):

-u で指定するドメインは /etc/postfix/main.cf の mydomain で指定したドメインになります。上記を実行すると /etc/sasldb2 に上記、ユーザー情報が記録されます。このままでは Postfix が参照で着ないので、パーミッションとグループを変更します。

$ sudo chmod 640 /etc/sasldb2
$ sudo chgrp postfix /etc/sasldb2

アカウント管理の基本操作

/etc/sasldb2 に登録されているユーザーを確認するには以下の用にします。

登録ユーザーの確認

# sasldblistusers2

ユーザーの削除

# saslpasswd2 -d username@mydomain.net

パスワードの変更

# saslpasswd2 -u mydomain.net username

引き続き、ここで導入した認証プログラム Cyrus-SASL を Postfix で利用できるに設定を行います。

bottom_mark
ページ最上部
ページ最上部 前のページ