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

[postfix-jp:01679] Re: POP before SMTP 化 改め SMTP AUTH化



こんばんは。早川です。

池田さん、ありがとうございました。
はまっていましたが、みえました。

結論としては今回はSMTP AUTHにしてしまったのですが。


on 02.5.23 0:00 AM, IKEDA Nozomu at ike@xxxxxxxxxxxxx wrote:

>  上記 URL を見てみましたが、
> 
> | Summary     : SMTP Relaying Control for qmail & tcpserver
> 
> とのことなので、これは tcpserver 側で smtp ポートを開閉するための
> ものなのではないでしょうか?

はっきり「qmail & tcpserver」と書いてありましたね。
理解が浅いまま、googleで検索しまくってやっているのですが、
POP before SMTPに関しては
MTA(Postfix)とpopper,imapper?(courier-imap)の組み合わせの関係もあって、
収束的な情報に辿りつけなくてはまっていました。

> Postfix も tcpserver から呼び出す
> ようにすることは可能だと思いますが ($mail_owner 権限で
> sendmail -bs を呼ぶ)、私自身は tcpserver を触ったことがなく、
> inetd でしか試したことがないので、試して報告していただけると
> うれしいです :-)

残念ながら現状の僕のスキルだと
試行錯誤の量的にちょっと厳しいかと。

relay-ctrlに関してのメモは残してありますので、
もし必要な方がいらっしゃいましたらどうぞ。

>  Courier IMAP のマスターサイト
> (http://www.inter7.com/courierimap/) の一番下の方に DRAC を使う
> パッチというのがあるようですが、これはいかがでしょう?
> http://aelyn.hell-city.org/courier-imap-popd-drac.patch
> 
> IMAP を使わないということであれば、おいでんさんの Postfix,
> Solid-POP3d, DRAC の一発構築スクリプトを使うと、比較的楽に
> Maildir での PbS 環境を構築できるかもしれません。
> http://www.oiden.net/Flets/HowTo6/index.html

courier-imapはPOP3もIMAPも対応していて、かつSSLもOKですし、
Postfixの場合はDRACを使うのが極めてスマートですから、
上記のパッチがpop3d,pop3d-ssl,imapd,imapd-sslの
すべてに用意されていればこの選択がよさそうですね。

 * * *

POP before SMTP化 改め SMTP AUTH化ですが、
SRPMのspecファイルを編集してRPMパッケージを作り直し、
現状のものと入れ替えました。
本当はSASLパスワードではなくUNIXパスワードを使いたかったのですが、
(その上でSSL化する)
cyrus-saslのRPM再構築がうまくいかない模様です。
最後まで通るのですが、
肝心の--with-pwcheckまわりで問題が発生してる感じです。

とりあえず--with-pwcheckなしの、
つまりcyrus-saslはVinePlus2.5のRPMを入れただけの状態ですが、
以下の手順にて動作を確認しました。

情報的には特別なものはないですが、
・VinePlus2.5のcyrus-saslパッケージは--enable-plain付きなので、
    Plainパスワードしか使えないOutlook用に改めて作り直す必要はない
・SASLパスワードの生成時、
    「メールアドレスのドメイン部分」と書いてあるページがあったが、
    「ホスト名」が指定されていないとうまくいかなかった
    (Postfixの設定とのからみがあるかは未調査)
・SASLパスワードを登録せずにSMTPのテストをすると
    250-AUTH PLAIN LOGIN
    までしか表示されない(ややはまりました)
といったところでしょうか。

--with-pwcheckの問題については
ややペンディングぎみですがこれから調べます。


----------

◎ SMTP-AUTHの設定
    ・VinePlus2.5より以下のRPMを調達
        cyrus-sasl-1.5.27-17vl1.i386.rpm
        cyrus-sasl-devel-1.5.27-17vl1.i386.rpm
    ・以下の手順にてCyrus-SASLをインストール
        # rpm -ivh cyrus-sasl-1.5.27-17vl1.i386.rpm \
            cyrus-sasl-devel-1.5.27-17vl1.i386.rpm
        ※ configureオプションは以下のようになっている
        configure \
            --enable-static --enable-shared \
            --with-plugindir=%{_libdir}/sasl \
            --with-dblib=gdbm \
            --disable-krb4 \
            --with-rc4 \
            --enable-anon \
            --enable-cram \
            --enable-plain \
            --enable-login
    ・/usr/lib/sasl/smtpd.confを作成して以下の1行を記述
        pwcheck_method: sasldb
    ・パスワードを生成
        # /usr/sbin/saslpasswd -u mail.hogehoge.net hayakawa
        Password:
        Again (for verification):
        # chgrp postfix /etc/sasldb
        # chmod 640 /etc/sasldb
        # ls -laF /etc/sasldb
        -rw-r-----    1 root     postfix     12673 May 23 10:00 /etc/sasldb
    ・ユーザーを確認
        # /usr/sbin/sasldblistusers
        user: hayakawa realm: mail.hogehoge.net mech: DIGEST-MD5
        user: hayakawa realm: mail.hogehoge.net mech: PLAIN
        user: hayakawa realm: mail.hogehoge.net mech: CRAM-MD5

    ・Vine2.5より以下のSRPMを調達
        postfix-0.0.20010228pl08-0vl3.src.rpm
    ・以下の手順にてSRPMをインストール
        $ rpm -ivh postfix-0.0.20010228pl08-0vl3.src.rpm
        $ cd ~/rpm/SPECS/
    ・PostfixをSASL化させるためspecファイルを編集
        (make行の直前に以下の行を挿入)
        make makefiles CCARGS="-DUSE_SASL_AUTH -I/usr/include" \
            AUXLIBS="-L/usr/lib -lsasl"
    ・Postfixの自家製RPMパッケージを作成(Cyrus-SASLを先に入れておくこと)
        $ rpm -ba --clean postfix.spec 2>&1 | tee postfix-rpmlog.txt
    ・SASL化したPostfixを以下の手順にてインストール(強引に入れ替え)
        # rpm -Uvh --force postfix-0.0.20010228pl08-0vl3.rpm
    ・Postfixの設定ファイル/etc/postfix/main.cfを編集(以下の6行を追加)
        smtpd_sasl_auth_enable = yes
        smtpd_recipient_restrictions =
            permit_mynetworks
            permit_sasl_authenticated
            check_relay_domains
            reject
        ※ テストするときはpermit_mynetworksを外す
    ・Postfixの再起動
        # /etc/rc.d/init.d/postfix restart
        Shutting down postfix: postfix
        Starting postfix: postfix

    ・SMTP-AUTHのテスト
        $ telnet localhost 25
        Trying 127.0.0.1...
        Connected to localhost.
        Escape character is '^]'.
        220 mail.hogehoge.net ESMTP Postfix
        EHLO localhost
        250-mail.hogehoge.net
        250-PIPELINING
        250-SIZE 10240000
        250-ETRN
        250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5
        250 8BITMIME
        QUIT

----------


-----
With your dreaming, with your smile.
Hayakawa, Hiroshi <hayakawa@xxxxxxxxxxxxxxx>
Nagoya,Aichi,JAPAN ☆彡

Follow-Ups
[postfix-jp:01682] Re: POP before SMTP 化 改め SMTP AUTH化, Takashi SUGIMOTO
[postfix-jp:01685] Re: POP before SMTP 化 改め SMTP AUTH化, YOSHIMURA Keitaro
References
[postfix-jp:01675] Re: POP before SMTP化, IKEDA Nozomu

[検索ページ] [Postfix-JP ML Home]