qmailいろいろ(8) at UNIX
[2ch|▼Menu]
1:名無しさん@お腹いっぱい。
06/11/12 19:07:01
qmailの設定、インストール、関連ソフトウェアなど、
いろいろ情報交換しましょう!

前スレ qmailいろいろ(7)
スレリンク(unix板)

関連スレ、関連サイトは >>2-10 あたり。

2:名無しさん@お腹いっぱい。
06/11/12 19:09:39
過去スレ
1 URLリンク(pc.2ch.net)
2 スレリンク(unix板)
3 スレリンク(unix板)
4 スレリンク(unix板)
4 スレリンク(unix板)
6 スレリンク(unix板)
7 スレリンク(unix板)

関連スレ
djb(4)
スレリンク(unix板)
Internet Mail System 総合スレ 3
スレリンク(unix板)
〓〓〓いつまでも次世代 IMAP その2〓〓〓
スレリンク(unix板)

関連Webサイト
本家サイト(英語)
URLリンク(cr.yp.to)
qmail.jp
URLリンク(www.qmail.jp)
DJB's software maniacs
URLリンク(www.emaillab.org)
DJB softwares ML
URLリンク(groups.yahoo.co.jp)
日本Courierユーザ会
URLリンク(courier-users.jp)
連載記事 「実用qmailサーバ運用・管理術」
URLリンク(www.atmarkit.co.jp)
qmail のある暮らし
URLリンク(ya.maya.st)

3:名無しさん@お腹いっぱい。
06/11/12 19:13:10
関連ソフトウェア(含パッチ)
netqmail
URLリンク(www.qmail.org)
checkpw
URLリンク(checkpw.sourceforge.net)
qmail-vida
URLリンク(qmail-vida.sourceforge.jp)
vpopmail
URLリンク(www.inter7.com)
アウトルックをロックアウト
URLリンク(www.unixuser.org)
UW-IMAPDてんこもり拡張ぱっく
URLリンク(www.gentei.org)
Qgrey - S25R + qgreylist パッチ
URLリンク(k2net.hakuba.jp)
Qmail-Scanner: Content Scanner for Qmail
URLリンク(qmail-scanner.sourceforge.net)
SPF implementation for qmail
URLリンク(www.saout.de)
qmail-spp (SMTP plugin patch)
URLリンク(qmail-spp.sourceforge.net)
QmailMSP (Submissionポート)
URLリンク(www.aripollak.com)

4:名無しさん@お腹いっぱい。
06/11/13 00:36:47
こっちに統合ってことになったでしょ。

djb(4)
スレリンク(unix板)

5:名無しさん@お腹いっぱい。
06/11/13 08:22:38
統合・吸収とか言って実現した事無いよなぁ〜w

6:名無しさん@お腹いっぱい。
06/11/17 19:33:13
.qmail-test_01
.qmail-test_02
.qmail-test_03
  :
.qmail-test_11

といったようにテスト用アカウントを作成し、中身は全て
同じアドレスへの転送としているのですが、.qmail-test_*
このように一つの設定で共通化するようなことはできない
ものでしょうか。

ご教示いただけますと幸いです。

7:名無しさん@お腹いっぱい。
06/11/18 08:28:39
統合・吸収とか言って実現した事無いよなぁ〜w

8:名無しさん@お腹いっぱい。
06/12/01 18:05:29
spam対策でどのパッチ当てようか悩んでいたら、
URLリンク(www.fehcom.de) を発見。一からやるのなら楽でいいかなぁとか思ったけど、
と思ったけど、既存のpatch当て当てした環境との互換性を考えると頭が痛い。

9:名無しさん@お腹いっぱい。
06/12/02 07:41:48
greylistingにはなにつかってる? qmail用なのにPerlつかったりMySQLつかったりするものばかり。
Cで書かれていてcdb使うやつはないのかな…

10:名無しさん@お腹いっぱい。
06/12/02 08:32:33
>>9
無難にQgrey。

正規表現を使いまくるからperlで作ったんじゃないのかな。
perlがいやならperlccでもしてみたら?
てか、自分で作ってくれw

11:名無しさん@お腹いっぱい。
06/12/02 08:45:49
>>9
つ cqGreylist URLリンク(oss.albawaba.com)

12:名無しさん@お腹いっぱい。
06/12/02 09:10:13
>>10
いまだにSolaris8にパッチ当て当てしたmail serverを使っているので、
Perl5.8必須とかなっているの萎えるのですだ。

>>11
よさげかなと思ってarchiveをダウンロードしてREADMEを見たら、
this implementation provides only greylisting based on the source IP address
and not the full triplet as suggested in the greylisting whitepaper.
う〜む。

んで、cqgreylist.cを見るとcdbすら使わずにやっているのか。

13:名無しさん@お腹いっぱい。
06/12/02 11:14:38
Qgreyの元になっているqgreylistも
qgreylist, on the other hand, just greylists by source IP address. This is
mainly because it's written as a wrapper for qmail-smtp so has no other
information available. For home and small office use this works nearly as well.

14:名無しさん@お腹いっぱい。
06/12/02 17:31:21
cdb は BerkeleyDB なんかと違って、DB にデータを追加することができず、
ゼロからの生成しかできないから、greylisting みたいな用途で使うには
まったく向いていない。

つーか、qmail をこれ以上いじりまわすのはもうやめたら。もう終わってるから。

15:名無しさん@お腹いっぱい。
06/12/02 19:41:27
みなpostfixに移行してるからなぁ・・・
でも、qmailを手放せない俺ガイル。

16:名無しさん@お腹いっぱい。
06/12/03 01:44:22
qmailadminのようにマルチドメイン対応でML管理もできる
日本語対応のwebフロントエンドがあれば、postfixに乗り換えるんだけど。

17:名無しさん@お腹いっぱい。
06/12/03 02:01:17
qmail単体でサブミッションポートって実現できますか?

18:名無しさん@お腹いっぱい。
06/12/03 09:36:12
Qgrey & qgreylistはIPアドレスでしかgreylistingやっていないから、案の定、サイトのユーザ数が
ある程度多いと、spam送信側が多人数に対していちいちconnection張りにきたのを再送信したと見なして、
そのIPからのメールを大開放しちゃうなぁ。

