home FreeBSD Bike Misc Memorandum About

SMTP-AUTH

前提とインストール

ここで前提しているのは postfix-2.0.19 + cyrus-sasl-2.1.18 で SMTP-AUTH を実現する方法です。ここではCRAM-MD5で認証を行いたいと思います。すでにPostfixをインストールする場合は再コンパイルする必要があります。例によってportsを使いますが、make するときに

[ ] SASL2 Cyrus SASLv2 (Simple Authentication and Security Layer)

にチェックを入れる必要があります。またその他のオプションも必要に応じて選択します。自動的に cyrus-sasl と cyrus-sasl-saslauthd をインストールしてくれます。

パスワードファイルの作製

認証で使用するユーザ名とパスワードが格納されたデータベースを作製します。

# saslpasswd2 -c -u FQDN ユーザー名

FQDN には postfix のmain.cf内に myhostname として設定したメイルサーバのFQDNを指定しなければなりません。

これを実行するとposrtsからインストールした場合、/usr/local/etc/sasldb2.db というファイルが作製されます。これがデータベース本体です。このファイルはpostfixが読めるように設定しておかなくてはなりませんので、/etc/group のmailグループにpostfixを実行しているユーザ(私の場合postfixユーザ)を追加して、/usr/local/etc/sasldb2.dbファイルがmailグループに対して読み込み権限があるように設定します。

# vi /etc/group
mail:*:6:postfix
# chmod 440 /usr/local/etc/sasldb2.db

ports からインストールした場合、/usr/local/lib/sasl2/smtpd.confというファイルがありますので、中身が以下のようになっているか確認します。

pwcheck_method: saslauthd

これでsaslauthdを起動する準備は整いました。/etc/rc.confなどにsaslauthd_enable="YES"を追加し、

# /usr/local/etc/rc.d/saslauthd.sh start

とデーモンを起動します。最近のFreeBSDの場合はsaslauthd.shを/etc/rc.d/saslauthdにコピーしてもよいでしょう。

最後にpostfixのmain.cfに以下の記述を追加します。

smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination

postfixを起動します。

説明

FreeBSD 5.2.1-Release

通常SMTPサーバは、第三者中継を防ぐために許可した計算機(同一プロバイダなど)からしかリレーを許しません。しかしながら出先で別のネットワークから自宅のSMTPサーバを利用したいときもあります。こうした時に利用できるようにSMTPを利用するときに認証を行うSMTP-AUTHを設定しました。

2004/04/24

Creative Commons License
This work is licensed under a Creative Commons License.