[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:40025] 追加修正:[summary] <Q> smtp authentication with woody



柴田(あ)です。

本番機で実験していくつか問題を発見しましたので、
追加修正をいれます。
基本的な手順はかわりません。

<20040305041415.EA51317B980@arashi.debian.or.jp> の、
   "[debian-users:39791] [summary] <Q> smtp authentication with woody" において、
   "SHIBATA Akira <shibata@xxxxxxxxxxxxxx>"さんは書きました:

> In message <20040220091210.27C6717B8D9@arashi.debian.or.jp>
>    "[debian-users:39597] <Q> smtp authentication with woody"
>    "Fri, 20 Feb 2004 18:12:11 +0900"
>    "SHIBATA Akira <shibata@xxxxxxxxxxxxxx>" wrote:
> 
> > ■質問
> > woody で smtp auth を使うにはどのパッケージを
> > 使うとよいでしょうか?
> > あるいは woody ではダメそうですか?
> > (apt-cache search ではでてきませんでした)
> 
> ■回答
> 下の背景と目的のような状況下では次の方法にて
> 実現可能でした。
> なお、もっとも有効だった情報は
>  http://www.koka-in.org/~bg66/blog/archives/000105.html
> でした。
> 
> ■方法
> 前提:すでにいったん qmail が動いている状態からのスタート
>    ですので、 ucspi なども使える状態にあることとします。
>    ディストリビューションは Debian GNU/Linux Woody です。
> 必要なパッケージ
>   http://members.elysium.pl/brush/qmail-smtpd-auth/
>     から 0.31 release を入手
>   http://members.elysium.pl/brush/cmd5checkpw/
>     から cmd5checkpw-0.22.tar.gz を入手
>     (結局これはつかいませんでした)

と使わないと書きましたが、下に述べる恐ろしい欠陥を
発見しまして、 cmd5checkpw がないとうまくいきません。

cmd5checkpw-0.22.tar.gz を手元で展開して
当該ディレクトリで make すると
cmd5checkpw というファイルができます。
参考にした URL と同じように当方も /usr/local/bin に
cp しました。
オウナーを root:staff とし、権限を 711 としました。

で、ここらへんも変更で、

> くだんの URL より /etc/init.d/qmail の修正が必要という
> 情報があったので修正しました。
> 効果があるかどうかわかりませんが、
> AUTH=smtp-login

これはいりません。


> をファイルの上のほうで記述し、 qmail-smtpd を起動しているところを
>         sh -c "start-stop-daemon --start --quiet --user qmaild \
>             --exec /usr/bin/tcpserver -- -R -H \
>             -u `id -u qmaild` -g `id -g nobody` -x /etc/tcp.smtp.cdb 0 smtp \
>             /usr/sbin/qmail-smtpd \
>             /usr/bin/checkpassword \
>             /bin/true 2>&1 | $logger -t qmail -p mail.notice &"
> というようにかえました。

というのは、 SMTP auth 対応メイルソフトでないと
だめだったのですが、致命的な欠陥がありました。
それは、 smtp auth の形式をとっていれば
ユーザ名もパスワードもすべて素通しという
トンでもない状態でした(笑)

で、下記のように変更いたしました。

        sh -c "start-stop-daemon --start --quiet --user qmaild \
            --exec /usr/bin/tcpserver -- -R -H \
            -u `id -u qmaild` -g `id -g nobody` -x /etc/tcp.smtp.cdb 0 smtp \
            /usr/sbin/qmail-smtpd \
                ドメイン名 \
            /usr/local/bin/cmd5checkpw \
            /bin/true 2>&1 | $logger -t qmail -p mail.notice &"

発見したときはあせりました。

そして仕上げに /etc/poppasswd というファイルが必要です。
生テキストで
USER:PASSWORD 
というように記述します。
権限は 
-rwxr--r--    1 root     qmail         108 Mar 24 18:01 /etc/poppasswd
ってな感じです。
これ以上、その他ユーザの権限をきつくすると認証できません。



なお、確認は Outlook Express と Winbiff にて
確認しております。

Winbiff は CRAM MD5 がつかわれているようです。
Outlook Express はわかりません。


■現在わかっている問題
・ smtp auth の認証したユーザについてのログがでない
 →解決法はまだ見つけてません
   /usr/local/bin/cmd5checkpw に認証結果情報を
   吐いてもらえれば、非常にうれしいです。
   時刻と認証チャレンジユーザ名とその可否くらいで
   いいんですが、今の私には実力が足りていません。
・生テキストなパスワードファイルを記述しなくてはならなくて
 しかもそれが一般ユーザからも丸見え
 →当該サーバはメイル送信に専念して一般ユーザには
 ログイン不能ということにしてあり、管理者しかログイン
 できないので、「とりあえずよしとする」ことにしてます

とりあえず、当面の課題であった smtp auth による
送信サーバは利用可能になりましたし、致命的な
問題もほぼ解消しています。
長期的には解消していきたい問題と考えています。


-- 
SHIBATA Akira      ケーブルテレビはまちづくり
shibata@xxxxxxxxxxxxxx   phone : +81-429-74-3611