2004年5月8日土曜日

Postfix Sasl対応

Postfixでsmtp Authを実現するための設定を行いました。
MacOSX10.3にはデフォルトでほぼ準備ができた状態だったから、スムーズにできました。

・Postfixのの設定は以下の通り(Postconf -n実行結果)
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
mail_owner = postfix
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain $mydomain
mydomain = ドメイン名.com
mydomain_fallback = localhost
myhostname = mail.ドメイン.com
mynetworks = 192.168.0.0/24, 127.0.0.0/8
mynetworks_style = host
myorigin = $myhostname
newaliases_path = /usr/bin/newaliases
queue_directory = /private/var/spool/postfix
readme_directory = /usr/share/doc/postfix
sample_directory = /usr/share/doc/postfix/examples
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
unknown_local_recipient_reject_code = 450

・saslのダウンロード
OSX10.3にデフォルトでインストールされているPostfixには、saslモジュールが既にインストールされていますが、パスワードを作成するユーティリティなどは付属していませんので、それらを使用する為にsaslのソースをダウンロードし、コンパイルします。
$curl -O ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/OLD-VERSIONS/sasl/cyrus-sasl-2.1.15.tar.gz
$tar zfx cyrus-sasl-2.1.15.tar.gz
$cd cyrus-sasl-2.1.15
$./configure --disable-krb4
$make
$cd utils
$sudo make install

main.cfにsasl認証を有効にするための設定を追加
$sudo pico /etc/postfix/main.cf
#
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated
reject_unauth_destination
broken_sasl_auth_clients = yes
#

saslライブラリの有効化
OSX10.3のデフォルトではOpenLDAL認証が有効になっているため、saslライブラリが
無効化されています。(ただフォルダに移動されているだけですが)これ有効化します。
sasl設定ファイルを編集します。
$cd /usr/lib/sasl2/
$sudo ln -s ./disabled/* ./
$sudo pico /usr/lib/sasl2/smtpd.conf
pwcheck_method: sasldb

パスワードファイルの作成
新規作成する時のみ-cオプションを使用する。
$sudo /usr/local/sbin/saslpasswd2 -c ユーザ名
authfile_init=-1
Password:
Again (for verification):

ユーザ情報の確認
$sudo /usr/local/sbin/sasldblistusers2

パスワードファイルをPostfixから呼び出せるようにパスワードファイルのパーミッションの設定
行う。
$sudo chgrp postfix /etc/sasldb2.db
$sudo chmod g+r /etc/sasldb2.db

Postfixの再起動
$sudo /usr/sbin/postfix stop
$sudo /usr/sbin/postfix start

メーラからsmtpの欄に今回設置したメールサーバからメールを送信。
MD5チャレンジ認証で
ID:アカウント名@hostconfigで設定したHost名
pass:saslパスワードメーカで作ったパスワード
とやってみて、アクセスできる事を確認する。

0 件のコメント: