11.SMTP AUTH の実装
CentOS 5 には saslauthd がインストールされていたことは前述しました。まずはsaslauthd がサポートしている認証形式を確認しておきます。
>saslauthd -v
saslauthd 2.1.22
authentication mechanisms: getpwent kerberos5 pam rimap shadow ldap
ldap がリストにあるので問題ありません。OSのパッケージによっては ldap が別モジュールになっている場合がありますが、CentOS の場合は基本パーケージに ldap サポートが含まれています。
次に設定ファイルを修正していきます。まずはメールサーバーの認証に sasl を使用するように設定します。
/usr/lib/sasl2/smtpd.conf ファイル
pwcheck_method: saslauthd
mech_list: plain login
ここではログインメカニズムを plain に設定しておきます。次に saslauthd の設定ファイルである saslauthd ファイルを編集します。
/etc/sysconfig/saslauthd ファイル
#変更箇所
MECH=ldap
#追加箇所(起動オプション)
FLAGS=”-O /etc/saslauthd.conf -c”
認証方法を LDAP にするとともに ldap 接続情報の記述ファイルとなる saslauthd.conf ファイルのパスをオプションで渡すように設定します。
/etc 配下に上で指定したファイル saslauthd.conf を作成します。
/etc/saslauthd.conf ファイル
ldap_servers: ldap://localhost:389/
ldap_auth_method: bind
ldap_bind_dn: cn=mtaAdmin,ou=Service,dc=hogehoge,dc=com
ldap_bind_pw: パスワード
ldap_search_base: ou=mailsys,dc=hogehoge,dc=com
ここに記述する接続情報はサーバーパス、認証メソッド、検索ベースが基本で、ここでは bind メソッドを使用するのでバインドユーザーのdnとパスワードも記述しています。
サービスを起動して登録済みテスト用ユーザーで接続のテストをしてみます。
>service saslauthd start
>testsaslauthd -u test -p パスワード
0: OK “Success.”
上のようになれば接続成功です。
次に postfix の設定ファイルに SMTP AUTH を使用するよう設定を追記していきます。加えていくつかのセキュリティー設定も追記しておきます。