smtp-auth 対策

2005年9月6日 Linux
Postfix + SMTP-AUTH: WoodyからSargeへ移行時のトラブル (10:32)

apt でwoody/sarge/sidを指定していたため,stableのパッケージがアップデートされないまま放置されっぱなしだった某サーバを Debian 3.1(stable)に移行.無事に移行できたかな?と思っていたら,sasldbでユーザ管理していたPostfixが「fatal: no SASL Authentication Mechanisms」のログを吐いて送受信不可能状態に.

色々調べた結果,Postfix-tlsがlibsasl2関係のパッケージに依存するようになったらしく,libsasl2-modulesが必要になったらしい.まずはこれをapt-get install.

次にデータベースの場所が/etc/sasldbから/etc/sasldb2になったらしいので,sasl2-binをインストールしてsasldbconverter2を実行してみるが動かず.

すこし調べてみるとどうやら/etc/sasldbはBerkeleyDBのデータベースファイルらしく,sasl2ではファイル形式のバージョンが古くてそのままでは変換できないらしい.仕方がないので,apt-get install db4.2-utilして,db4.2-upgradeを実行.アップグレード後のファイルをsasldbconverter2に入力してみたら成功したので,これを/etc/sasldb2に配置した.

Postfix再起動後,mail.logにfatalエラーが出てないかチェックしたが,どうやら大丈夫そうだ.一件落着.

===
こっちのほうがよさそう。これでOK

出先でメールを出したくなるかもしれないっつーことで SMTP AUTH (CRAM-MD5) もしかける。

意外にも Debian Sarge でどうすりゃいいというまとまった文書を見つけられなかったので手間取ってしまった。ワシが行なったのは以下の通り。尚、その前にフツーに postfix が動いている状態にしといてくだされ*4。

まず apt-get で以下のパッケージをインストール。

* postfix-tls
* libsasl2-modules
* sasl2-bin

/etc/postfix/master.cf の「smtp」ではじまる行を以下のような感じで、「-o smtpd_sasl_auth_enable=yes」という記述を追加*5。

smtp inet n - - - - smtpd -o smtpd_sasl_auth_enable=yes

/etc/postfix/main.cf にだいたい以下のような記述を追加。

smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_security_options = noanonymous, noplaintext
smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated,
permit_auth_destination,
reject

Outlook Express なんぞにも対応させたければ

smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes

としておいたほうが良いカモしれない*6。

ほんで、以下のような感じで実行。

# saslpasswd2 -c -u {smtpd_sasl_local_domain と同じ値} {ユーザ名}

で、例によってパスワードを2回打ち込んどく。これが SMTP AUTH の認証アカウントとなる。

/etc/sasldb2 というファイルができるので、postfix が読めるように以下のようにする。

# mv /etc/sasldb2 /var/spool/postfix/etc
# ln -s /var/spool/postfix/etc/sasldb2 /etc
# chgrp postfix /var/spool/postfix/etc/sasldb2

ほんで /etc/init.d/postfix restart して、以下のような感じになれば多分 OK。

$ telnet localhost smtp
Trying 127.0.0.1...
Connected to localhost.
Escape character is ’^]’.
220 xxxx.example.net ESMTP Postfix
EHLO localhost ← 入力
250-xxxx.example.net
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH NTLM DIGEST-MD5 CRAM-MD5 ← 注目
250 8BITMIME
QUIT ← 入力
221 Bye
Connection closed by foreign host.

■ [linux][玄箱]Web メール

出先でネットに繋がったとしても、smtp や imap のポートが通るとは限らない。また、携帯電話しか使えないという場合もありうる。

というわけで Web でメールを読み書きできるようにしようと思ったんだが、こちらは少くとも玄箱では問題山積でうまくいかなんだ。長くなったのでまた明日にでも書き申す (^-^;)。

コメント

最新の日記 一覧

<<  2025年5月  >>
27282930123
45678910
11121314151617
18192021222324
25262728293031

お気に入り日記の更新

最新のコメント

日記内を検索