Linux で自宅サーバ [ Home Server Techncial ]

>>トップページに戻る

BBS 過去ログ No.0011に戻る

タイトル: postfix2 + SMTP-AUTH で設定したサーバに、クライアント側の認証設定なしでアクセスできますか?
記事No: 3467
投稿日: 2005/05/02(Mon) 08:46
投稿者: のり
始めまして、のりといいます。
このページを参考に postfix2 + SMTP-AUTH を利用したメールサーバを構築しました。
このサイトの解説は非常に参考になり助かりました。
ありがとうございます。

その後、早速構築したサーバを利用した送受信テストを行ってみました。
送受信は問題なくできているように見えるのですが、クライアント側でSMTP認証を行わない設定にしても送信できてしまいます。
この挙動は問題ないでしょうか?

以下に、こちらの環境を記します。
【サーバ環境】
OS : Vine-Linux 3.1
MTA : postfix-2.2.3

【クライアント環境】
OS : Windows XP
MUA : AL-Mail32 Version 1.13

サーバ構築時に参考にしたページは、"Postfix2でSMTP-AUTH"です。
同ページで説明されている「SMTP-AUTH の確認」は記述通り、

  250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5

の応答があったため問題なさそうです。
また、クライアント側でSMTP認証を行う設定にした場合も問題なく送信できています。

以上、よろしくお願いします。

タイトル: Re: postfix2 + SMTP-AUTH で設定したサーバに、クライアント側の認証設定なしでアクセスできますか?
記事No: 3468
投稿日: 2005/05/02(Mon) 20:40
投稿者: ふむ
 こんばんは。
 送受信のテストはLAN内からではなく、外部からもしてみましたか? うちも内部からなら認証しなくても送信できますが、外部からだとはじかれます。
 たしか、main.cf の設定で smtpd_recipient_restrictions のパラメータに permit_mynetworks があると mynetworks で指定したIPアドレスからは転送許可されるのだと思いました(ウロ覚え)。
 ご確認を。

タイトル: 【解決】Re: postfix2 + SMTP-AUTH で設定したサーバに、クライアント側の認証設定なしでアクセスできますか?
記事No: 3470
投稿日: 2005/05/03(Tue) 06:25
投稿者: のり
ふむさん、ななしさん、早速のご返答ありがとうございます。

ふむさんのご指摘通り、送受信の確認は Lan 内部からのみ行っていました。
main.cf には、

 >smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,rejec
t_unauth_destination

と記述されており、内部からのアクセス許可、sasl認証に通ったアクセスの許可、それ以外は不許可
という設定になっていました。
ですから、私が疑問に思った点は、意図したとおりの挙動と言うことですね。
外部からの送受信テストも環境を整えて行いたいと思います。

ななしさん、saslは、cyrus-sasl-1.5.27-17vl1 を使用しています。
Vine Linux のリポジトリには ver.2 が置いてあったのですが、これを使うとSMTP-AUTH アカウントを作成する過程で、
saslpasswd を使用してパスワードを指定しようとするとエラーが出てアカウントが作成できなかったために、
ダウングレードしてこのバージョンを使用したという経緯があります。

ご返答、ありがとうございました。

タイトル: Re: 【解決】Re: postfix2 + SMTP-AUTH で設定したサーバに、クライアント側の認証設定なしでアクセスできますか?
記事No: 3472
投稿日: 2005/05/03(Tue) 19:47
投稿者: Shrieker
丁度自分もサーバ構築をしなおしていて、
SMTP-AUTHの設定のところで悩んでました。
(OSはVineLinux3.1、MTAはpostfix-2.1.5)

結論的には3.1に入ってるcyrus-saslのバージョンだと出来ないんですかね・・・。

一応、今までやった手順を書きますと・・・、

1.とりあえずPlusのcyrus-saslのバージョンの2つをインストール。
cyrus-sasl-2.1.18-0vl3.i386.rpm、cyrus-sasl-devel-2.1.18-0vl3.i386.rpm

2.postfix-2.1.5.tar.gzを展開後、make。
ここで、db*-develがない等のエラーになったので、Plusから該当のものをインストール。
db1-1.85-5vl2.i386.rpm、db1-devel-1.85-5vl2.i386.rpm、db2-2.4.14-5vl2.i386.rpm、
db2-devel-2.4.14-5vl2.i386.rpm、db3-3.2.9-1vl2.i386.rpm、db3-devel-3.2.9-1vl2.i386.rpm、
(db3-utils-3.2.9-1vl2.i386.rpmもrpm -ivhをやってみたけどlibtcl8.0jp.soが無いと出たので・・・放置)

3.再度make実行後、make installを行い、ここのHPにある「SMTP-AUTH 用アカウントの作成」にある
”/usr/sbin/saslpasswd -c -u `/usr/sbin/postconf -h myhostname` ユーザ名”の実行時にエラー・・・。
/etc/sasldb自体が無いので途方にくれて、いま書き込んでます・・・。

のりさんと同じくcyrus-sasl-1.5.27-17vl1 に戻すしかないのか・・・。

タイトル: Re^2: 【解決】Re: postfix2 + SMTP-AUTH で設定したサーバに、クライアント側の認証設定なしでアクセスできますか?
記事No: 3476
投稿日: 2005/05/03(Tue) 20:53
投稿者: ふむ URL: http://www.aritia.org/hizumi/dsl/page_27.htm
 こんばんは。

> 結論的には3.1に入ってるcyrus-saslのバージョンだと出来ない
んですかね・・・。

 できないことはないはずです。メモとってなかったので正確な手順
はここに書けないのですが、わたしは 3.1 に入っているものでできま
した。

