- - PR -
qmail での POP Before SMTP が効かない
1|2|3
次のページへ»
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2002-10-09 15:26
お世話になります。POP認証でIPファイルは作成できますし、ageで時間切れファイルも
ちゃんと削除されます。要するに、POP側の処理は正常に行われています。ところが、 SMTP側が、認証する前や、別のIPからの接続でも、何でも送信が可能なってしまいます。 cdbの設定も間違いなさそうですし、仮に間違っていたら送信できないと思いますので、 なぜ通ってしまうのかが不明です。成功していないので、スパムの温床にならないよう、 FQDNの部分は伏せさせていただきましたが、以下が起動部分です。 /usr/local/bin/tcpserver -v -x /var/qmail/relay-ctrl/tcp.smtp.cdb -u qmaild -g nofiles 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 & /usr/local/bin/tcpserver -v 0 pop3 /var/qmail/bin/qmail-popup ***.***.*** /bin/checkapoppw \ /usr/sbin/relay-ctrl-allow /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d 3 & # ls -l /var/qmail/relay-ctrl/tcp.smtp.cdb -rw-r--r-- 1 root root 2086 Oct 9 14:24 /var/qmail/relay-ctrl/tcp.smtp.cdb このようにcdbファイルの場所はあっています。 別のサーバでは成功しているので、配置や仕組み自体は分かっているのですが、 こればかりは何故?という感じです。どこか確認するところがあるのか、 気がついたことがあればアドバイスいただければ幸いです。 谷中 |
|
投稿日時: 2002-10-09 22:07
一つの可能性として
rcpthostがないと、全てのメールを通してしまいます。 /var/qmail/control/rcpthost を確認してみてください。 |
|
投稿日時: 2002-10-09 23:22
アドバイスありがとうございます。rcpthost"s"ですね? 設定もされていて存在しています。
ちなみに、virtualdomainsを使っているので、localsは空です。FQDNは uname -a で 出るサーバ名でいいんですよね? プロセスをkillすればポート25も閉じるし、これ以外で実行されてしまっている MTAはなさそうですし、/hosts/allow や deny も空ですし、 /usr/local/bin/tcpserver -v -x /var/qmail/relay-ctrl/tcp.smtp.cdb ・・・ で実行されているとしか考えられません。 ひとつ心配なのは、relay-ctrl 3.* を最初にインストールして・・・でも同様に駄目 だったので、daemontoolsが必要ない、設置経験がある バージョン2.* をインストール しました。配置はデフォルトで。これが何か影響すると考えられるでしょうか? |
|
投稿日時: 2002-10-10 22:35
あ、たしかにrcpthost"s"ですね。
確認せずに書いてしまいました。すみません。 ここがただしく設定されているとすると、 あとは、 >/usr/local/bin/tcpserver -v -x /var/qmail/relay-ctrl/tcp.smtp.cdb の内容が原因ぐらいしか思いつきません。 smtprulesの指定先にある基本ルールの定義は大丈夫でしょうか? #relay-ctrl 3.*しか扱ったことがないので、2.*のシェルを見ると #不思議な感じです(^^; #2.*ってcdbファイルを作成しているのかな? |
|
投稿日時: 2002-10-10 22:48
ありがとうございます!
:allow,RELAYCLIENT="" ルールはこれです。参考サイトの指示通りに書いただけになりますが… これを例えば、 ![]() なんて感じにしてやってみると、送信はできなくなり、元に戻したら送信できました。 ただ、時間が経過してrelay-ctrlでIPが削除されても、どこからでも送信できて しまうので… 最初はv3でしたが、同様の結果でした。他に何か気がつかない原因が あるのかなぁ… linuxで一旦インストールしたものをアンインストールする方法を把握していないのですが、 もう一度最初からやり直してみます。 |
|
投稿日時: 2002-10-10 23:31
以前、同じような状況になって、エラーログみても分からない状態だったものです。
で、綺麗に解決できたというわけではないですが 前にこの会議室でも一度出てきていますが http://www.qmail.org/qmail-smtpd-relay-reject ここにあるパッチをqmailに当てると、なぜかうまく行きました。 パッチ当てるときにエラーみたいなの吐きますけど、動いてます。 不正中継を厳しくするためのパッチなんですけどねぇ・・・ (保証は出来ませんけど今のところ問題なく動いてます。) 一度、試してみてはどうですか? |
|
投稿日時: 2002-10-10 23:34
ありがとうございます!!
もう数日四苦八苦しているので、試してみようと思います。 成功するといのですが… |
|
投稿日時: 2002-10-11 11:24
残念ながら駄目でした。どこからの中継も許可してしまい、送信できてしまいました。
cdbファイルを覗いてみても正常に作られているし、手動でtcproulesを使ってcdbを 作ってためしても、ちゃんと -x でそのファイルが指定されて tcpserver で起動 しているにも関わらず、駄目でした。ルールも、成功しているサーバの通りにしてみたり、 いろいろ替えて実験してみましたが駄目でした。rcpthostsも空ではないので、qmail側の 設定の問題もないと思いますし… 仕方ないので、xinetdを使ってsmtpを空けて、only_from = の設定で、リレー許可する ホストを手動指定することしかないかな、と思っています。これは成功しています。 POP3認証でrelay-ctrlでIPを記録/削除してcdbを作る一連の処理は成功しているので、 このcdbを、/etc/xinetd.d/smtp の設定に入れてリレーを制御することは できないでしょうか? 要するに、xinetd経由で tcp.smtp.cdb を利用する方法です。 どうでしょうか? service smtp { disable = no socket_type = stream protocol = tcp wait = no user = qmaild server = /var/qmail/bin/tcp-env server_args = -r /var/qmail/bin/qmail-smtpd log_on_failure = HOST RECORD log_type = FILE /var/log/maillog only_from = 127.0.0. ***.***.***.*** } |
1|2|3
次のページへ»