前回のDomainKeysの話で、ヘッダが変わっても署名が有効かどうかで、寝ぼけたことを言ってましたね。
そもそも、メールが伝わる過程で、ヘッダなんてころころ変わるんだから、pgpだって全てのヘッダなんか見てるはずがないのでした。

それはさておき、今度はSASLを入れてみます。
参考にしたのは、ここです。
まずは、portsからsecurity/cyrus-sasl2をインストール。オプションは、WITH_AUTHDAEMON=yes。
続いて、portupgradeでpostfixをアップグレード。このとき、コンフィグ画面(?)でSASL2を有効にします。
そして、postfixのmain.cfに以下を追加。
smtpd_sasl_application_name = smtpd
smtpd_sasl_local_domain = $myhostname
後は、master.cfのsubmissionポートの設定のところで、SASLを有効にします。
submission inet n       -       n       -       -       smtpd
        -o smtpd_sasl_auth_enable=yes
        -o smtpd_sasl_security_options=noanonymous
        -o broken_sasl_auth_clients=yes
        -o smtpd_client_restrictions=
        -o smtpd_helo_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
        -o smtpd_data_restrictions=
        -o smtpd_etrn_restrictions=reject
        -o content_filter=dksign:[127.0.0.1]:10028
そして、/usr/local/lib/sasl2/smtpd.confファイルを作成します。今回は、courier-authdaemondを認証に使って、imapのパスワードで認証することにしてみようと思います。
pwcheck_method: authdaemond
authdaemond_path: /var/run/authdaemond/socket
mech_list: CRAM-MD5 PLAIN LOGIN
postfixが、authdaemondのソケット(/var/run/authdaemond/socket)を読めるように、/etc/groupでpostfixをcourierグループに追加します。
これで、postfixを再起動すればおっけ~、のはず?
が、ぜんぜんうまく行きません。まったくうまくいきません。激しくうまくいきません。
エラーログをずらずら並べても良いのですが、今回は最終的にわかったことだけ書きます。
postfix sasl howtoには、sasl2のsampleの下のserverとclientでデバッグしろなんて書いてあるので、それを試してみました。
その前に、saslpasswd2コマンドで、/usr/local/etc/sasldb2.dbにユーザを追加してあります。
# saslpasswd2 -c -u `postconf -h myhostname` false
  • serverとclientのオプション -s のサービスとは、コンフィグファイルの名前とは関係ない。コンフィグファイルの名前は、sample.confで決めうち。(なので、/usr/local/lib/sasl2/smtpd.confから/usr/local/lib/sasl2/sample.confにリンクをはった)
  • なので、試すときには、サーバ側はオプションなしで起動。クライアント側は -m オプションだけ使えばよい。
  • mechがPLAIN又はLOGINのときは、ユーザ名にはそのまま false を使って、パスワードは UNIXのパスワードを使うと、認証に成功する。それ以外の組み合わせは×。
  • mechがCRAM-MD5のときは、ユーザ名はfalse@wizard-limit.net、パスワードはsaslpasswd2で設定したものを使うと、認証に成功する。それ以外の組み合わせは×。
    ※ これについては、ホスト名とメールのバーチャルドメインが違うためだとわかった。メーラからは、@以降はなくても大丈夫だった。
と、言うわけで、authdaemon君には問い合わせが行っていないらしい&認証方法によってユーザ名とパスワードに使えるものが変わってしまうらしい・・・・。
私が何か根本的に間違っているのか、はたまたsasl2の実装が悪いのか・・・。暇があったらソースでも読んで見ますかね~。

カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: SASL対応

このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/1031

コメントする

このブログ記事について

このページは、falseが2006年4月 2日 10:00に書いたブログ記事です。

ひとつ前のブログ記事は「DmainKeys対応」です。

次のブログ記事は「Postfix の TLS対応」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

広告

Powered by Movable Type 6.1.1