> ”/usr/sbin/saslpasswd -c -u `/usr/sbin/postconf -h myhost
name` ユーザ名”の実行時にエラー・・・。
> /etc/sasldb自体が無いので途方にくれて、いま書き込んでます
・・・。

 これについては、わたしは下記のページを参考にさせていただいて
解決したと思います。微妙なんですが新バージョンではコマンド等が変
更になっているんですよね・・・。コンパイル・オプションも違ってい
るので make からやりなおしかもしれません。
 Vine 3.1 は登場から日が浅いせいか、参考になるページが少ないよ
うですが、他のバージョンや別系統の Linux でのレポートはあります
(下記のページは redhat)ので組み合わせれば何とかなります。
 では、ご健闘を。

タイトル: Re^4: 【解決】Re: postfix2 + SMTP-AUTH で設定したサーバに、クライアント側の認証設定なしでアクセスできますか?
記事No: 3482
投稿日: 2005/05/04(Wed) 07:12
投稿者: Shrieker
回答ありがとうございます。とりあえず完了していないのですが、今までの手順を載せます(確認の意味も込めて・・・^^;)。

1.ソースを落としてインストール。
rpm -ivh cyrus-sasl-2.1.18-0vl3.src.rpm

2.rpm/SPECSのcyrus-sasl-vl.specを変更。
--without-pwcheck → --with-pwcheck

3.依存関係でリビルドが上手くいかなかったので該当のものをインストール。
apt-get install gdbm-devel
apt-get install openssl-devel
apt-get install pam-devel

4.リビルド。
rpmbuild -ba cyrus-sasl-vl.spec

5.rpm/RPMS/i386の出来上がったrpmをインストール。
rpm -Uvh --force cyrus-sasl-2.1.18-0vl3.i386.rpm
rpm -Uvh --force cyrus-sasl-devel-2.1.18-0vl3.i386.rpm
rpm -ivh --force cyrus-sasl-md5-2.1.18-0vl3.i386.rpm
rpm -ivh --force cyrus-sasl-plain-2.1.18-0vl3.i386.rpm

6.メイク(includeの後にsasl追加、AUXLIBSのsaslをsasl2に変更。
make makefiles CCARGS="-DUSE_SASL_AUTH -I/usr/include/sasl" AUXLIBS="-L/usr/lib -lsasl2"
make
make install

7.saslの設定。
echo "pwcheck_method: saslauthd" > /usr/lib/sasl2/smtpd.conf
/sbin/chkconfig saslauthd on
/etc/rc.d/init.d/saslauthd start

8.アカウントのパスワード設定の前にとりあえずtelnetで確認してみようかと・・・。
telnet localhost 25

ぐぅ・・・動かん・・・こんな単純なところではまるのか・・・。
1番目の220 (ホスト名が表示される)のエコーバックが表示されてないので
ポートかなぁ・・・と思うんですが・・・ちょっと寝てから考えて見ます。

タイトル: Re^6: 【解決】Re: postfix2 + SMTP-AUTH で設定したサーバに、クライアント側の認証設定なしでアクセスできますか?
記事No: 3485
投稿日: 2005/05/06(Fri) 01:11
投稿者: Shrieker
結果的には一応動くようになりました。

> あれ?と思ったのはこれだけかな?

ううむ・・。あまり自分が確信を持って言える感じじゃないのであれなんですけど、
一応、「ふむ」さんの投稿にもあったHPを参考にオプションをつけてみたのですけど・・・。
こうじゃないのかな^^;;

> postfixはVine3.1からでしょうか?

これはダウンロードをした場所のことですよね?
それでしたらここのページで紹介されていたftp://postfix.get7.biz/postfix/official/から持ってきました。
> 他は間違ってないようですので、たぶん、postfixが動いてないと思われます。

超正解です^^;と言うかMasterで起動が止まってました・・・。
原因は恥ずかしながらalias関連の名前が間違っていた(というか設定してなかった・・・)ので
/etc/aliases.dbがねーぞ!とひっきりなしにログに出てました。

> VineSeedならsmtp-authでrebuildされてた記憶があるので、
> VineSeedから取ってくるのもいいかもです。

見てみました。/Vine/VineSeed/SRPMSにpostfix-2.1.5-0vl1.src.rpmがあったのですが・・・。

CCARGS="-DMAX_DYNAMIC_MAPS \
-DUSE_SASL_AUTH -I/usr/include/sasl \
-DHAS_LDAP \
-DHAS_PCRE -I/usr/include/pcre \
-DHAS_MYSQL -I/usr/include/mysql \
-DHAS_PGSQL -I/usr/include/pgsql" \
AUXLIBS="-lsasl2" \

saslは標準になってるみたいですがMySQLとPGSQLの記述もあってちょっと又面倒なことになりそうだったので
見送りました・・・。

ちなみにななしさんは「VineSeedならsmtp-authでrebuildされてた記憶」
というのはどこで知ったんでしょうか?
VineLinuxのHPでSeedのところを見ても明確に記載されてないような・・・(目が節穴かもw)。
後学のために教えていただければうれしいです。

タイトル: Re^8: 【解決】Re: postfix2 + SMTP-AUTH で設定したサーバに、クライアント側の認証設定なしでアクセスできますか?
記事No: 3487
投稿日: 2005/05/07(Sat) 00:57
投稿者: Shrieker
回答ありがとうございます。
少し気になったところがありますので、それについて回答をいただければ・・・と思います。

> Vineじゃなければ特に何もないです。

ここがすごく気になるところなのですけれども・・・。
実際、自分の環境はVine3.1です(前述だと思います)。
「Vineじゃなければ」と有りますので問題なのですよね・・・。
なにかしら問題があるのであれば指摘していただければと思います。

▲ページの最上部に戻る

Copyright©2003 Home Server Technical. All Right Reserved.
webmaster@miloweb.net