postfix + postgreyとはspamの遮断率に格段の差が出てる。
いい加減、qmail捨てたい…

>>17
単体というのがなにを示しているのかわからんけど、qmailでsubmission対応はできる。
SMTP AUTH必須にしたqmail-smtpdをsubmissionポートで動かす。

19:名無しさん@お腹いっぱい。
06/12/03 11:53:32
>>17
SubmissionPortを理解してるか?

20:名無しさん@お腹いっぱい。
06/12/03 12:20:47
>>18
URLリンク(qmail-spp.sourceforge.net)

21:名無しさん@お腹いっぱい。
06/12/03 14:50:40
qmail-sqqのgreylisting-sppつかって、QgreyのようにS25R + greylistingができないかな?

22:名無しさん@お腹いっぱい。
06/12/04 01:15:08
>>18>>19
すみません、説明が不足していました。
25番ポート側ではrcpthostsを有効にするのと587番側ではSMTP_AUTHに対応してrcpthostsを無視するようにする方法が知りたいです。

それっぽいpatchがいくつかあったので当ててみたんですが、
220 hogehoge.com ESMTP
EHLO [192.168.4.11]
250-hogehoge.com
250-AUTH LOGIN CRAM-MD5 PLAIN
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-PIPELINING
250 8BITMIME
AUTH LOGIN
503 auth not available (#5.3.3)
503 auth not available (#5.3.3)
RSET
250 flushed
MAIL FROM:<yama@kawa.com>
250 ok
RCPT TO:<inu@neko.com>
553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)
QUIT
221 hogehoge.com

となってしまいます、、

試しに手作業でaddrallowed()関数で環境変数SUBMISSIONが存在した場合はreturn 0;するようにしたんですがダメでした。

if(env_get("SUBMISSION")) return 0;

23:名無しさん@お腹いっぱい。
06/12/04 04:03:12
>>22
パッチって
int addrallowed()
{
int r;
+ if(env_get("SUBMISSION")) return 0;
r = rcpthosts(addr.s,str_len(addr.s));
って感じだよね?

あとは
smtp用に
exec env - PATH="/var/qmail/bin:/usr/local/bin:/bin:/usr/bin:$PATH" \
tcpserver -v -x /home/vpopmail/etc/tcp.smtp.cdb -R -h -l0 -u qmaild -g nofiles \
0 smtp qmail-smtpd /home/vpopmail/bin/vchkpw /bin/true 2>&1

submission用に
exec env - SUBMISSION="" PATH="/var/qmail/bin:/usr/local/bin:/bin:/usr/bin:$PATH¥" \
tcpserver -v -R -H -l0 -u qmaild -g nofiles \
0 587 qmail-smtpd /home/vpopmail/bin/vchkpw /bin/true 2>&1
すればいいだけでそ。
ヲレの例ではvpopmail使ったり、SMTP側ではPOP before SMTP使ったりしているから
ちょっとだけ煩雑だけど。

24:名無しさん@お腹いっぱい。
06/12/04 08:39:37
>>22
パッチって>>3の一番下?

25:名無しさん@お腹いっぱい。
06/12/04 16:18:38
>>21
それ以前に、greylisting-sppはBDB40以外への対応とか、sqlite3対応とかして欲しいところ。
sqlite2 -> sqlite3への移行は関数名書き換えるだけなのかと思っていたら、そんな単純じゃないのねん…

26:名無しさん@お腹いっぱい。
06/12/05 17:14:54
当方プロパイダーDTIで携帯宛にメールが送れません。
調べてみたところ、携帯会社がSPAM対策をしていて、それにひっかかっているみたいで
smtproutesにて、プロパイダーのSMTPサーバーを振ってやる事で回避できるみたいですが、
DTIはsubmissionを採用しているので、認証が必要です。

smtproutesで、認証等の設定はできるんでしょうか?
また、できないとして、どのような対策をとるべきでしょうか?

27:名無しさん@お腹いっぱい。
06/12/05 17:35:40
>>26
URLリンク(tomclegg.net)

28:名無しさん@お腹いっぱい。
06/12/05 17:57:51
>>24
それです。
578ポートはrcpthostsを無視してオープンリレーっぽくしたいのですが、、

29:名無しさん@お腹いっぱい。
06/12/05 18:06:42
>>28
・・・パッチの中身を見て味噌。

30:名無しさん@お腹いっぱい。
06/12/05 18:07:23
>>27
ありがとうございます。

説明通りパッチを当ててインストールをし、
smtproutesにdocomo.ne.jp:hogehgoe.com ID pass
の順で記述してみましたが、やはり弾かれてしまいます。

submissionポートにコネクションすればいけそうなんですけど、あと一歩というところなんですが・・・orz

31:名無しさん@お腹いっぱい。
06/12/05 18:14:44
>>30
DTI固有の問題みたいですね。
tcpdumpとかでSMTPサーバとのやり取りを覗いて見たら?

32:31
06/12/05 18:17:03
>>30
あ・・・ポート指定が無いよ。
example.ne.jp:example.com:578 ID pass



33:名無しさん@お腹いっぱい。
06/12/05 18:45:27
>>31-32
ポート指定しましたが、ダメでしたorz

しばらく格闘してみます、アドバイスありがとうございました。

34:名無しさん@お腹いっぱい。
06/12/05 19:06:51
>>28
お前、ものすごいバカだろ。

35:名無しさん@お腹いっぱい。
06/12/05 20:10:42
URLリンク(forum.tsukaeru.net) でqgreylistを改造して
spamの排除効率上げているね。

qgreylist単体だとアカウント数50個ぐらいのレベルになるとspamがだだ漏れに
近くなるから、IPアドレスだけでなく、きちんとMAIL FROMとRCPT TO:も記録して
greylistingするのが必須になるけど、とりあえずRCPT TO:を記録する改造方法が
書かれている。

けど、こういうことはqmail-sppでやったほうがいいと思う。

36:名無しさん@お腹いっぱい。
06/12/07 20:44:04
>>34
バカなりにがんばってるんですが、
patchもあてて起動スクリプトも環境変数SUBMISSIONを定義するようにしたんですが>>22の状況になります。
なぜかSMTP_AUTHもちゃんと動きません、、

# smtp submission port
export SUBMISSION="";\
/usr/local/bin/tcpserver -R -c 100 -u 506 -g 503 -x \
/etc/tcp.smtp.cdb \
hogehoge.com submission \
/var/qmail/bin/qmail-smtpd \
/bin/checkpassword \
2>&1 | /var/qmail/bin/splogger smtpd 3 &

37:名無しさん@お腹いっぱい。
06/12/08 00:52:21
smtp_authのみ許可するのってどうすんですか?

38:名無しさん@お腹いっぱい。
06/12/11 10:00:38
他に当ててるパッチを書けと・・・

39:名無しさん@お腹いっぱい。
06/12/11 18:48:41
Qgreyではspamが漏れまくるようになってきたので、qmail-spp用の
greylisting-sppを使おうと思っております。でもS25Rが出来ないと
副作用が大きいって事でs25rプラグインを書いている最中なんだけど、
$ env TCPREMOTEHOST=unknown ./s25r.pl
N
$ env TCPREMOTEHOST=foo.exsample.com ./s25r.pl
A
てな感じの動作のs25r.plを作ってplugsinsに置いて、
/var/qmail/control/smtppluginsの[rcpt]セッション中に
plugins/vpopmail_check_recipient.sh
plugins/s25r.pl
plugins/greylisting-spp
plugins/tarpit
とかいう感じで書いておけばいいのかな。

あと、SMTP AUTHが通ったclient要に、SMTPAUTHUSERがセットされていれば
Aを返すようにするとQgreyの弱点が解消できるのかな。

40:名無しさん@お腹いっぱい。
06/12/11 19:05:29
>>36
SMTP AUTHが動いていないのは最初のログで明白だけど、どんな環境か明示しないんだもの。
エスパー希望なら最初からそう書け。

41:名無しさん@お腹いっぱい。
06/12/11 20:09:57
>>39
AもNも最後のコマンドとしてつかう場合でそ。
S25Rに引っかかった場合は、なにも返さなければ次の処理に行くんじゃない。

42:名無しさん@お腹いっぱい。
06/12/12 02:49:20
>>40
すみません、
環境としてはDELL SC430にFC5を入れてます。
qmailにはerrno.h、reject、smtp-auth、date-localのパッチを入れてます。
checkpasswordはchmod 4555してます。

SMTP AUTHのパスワードって/etc/passwdですよね。
なんで認証できないんだろ。

43:名無しさん@お腹いっぱい。
06/12/12 10:33:49
>>41
Thanks。qmail-spp用S25Rプラグインが出来ました。S25Rにひっかからない
場所からのメールはgreylistingにかからないことと、tarpitと組み合わせて
Qgreyより遥かに遮断率が向上したのを確認。spamはQgreyに比べて1/5ぐらいに
なっています。

それにしても、qmail-spp用プラグインは作るの楽しいなぁ。
改造がここまで簡単だとは。ただ、セキュリティ上の注意が必要だけど。

>>42
250-AUTH=LOGIN CRAM-MD5 PLAIN
といっているのに、
AUTH LOGINをすると
503 auth not available (#5.3.3) となるのだから、
smtp-authパッチがうまいこと動作してないんでそ。

どんなsmtp-authパッチを使っているのか知らないけど、とりあえず
netqmail-1.0.5 URLリンク(www.qmail.org)
Bill Shupp's SMTP-AUTH/TLS composite patch, version 20060105
URLリンク(shupp.org)
の定評のある組み合わせで試してみれば。

44:名無しさん@お腹いっぱい。
06/12/12 16:42:23
>>39
vpopmail_check_recipient.shって
URLリンク(perolo.vantage.at)
だと思うけど、vuserinfoをsetuidしなきゃいけなかったりと、ちょっとあれじゃない?
sedとかechoとかのパスも直打ちで、書き換えせんといかんし。

vuserinfo.cを元にqmail-spp用のプラグイン作ったほうがいいと思う。

45:名無しさん@お腹いっぱい。
06/12/13 00:27:26
qmail-sppでtaRgrey URLリンク(d.hatena.ne.jp)
URLリンク(k2net.hakuba.jp) をやらせようと思ったんだけど、
qmail-spp用のtarpit.cって基本的にsleep()するだけで、sleep()している最中に
コネクション切れたこと認識できないから、tarpit

46:名無しさん@お腹いっぱい。
06/12/13 01:05:07
うひゃ、途中で書き込んじゃった。
tarpitに成功したらgreylistingを省略するにはstdoutにAを出すだけで大丈夫だけど、
tarpit中にコネクションが切れたことを検出できないので、結局greylistingを
完全に飛ばすことになっちゃう。

ってことで、tarpit単体のpluginをいじるのではなく、tarpitとgreylistingとの
複合pluginにして、
・greylisting DBに未登録の場合
- greylisting DBに登録
- tarpitをする (その際に切れることがあるが、プラグインの処理は続行)
- return 0; をして、このプラグインを抜ける。
コネクションが切れている場合はプラグインを抜けても当然メールは受け取れない。

・greylisting DBに登録済みの場合
- リジェクト時間内の場合、stdoutにE451を返す
- リジェクト時間外の場合、greylist DBを消す
- return 0; をして、このプラグインを抜ける。
ってな感じの動作を考えた。けど、これってtarpitで切れたコネクションをsenderの
MTAが再送してくれることが前提になるけど、別に問題ないのかな?

47:名無しさん@お腹いっぱい。
06/12/13 06:04:09
とりあえず実装してみたけど、プラグインからはtarpitting後にメールを受け取ったか
どうかがわからないので、たとえメールを受け取ったとしても、リジェクト時間内に
再度同じIP & MAIL FROM & RCPT TOのメールが来た場合、再送エラーになっちゃう。

再送エラーが出ないように、tarpitting後にそのIP & MAIL FROM & RCPT TOをリジェクト時間外
に設定しちゃうと、当然ながらリジェクト時間内に関わらず、再送してくると受け入れちゃう。

後者の動作はgreylistingの再送時間設定が無意味になるので、非常にやばい。
前者の動作は無意味な再送が多発しそうでいや。まあ、tarpittingのみとか、
greylistingのみとかよりはメールを受け取りやすいけれど。

なんかうまいことできないものかなぁ。

48:名無しさん@お腹いっぱい。
06/12/13 10:09:13
>>47
greylistingDBに何を記録するかが肝だよな。
[Message-ID]とか>>35みたくMD5にするか・・・

49:名無しさん@お腹いっぱい。
06/12/13 10:57:18
>>48
ソースIPとMAIL FROMとRCPT TOのセットでの判別だと、>>47の例のように再送ではないのに
再送と誤認してしまうし、別のIPアドレスからの再送に対応できないしね。

QgreyではソースIPを/28とか/24とかでまとめちゃうことで、別のIPアドレスからの再送に対応
しようとしていたけど、もうちょっとうまい方法がないものか…

50:名無しさん@お腹いっぱい。
06/12/13 11:12:55
かなり安易な考えだけど、逆引きできるIPならドメイン部も比較の考慮にいれるとか。

51:名無しさん@お腹いっぱい。
06/12/13 11:12:59
>>47
とりあえず、ソースくれ。>>35の改造もqgreylistの改造方法については書かれているけど
全体のソースはなかったので、ヲレはQgreyでspamだだ漏れ生活なのだ。

52:名無しさん@お腹いっぱい。
06/12/13 12:27:17
>>48
再送の際、DATA部が書き変わるようなMTAって存在しないよね?
あと、別のIPアドレスからの再送に完全に対応するには、極論すればソースIPは無視しないといけない。

というわけで、greylisting DBにはMAIL FROM、RCPT TO、DATAのMD5を記録するのはどうよ。

53:名無しさん@お腹いっぱい。
06/12/13 12:29:24
毎回MD5をするのもなぁ・・・

54:名無しさん@お腹いっぱい。
06/12/13 12:33:48
>>53
うむ。DATA丸ごとMD5は処理的に重すぎるな。ヘッダだけでいいんじゃない?

55:名無しさん@お腹いっぱい。
06/12/13 13:14:18
一昨日からにわかに活気づいてきたな。スパム対策がよくわからんからqmailを
捨てようと思っていたけど、なんだか面白そう。qmail-sppはこのスレのテンプレには
あったけど、実際にどういうものか知らなかった

56:名無しさん@お腹いっぱい。
06/12/13 16:07:57
>>51
スマソ。業務時間外に自宅で作ったスクリプトなんだけど、会社のサーバに
入れるために作ったってこともあって、会社の所有物扱いになる可能性があるんで、
上司から許可もらわないと公開できないや。

元がGPLなソースとはいえ、会社がこれを他に配布しない場合にはソースを
公開する義務は生じないし。

まあ、うまくいけば会社のwebサーバから配布できるようになるかもしれないけど。

ちなみに、qmail-spp用プラグインのgreylisting-spp-0.2のsrc/greylisting-spp.c
122行目近辺の
/* No match found -> reject and add entry */
reject ();
ってところを、reject()せずに環境変数にしたがってsleep ()させて、
STDERRにログを吐くようした。
なので、誰でもすぐに同じようなものが作れると思う。

S25Rのほうは、Qgreyのqgreylist用S25Rパッチを単体のプログラムにして、
$ env TCPREMOTEHOST=unknown ./s25r.pl
$ env TCPREMOTEHOST=foo.bar.baz ./s25r.pl
A
という動作にするようにしたもの。

57:名無しさん@お腹いっぱい。
06/12/13 16:15:20
>>52
ソースIPは再送かどうかのチェックには使わないけど、記録はしておいたほうがいい。
じゃないと、いったん再送があったサーバには、それ以後4xxエラーを返さないようにして
遅延を避けることが出来なくなる。

58:名無しさん@お腹いっぱい。
06/12/13 16:24:27
あと、qmail-sppだけではDATAの中身は見ることができないと思う。
ちなみに、>>35のリンク先ではqmail-smtpdのsmtp_data()を改造している。

59:名無しさん@お腹いっぱい。
06/12/21 15:12:00
$msg = "MIME-Version: 1.0\n";
〜 省略 〜
$msg .= "From: $this->m_from\n";
$mp = popen("/usr/sbin/sendmail -f $this->m_from $this->m_to", "w");
fputs($mp, $msg);
pclose($mp);

今までメール送信するときはこの用にsendmailを使ってきたのですが、
qmailで同じようなことを行う方法をご存知ないでしょうか。
よろしくお願い致します。

60:名無しさん@お腹いっぱい。
06/12/21 15:29:42
>>59
SMTP しゃべっちゃったら?

61:名無しさん@お腹いっぱい。
06/12/22 11:06:47
qmailのsendmailラッパーじゃダメなのかい?

62:名無しさん@お腹いっぱい。
06/12/27 17:56:59
あの、taRgreyとQgreyの中の人なのですが、自分はpostfix使いのため
qmailでこんな開発が進んで来ているとは知りませんでした。

もしqmail向けtaRgreyサーバのようなものが作られましたら、QgreyやtaRgreyのページから
リンクや紹介などさせていただきたいと思います。

tarpittingを抜けたかどうかの判断ですが、postfixの場合SMTPセッションのどのタイミングで
呼ばれたか(RCPT終わった時点か、DATA終わった時点か)で判断してます。
qmail-sppではそういう、どのタイミングでフィルタするかとかの設定は出来るのでしょうか?


63:名無しさん@お腹いっぱい。
06/12/28 00:48:14
>>62
qmail-sppは
CONNECTION (TCP/IPのセッションを張りに来たとき) AUTH HELO MAIL RCPT DATA
の各セッション中に適用したいプラグインを記述できる。
詳しくは URLリンク(qmail-spp.sourceforge.net) 参照。

ただ、このスレのログにあるように、DATAセッション中のプラグインは別にDATAの
中身を見ることが出来ず、以前のセッションで得たデータやプラグインの結果を元に、
DATAセッション中にコネクションを切るか切らないかしかできないのであまり意味がない。

64:名無しさん@お腹いっぱい。
06/12/28 09:46:38
>>63
読んでみました。というか、ちょっと勘違いしてました。
postfixのポリシーデーモンのような形ではなく、呼び出し毎にフィルタスクリプトが起動されるのと
tarpitはtarpitプラグイン中でsleepして実現してるので、素直に書いて実現出来そうに思います。
簡単に擬似コード書きます。

if (tarpit_blacklist_dbにclient_ipが登録されていない?) {
greylist_dbへclient_ip/to/fromを登録
sleepで返答遅延
if (接続が切れている(tarpitを待てなかった)?) {
tarpit_blacklist_dbへclient_ipを登録 }
#tarpit待てたから許可
} else { #tarpitを待てなかったipから再接続
if (greylist_dbにclient_ip/to/fromが登録されていない?) {
greylist_dbへclient_ip/to/fromを登録
再送要求(450)を返す }
#再送だから許可
}

こんな感じ。プラグイン内からコネクション断が検知出来るか少し不安ですが出来ますよね?
tarpitプラグインとgreylistプラグインを別個にを使うのではなく、greylistiプラグインに
tarpit機能を組み込むように修正するとよいと思います。

65:名無しさん@お腹いっぱい。
06/12/28 16:19:31
>>64
qmail-sppから受け取れるのは環境変数だけだけど、コネクションまわりのことを知らせる
環境変数は存在しないので、プラグイン内からコネクション断は検知できません。
なので、それを実現しようとするとqmail-smtpdにさらにpatchを当てる必要あり。

どうせqmail-smtpdをいじるのなら、qmail-sppのポリシーを曲げて、DATAをpluginに
渡せるようにして、MAIL FROM & RCPT TO & IPだけの記録ではなく、きちんとメールの
中身を見て再送検知できるようにしたほういいというのは>>49-58の話題。
そして、その実装例が>>35のリンク先 URLリンク(forum.tsukaeru.net)

ちなみにヲレはtaRgreyは>>56の手法で実装したので、まさにgreylisting pluginの改造ですだ。

66:名無しさん@お腹いっぱい。
06/12/28 17:08:15
>>65
なるほど。コネクション断は検知できないのですね。むむ。
でもまあ確かに、tarpit通ったかどうかの判定省いても、ほぼ目的は達成できてますから、
となるともう改善手出来るところはないですね。

>>56の内容で、パッチの内容は把握できたので、65=56さんのパッチが公開できないようなら
適当に作ってここの人でテストしてもらって、んで自分が公開するということも可能です。
ただ、テスト環境もないし、もともとのアイデアは56さんだから、そちらで公開していただけるなら
そのほうがベターだと思います。

ちなみに、DATAを受け取り終わった時点で450で再送要求は、通らないMTAが多いから
やめたほうが良いらしいです。
ただ下の研究では再送要求でなく、こちらから強制セッション断してエラーを起こさせて
それで再送させてるとのことなので、そう出来れば良いのかも。
URLリンク(info.ipsj.or.jp)


67:名無しさん@お腹いっぱい。
06/12/28 17:39:16
あと、上の方でDATAかヘッダをMD5でという話が出てましたが、上記研究では
Message-IDを使われてます。
普通再送は同一Message-IDですから、これがたぶん一番スマートだと思います。

68:名無しさん@お腹いっぱい。
06/12/28 17:53:27
公開許可が取れたので、ドキュメント周りを整備中…

>>66-67
なるほど。でも、DATAが送られている最中に強制セッション断は実装が辛そうだなぁ

69:名無しさん@お腹いっぱい。
06/12/29 10:46:38
>>68
お、それは良かったです。
強制セッション断は、どのくらい再送率が下がるかという問題もあると思います。

70:名無しさん@お腹いっぱい。
07/01/11 12:29:44
はじめまして。
qmailのインストールを行って、vpopmailもインストールをしたのですが
送信は確認できたのですが受信ができません。
認証で蹴られてるようなのです。
qmail-pop3dのcurrentログを見ていると、「status 256」と出ます。
また、直接メールサーバへtelnetで入ると「USER ****」「PASS *****」と入力後
切断されてしまいます。
何が原因なのか教えていただけないでしょうか。
よろしくお願いします。

71:名無しさん@お腹いっぱい。
07/01/11 12:44:17
受信ってSMTPの受信じゃなくてPOPの受信ってことね?

72:70
07/01/11 12:53:04
すみません、書き方が悪かったですね。
メールの受信(SMTP)では問題なく受信は出来ています。
しかし、メールクライアントでのPOP認証でNGとなっています。


73:名無しさん@お腹いっぱい。
07/01/11 12:55:27
pop側のログとかは分かりますか?

74:70
07/01/11 13:21:30
「/var/log/qmail/pop3d/current」に出力されているログです。

@4000000045a5b96836567fe4 tcpserver: status: 1/30
@4000000045a5b9683658ae7c tcpserver: pid 3822 from 192.168.168.15
@4000000045a5b968365994f4 tcpserver: ok 3822 *****.jp:192.168.1.10:110 :192.168.168.15::34925
@4000000045a5b9683663c654 tcpserver: end 3822 status 256
@4000000045a5b9683663ed64 tcpserver: status: 0/30

75:70
07/01/11 15:49:42
インストールしているものは、qmail-1.03とvpopmailです。
以下にpopアクセス時の状態を記載します。
どう対応すればいいのか、わからなくなってしまいました。
教えていただけないでしょうか。

「直接アクセス時」

[root /]# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK <4601.1168497812@example.jp>
USER hogehoge
+OK
PASS hogehoge
Connection closed by foreign host.

「/var/log/qmail/pop3d/current」ログ

@4000000045a5dc9e150bcb64 tcpserver: status: 1/30
@4000000045a5dc9e150bd71c tcpserver: pid 4601 from 127.0.0.1
@4000000045a5dc9e150bdeec tcpserver: ok 4601 example.jp:127.0.0.1:110 :127.0.0.1::32777
@4000000045a5dca63b4633b4 tcpserver: end 4601 status 256
@4000000045a5dca63b463b84 tcpserver: status: 0/30


76:名無しさん@お腹いっぱい。
07/01/11 19:19:00
qmail-pop3dなんて捨てて、素直にcourier-imapのpop3d使えば?

77:名無しさん@お腹いっぱい。
07/01/11 22:48:20
新規インストールなら、悪い事は言わん
他のにしとけ

78:名無しさん@お腹いっぱい。
07/01/12 00:23:19
いまやSMTP AUTHパッチなどを当て、その上qmail-spp使って云々が必須だからなぁ。
新規の場合は素直にpostfix使うべきですな。

79:名無しさん@お腹いっぱい。
07/01/12 01:06:01
qmailの最新バージョンっていくつ?いつ出たの?


80:名無しさん@お腹いっぱい。
07/01/12 01:43:47
やだなぁ、知ってるくせにぃ。

81:名無しさん@お腹いっぱい。
07/01/13 18:58:49
mail Queueにメールが溜まってユーザーbox(Maildir)に格納されないのは
どんな原因がかんがえられますか?

82:名無しさん@お腹いっぱい。
07/01/13 19:46:37
owner か access 設定が間違ってる

83:名無しさん@お腹いっぱい。
07/01/13 23:18:44
owner?access?
ってどのファイル

84:名無しさん@お腹いっぱい。
07/01/14 13:44:10
基本的に、ハックが必要なのってqmail-smtpdだけだよね?
だったら、qmail-smtpd完全互換プログラムだけを一から作って
GPLで配布したら、初心者にもけっこう優しいqmailシステムが
作れるんじゃね?



85:名無しさん@お腹いっぱい。
07/01/14 13:46:25
いまさらそんなめんどくさいことやるくらいならPostfixに逃げるワ

86:名無しさん@お腹いっぱい。
07/01/14 18:31:26
84が作ってくれるそうです。

87:名無しさん@お腹いっぱい。
07/01/14 22:21:45
>>84
qpsmtpd でいいんじゃね?

88:名無しさん@お腹いっぱい。
07/01/14 23:30:22
URLリンク(smtpd.develooper.com) か。Milterにまで対応しているとはすごい。

89:名無しさん@お腹いっぱい。
07/01/15 10:02:42
magic-smtpd てのもあるな。

ただ、宛先をバラしてしまうという基本設計そのものがやっぱよろしくないなぁ、と。
数MBのメールを10人とか20人とかに Cc すると、
相手サーバで anti-virus とか anti-spam とかの重い処理が走ってると
向こうの方が負荷でコケちゃってるらしきことがたまにあるんだよね。
こっちはぜんぜん平気なんだけど。

90:名無しさん@お腹いっぱい。
07/01/15 10:35:42
むこうがしょぼいだけじゃん。

91:名無しさん@お腹いっぱい。
07/01/15 10:53:11
>>89
30MB、33MB、18MBと立て続けに複数人にCc:されてえらいことになった。
スキャンしきれなくて /var/spool/qscan/working/ にメールが溜まるわ、
/var があふれるわ、その結果qscanや他のqmailとは関係のないdaemonが
死んで/varを空けてもサービスが復活せんわ…

>>90
そんなのでは、まとめ送りが不可能という仕様の擁護にはならんぞ

92:名無しさん@お腹いっぱい。
07/01/22 19:13:57
すみません。
qmailでエラーメールを、postfixのように添付にしてリターンさせることって出来ますか?

93:名無しさん@お腹いっぱい。
07/01/22 19:34:42
出来ます

94:名無しさん@お腹いっぱい。
07/01/22 23:58:25
postfix のように、ではなく RFC3464/1894 な。
qmail は QSBMF という独自仕様に誇りを持っているので、RFC を無視する。
URLリンク(cr.yp.to)

ウンコみたいな誇りだが、djb はこれが最上だと信じてるので
ソースを改変せずに RFC に準拠させることはできない。
そういうパッチが出回ってるかどうかは知らん。


95:名無しさん@お腹いっぱい。
07/02/11 00:38:38
qmailって再配布はOKでしょうか?


96:名無しさん@お腹いっぱい。
07/02/11 10:44:33
>>95 URLリンク(cr.yp.to)

97:名無しさん@お腹いっぱい。
07/02/21 01:02:21
10年ぶりくらいにMail鯖を作ることになったんだけど、
qmail を使い続けるべきかどうか悩むなぁ。。。

98:名無しさん@お腹いっぱい。
07/02/21 01:59:55
>>97
どうしてもvpopmail + ezmlmつかいたいって人でもない限り、qmailはやめるべき

99:名無しさん@お腹いっぱい。
07/02/21 19:54:23
>>98
そうか……。

100:名無しさん@お腹いっぱい。
07/02/22 03:01:09
>>98
結局postfixにしたよ。
Maildir形式もサポートされてるし、
設定ファイルも分かりやすいね。

101:名無しさん@お腹いっぱい。
07/02/22 03:16:01
qmailと違ってRFCに堂々と違反しているところもほとんどないし、
まとめ送りにも対応しているし、存在しないメールアドレス宛てのメールも
一度受け取ってからbounce mailを出すような真似はしないし、
spam対策もやりやすいし。RDBMSを直接叩いてaliasとか引けるし。

あとはqmailadmin + ezmlm的な環境さえpostfixで構築できればいいんだけど…

102:名無しさん@お腹いっぱい。
07/02/22 12:07:26
ezmlm ならば postfix でふつーに動くよ。
大きなところだと、bugtraq@securityfocus の ML が postfix + ezmlm で動いている。
というか、securityfocus.com のためにわざわざ postfix に ezmlm サポートを
追加したとどこかに書いてあった。


103:名無しさん@お腹いっぱい。
07/02/22 14:13:29
まじ!?
ちょっと調べてくる!

104:名無しさん@お腹いっぱい。
07/02/22 23:24:40
今時まともに運用しようと思うと、パッチ当てまくり、
ツギハギだらけのフランケンシュタイン状態にしないといけないしな。
もはやqmail本体の理想からはかけ離れている。

105:名無しさん@お腹いっぱい。
07/02/25 18:01:15
dot-qmail が使いたい場合は?

106:名無しさん@お腹いっぱい。
07/02/26 13:37:44
あるuserが~/.qmail-fooを使おうと思った時に、
たまたまuser-fooがいるとだめなんだよね>postfix


107:名無しさん@お腹いっぱい。
07/03/15 02:12:13
>>33
URLリンク(www.ingorohloff.de)
これでDTIうまくいった

108:名無しさん@お腹いっぱい。
07/03/15 19:13:23
qmailからpostfixへ移行する際のヒントになるようなサイトある?
ググったけど見つからん

109:名無しさん@お腹いっぱい。
07/03/16 23:02:48
移行するつより、新規立ち上げ直しだ茄子。

110:名無しさん@お腹いっぱい。
07/03/17 00:24:26
>>108
どこで悩んでるの?

111:名無しさん@お腹いっぱい。
07/03/18 12:42:18
イロハが分かってないので、ここで質問するのもどうかと思ったが
どこでと言われれば全部としか・・・
まぁ、急がないのでヒマな時にでも

112:名無しさん@お腹いっぱい。
07/04/05 03:55:43
FreeBSD上でqmailとtcpserverを動かしてます。

# cat /etc/tcp.smtp
127.:allow,RELAYCLIENT=""
192.168.:allow,RELAYCLIENT=""
=.example.jp:allow,RELAYCLIENT=""
:allow
なんですが、
# telnet relay-test.mail-abuse.org すると、
:Relay test: #Test 11
>>> mail from: <spamtest@example.jp>
<<< 250 ok
>>> rcpt to: <"nobody%mail-abuse.org">
<<< 250 ok
>>> QUIT
<<< 221 example.jp
Tested host banner: 220 example.jp ESMTP
System appeared to accept 1 relay attempts

と1つ穴があるようです。
どう対処すればいいでしょうか?


113:名無しさん@お腹いっぱい。
07/04/05 10:45:27
>>112
その失敗したテストがどうなるのが正解なのかよくわからないけど、
少なくともその tcp.smtp では全部素通しなのでは?

114:名無しさん@お腹いっぱい。
07/04/05 12:38:28
>>112
どこの第三者中継テストだろ、RBL.JPのじゃなさそうだけど。

パッチの類はなんか当てた?

115:名無しさん@お腹いっぱい。
07/04/05 18:35:21
>>112
受け取った後で中継せずにバウンスするので、あまり好ましくはないけど、
まあ許容範囲。このチェックを通過させるためだけのパッチも存在する。
でも、そんなパッチをあてるぐらいならば存在しないローカルユーザ宛メールを
蹴るパッチを当てるべきだし、さらに言うならば今さらそんなことに頭を悩ますよりも
qmail を捨ててほかの MTA を使うべきだ。

>>113
>少なくともその tcp.smtp では全部素通しなのでは?

SMTP は全部素通しで問題ないでしょ。RELAYCLIENT を設定するかどうかが問題。
この場合、tcpserver の引数に -p がない場合、逆引きを *.example.jp に
詐称すれば踏み台になってしまうのでよろしくない。-p があれば
正逆一致する必要があるので問題ない。

>>114
>どこの第三者中継テストだろ、RBL.JPのじゃなさそうだけど。

目はついてる?


116:名無しさん@お腹いっぱい。
07/04/06 01:25:21
>>114
天然ボケにテラワロス

117:名無しさん@お腹いっぱい。
07/04/09 02:47:40
qmailのPOP3だと、MUAで「鯖にメールを残す」設定にしても、
他のMUAで読めないことありませんか?

MailDir見ると、しっかり消されてるんです。

gmailだと、
pop3の設定でユーザー名@gmail.comをrecent:ユーザー名@gmail.com
ととかやればいけるんですが。



118:名無しさん@お腹いっぱい。
07/04/09 11:27:14
なんでメーラーを晒さないの?

俺は、そんな現象に遭遇したことはない。
新着じゃないのに新着として取り込まれる事は有るが・・・

で、gmailは使わないので知らない。

119:名無しさん@お腹いっぱい。
07/04/09 14:50:43
っていうか、qmailとqpopdとを区別できないのかよ、こいつは

120:名無しさん@お腹いっぱい。
07/04/09 15:27:26
でも今さらqmailのpop3dの情報なんて、他スレでも集まらない悪寒。

121:名無しさん@お腹いっぱい。
07/04/09 16:11:02
最近、アンチが多いなぁ・・・

122:名無しさん@お腹いっぱい。
07/04/09 16:27:25
>>121
はぁ?

123:名無しさん@お腹いっぱい。
07/04/09 16:36:22
>>122
ひぃ?

124:名無しさん@お腹いっぱい。
07/04/09 18:14:05
qmail-pop3dなんてゴミだから捨てろしかいいようがないな

125:名無しさん@お腹いっぱい。
07/04/10 01:53:32
qmail-pop3dってMaildirを扱うリファレンス的実装でそ?
IMAPでいうところのuw-imapdと同じ、最初に試してみるけど二度と使わない。

126:名無しさん@お腹いっぱい。
07/04/10 04:14:35
マジで?

127:名無しさん@お腹いっぱい。
07/04/10 05:55:15
ええ

128:117
07/04/11 00:08:11
>>118
すみません。忘れてました。
窓のthunderbirdです。(職場でも自宅の複数のPCも)

>>119
総称で"qmail"と読んでいいのかなと。
勿論、qpopdの問題なんでしょうが・・・、

>>125
>qmail-pop3dってMaildirを扱うリファレンス的実装でそ?
そうなんですか?
所詮、リファレンス実装なんですか・・・

まぁ、うち、Solarisでqmail(smtp&pop両方)ってとこで、
既に終わってるという話もありますが><


129:名無しさん@お腹いっぱい。
07/04/11 00:30:28
10年前ならともかく、今ならCourierとかDovecotとか、
もう少し"使える"POP/IMAPサーバーあるからねえ。

そういやqmail-pop3dって改行をCRLFじゃなくて、
生ファイルのLFだけ数えちゃうってバグがあった気がしたけど、まだ残ってるの?

130:名無しさん@お腹いっぱい。
07/04/11 01:06:59
まだも何も、前世紀からまったく変わってませんが。

131:117
07/04/11 02:58:45
>>129
>そういやqmail-pop3dって改行をCRLFじゃなくて、
>生ファイルのLFだけ数えちゃうってバグがあった気がしたけど、まだ残ってるの?

ぐは><
Postfixを上司に具申しよう・・・、という夢を見たが、移行がやたら難しい。
(sendmailやPostfixからqmailは、それなりらしいが、逆はかなり厳しいとか><)

132:名無しさん@お腹いっぱい。
07/04/11 09:06:49
ん?PostfixはMaildir形式サポートしてるし、バーチャルサーバで利用するにも
PostfixAdminとかあるし、そんなに移行大変だとは思わないけどなあ。

133:名無しさん@お腹いっぱい。
07/04/11 09:35:41
費用対効果を考えると、実害が出てないので移行する方向になりにくい。
移行するにも結構お金が掛かる。

134:名無しさん@お腹いっぱい。
07/04/11 11:17:19
明らかに低機能かつバグ持ちで問題があるのは付属のpopサーバだけなので、
機能強化ついでにDovecotあたりに置き換えればイイ。

qmail自身もpatch無しではまともに動かせない昨今の状況だけどね...

135:名無しさん@お腹いっぱい。
07/04/12 23:23:46
>>133 胴衣。うちの場合、ezmlm-idx を盛大に
使っているのがボトルネックだわさ。

136:名無しさん@お腹いっぱい。
07/04/25 11:27:56
DovecotつかうならPostfix+Dovecotでいいんじゃない?qmail出る幕なし

137:名無しさん@お腹いっぱい。
07/04/25 15:07:45
imapのチョイスとqmail vs postfix の選択になんで
関係あんのか、訳若布。

138:名無しさん@お腹いっぱい。
07/04/25 15:23:09
んまぁ、postfix + dovecotだと認証関連が楽できるな。postfixのdovecot認証対応は
非常にありがたかった。

139:名無しさん@お腹いっぱい。
07/04/25 22:21:03
最近Dovecot + Postfixでメールサーバ構築してみたけどたしかにスゲー簡単。
qmailのシンプルな設定ファイルは好きだけど、SMTP-AuthやTLSを使うにもパッチまみれにしなきゃならんし新規では勧めづらいね。
Dovecotはcheckpasswdにも対応してるみたいだしqmail-pop3dだけ置き換えるというのもありかな。

140:名無しさん@お腹いっぱい。
07/04/30 11:32:46
ネットマスク形式を引数で読み込み、tcpserverのアドレス範囲形式
に変換して標準出力するコマンドがありましたらご教示下さい。
例えば
58.65.232.0/21

58.65.232-239.
みたいにです


141:名無しさん@お腹いっぱい。
07/04/30 12:28:52
qmailのアンインストールって
・/var/qmailの削除
・qmail絡みのユーザとグループの削除

でいいの?

142:名無しさん@お腹いっぱい。
07/04/30 13:37:32
>>141
sendmailに戻すとか考えないならそう

143:名無しさん@お腹いっぱい。
07/04/30 14:06:44
>>142
サンクス

144:名無しさん@お腹いっぱい。
07/04/30 15:48:33
>>140
自分でshell書いた方が早い

145:名無しさん@お腹いっぱい。
07/05/01 09:44:26
そんなもものためにshell書くやつはバカです

146:名無しさん@お腹いっぱい。
07/05/01 22:44:46
ネットワーク技術者なら直感で答えだすんだ!

147:名無しさん@お腹いっぱい。
07/05/02 05:41:48
58.65.232.0 / 21

32 - 21 = 11 = 3 + 8

2^3 = 8

232 + 8 = 240

58.65.232.0 - 58.65.(240-1).0

58.65.232.0 - 58.65.239.0

148:名無しさん@お腹いっぱい。
07/05/02 19:41:30
なんか動的にプログラムに喰わしたいんじゃいの?
計算出来ないからコマンドね?とか聞くバカいるわけないじゃんw

149:名無しさん@お腹いっぱい。
07/05/02 21:12:11
自分で計算できるならコマンドくらい作れるだろ


150:名無しさん@お腹いっぱい。
07/05/02 22:13:52
aggregate じゃだめ?

151:140
07/05/03 07:02:37
krfilterをダウンロードして
URLリンク(www.hakusan.tsg.ne.jp)
tcpserverを再設定するスクリプトを
組んで、毎日実行させようと思いました。

後はスレ違いになりそうですが、
見た感じperlでsplitを使えば楽そうですね。
きれいなコードが書けたらいいのですが
私の技量だと、場合分けが多くなりそうです。
(ネットマスクの数値により、
何番目のセグメントの数値を足すとか、
あと、
58.99.0.0/16
なら
58.99-99.
でも良いと思うけど、58.99.にするとか


152:名無しさん@お腹いっぱい。
07/05/03 08:41:14
$ perl -MNet::CIDR::Lite -e '$c=Net::CIDR::Lite->new;$c->add("192.168.0.0/24");print $c->list_range,"\n"'
192.168.0.0-192.168.0.255

153:名無しさん@お腹いっぱい。
07/05/03 11:08:55
>>152
ありがとうございます!

tcpserverのアドレス範囲指定って、
192.168.0.0-192.168.0.255
みたいな指定もできたんですか。
知らなかったです。

154:名無しさん@お腹いっぱい。
07/05/05 12:12:33
最近qmailを運用しているホストからのbackscatterが増えて困ってるんだけど、
この手のまともな運用できてないとこにどうやって知らせたらよい?
前に一回連絡したら「qmailは安全・完璧」とか思いこんでて逆ギレされた。orz

155:名無しさん@お腹いっぱい。
07/05/05 16:27:56
>>154
apnic

156:名無しさん@お腹いっぱい。
07/05/05 20:25:20
発信源so-netからのSPAMがやたら来るんだけど
so-netのpostmasterにメールしても返事が来ないorz

157:名無しさん@お腹いっぱい。
07/05/05 20:32:04
>>154
URLリンク(trombik.mine.nu)


158:名無しさん@お腹いっぱい。
07/05/06 00:15:16
>>154 URLリンク(code.dogmap.org.) のパッチあてれ、といったれ。

159:名無しさん@お腹いっぱい。
07/05/07 20:28:19
3

160:名無しさん@お腹いっぱい。
07/05/07 20:56:34
私も qmail 教徒だったが、最近 MTA + imapd を立てる
ことになり、Postfix にしようかと思っています。

Postfix + dovecot という組み合わせが↑で出ていますが、
Postfix + courier imap とどっちがおすすめでしょうか?

161:名無しさん@お腹いっぱい。
07/05/07 21:10:40
>>160
qmail と関係ないじゃん。

〓〓〓いつまでも次世代 IMAP その2〓〓〓
スレリンク(unix板)

162:名無しさん@お腹いっぱい。
07/05/08 00:47:17
なんでここは

いつまでもqmail

っていうタイトルじゃない訳?


163:名無しさん@お腹いっぱい。
07/05/08 09:42:23
>>162
「いつまでも」どころかそもそも前スレで終了して djb スレに合流するはずだった。
アホが次スレを立ててしまったので、なしくずしにそのまま使ってるだけ。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4985日前に更新/165 KB
担当:undef