モーグルとカバとパウダーの日記 このページをアンテナに追加 RSSフィード Twitter

モーグルやカバ(EXカービングスキー)、山スキー(BC)の山行記録などがメインの日記です。
いろんな条件のいろんなところを、その時々の条件にあった滑り方で楽しむ、フリースキーをして遊んでいます。

検索で来られた方は、上の検索窓から再度検索していただくか、右サイドバーのカテゴリーやトピックスの項目で絞り込んでみてください。
仕事柄、コンピュータ系のネタも多いので、スキー関連ネタだけ読みたい方は[ski]、コンピュータ関連ネタは[pc]、スパム関連ネタは[spam]で絞り込んでください。

2006-07-28 (Fri)

[][]Starpitの課題 Starpitの課題を含むブックマーク Starpitの課題のブックマークコメント

Starpitについてのエントリーを書いてから、いろいろとご意見や実際に使っていただいた際の問題点など、いただきました。

それで浮かんできたStarpitの課題をリストアップします。

 →一部はsleepパッチにより低減可だが、すでにtarpittingを通らないとわかっているIPからも毎回tarpittingで待たせることが無駄

  • S25Rに引っかかる正しいメールサーバは1送信先毎に遅延がかけらてしまう

 →10件送信先ある場合、10×遅延時間だけ時間が掛かってしまう

  • 非常にまれなケースで誤検出がある

 →アジア地域のメールサーバなど逆引き設定がされていない場合や、DNS設定が間違っている場合などで、タイムアウトも短くしている場合

以下で、これらの課題を解決するための方法を提案します。

[][]taRgrey(S25R+tarpitting+greylisting)というスパム対策のアイデア taRgrey(S25R+tarpitting+greylisting)というスパム対策のアイデアを含むブックマーク taRgrey(S25R+tarpitting+greylisting)というスパム対策のアイデアのブックマークコメント

Starpitよりもさらに誤検出の少ないスパム検出方法についてのアイデアです。(まだ実装はありません)

簡単に言うと、

S25R + tarpitting + greylisting

というもので、つまりStarpitで排除されるメールをさらにgreylistingで救済するという手法です。

S25Rに引っかかる条件で、かつ遅延を抜けられず、かつ再送もしてこなかったらスパムとして排除されます。


tarpitting では相手が切断してしまうので、その後再送してくるかを検出できれば上記の構成にすることが出来ます。

切断されたのか、それとも通ったのかを確認するには、ほんとうならMTA側になんらかの実装、つまりパッチが必要になりそうですが、Postfixでは smtpd_recipient_restrictions でDBに登録して遅延を掛け、smtpd_data_restrictions でDBと照らし合わせて、抜けてこれてないものは遅延の間に先方が切った、つまりtarpittingに引っかかったもの、と考えることが出来ると思います。


ただ、単にgreylistingを掛けると、postfixqmailなど普通のMTAスパム送信に使っている場合、greylistingで救済されて全部抜けてきてしまいます。

むろん、誤検出を減らす目的だけの場合はそれでも良いのですが、なるべくならあまり検出率も下げずに救済策を取りたいと考えました。

tarpittingやgreylistingで誤検出を検知することを考えるとき、スパマーは頻繁にIPを変えながらスパムを送信してくるので、長期に同一IPからスパムを送ってくることがほとんどありえないため、同一のIPから長期にわたってメールが出されているが受け取れていない場合、誤検出の可能性が高い、と考えられます。

そこで、greylistingで再送してきても、最初に受け取った時から2日くらい経ってからも、同IPで再送してきているか、を確認してはどうか、と考えました。

これだと、greylistingパラメータの設定のみでこのような動きをすることが出来ます。


正しいメールサーバを2日とか待たせてしまう可能性がありますが、Starpitで誤検出されるメールサーバはほんとうにごくまれで、そういうレアケースを救済するための処置です。

またgreylistingのように、ホワイトリストブラックリストDB化して持つことで、S25Rに引っかかる場合、正しいメールサーバなのに常に遅延を掛けられてしまう問題や、すでにスパマーとわかっているIPからの接続も毎回遅延させることで起動smtpdが増加する問題も、回避することが出来ます。


PostgreyかPolicy Daemonをベースに修正して、これらの機能を持ったポリシーサービスデーモンを作る予定です。

その前に、ログからスパマーがどれだけの期間、同一IPでメールを出してるのか、統計出す必要がありそうです。


(追記)

postgreyをベースにこのポリシーサーバを書きました。

taRgrey - S25R + tarpitting + greylisting

モーグルとカバとパウダーの日記 - taRgrey - S25R + tarpitting + greylisting


また、同一IPからスパムが出される期間については、下記エントリーを参照下さい。

モーグルとカバとパウダーの日記 - 同一IPからスパムが出されている期間

モーグルとカバとパウダーの日記 - 一見さんは1日以上同一IPを使ってるか確認するスパム対策手法

[][]RgreyとStarpitの比較 RgreyとStarpitの比較を含むブックマーク RgreyとStarpitの比較のブックマークコメント

Rgrey(S25R+greylisting)とStarpit(S25R+tarpitting)は兄弟のようなもので、非常に似ています。

スパム対策として採用するとき、どちらを選択したらよいか指標になるよう、比較をまとめました。

ただ、あくまで自分の主観的なもので、実際に数字的な根拠のないものもあります。

Rgrey(greylisting) Starpit(tarpitting)
メール受信数 非常に大量のメール受信でも利用実績あり smtpdの増加が問題になる可能性
誤検出 greylistingホワイトリストの整備がより進んでいる より誤検出自体が少ない印象
遅延 S25Rに掛かった場合のみ数10分程度の遅延がある ほぼない
導入のし易さ greylistingサーバを導入する必要がある Postfix-2.3以降なら設定だけで簡単
通信事業者での導入 導入可能か不明 条件により可能

(追記)

tarpittingの有利な点として、強さをパラメータで変更できる、という部分もあります。

greylistingは、再送要求を掛けるか否かの1/0ですが、tarpittingは10秒だけとか35秒だけとか、その長さによって強度を変えられます。

この柔軟性の違いは結構大きいかも。

[]Debian(sarge)でPostfix-2.3+dovecotでSMTP Authの設定はまりどころ Debian(sarge)でPostfix-2.3+dovecotでSMTP Authの設定はまりどころを含むブックマーク Debian(sarge)でPostfix-2.3+dovecotでSMTP Authの設定はまりどころのブックマークコメント

Postfix-2.3ではdovecotの認証を利用して、SMTP Authを利用することが出来るようになりました。

そこで、Debian(sarge)でPostfix-2.3+dovecotという構成でSMTP Authを設定してみたのですが、結構はまりどころがあったのでまとめます。


SMTP Authの設定自体は実はほとんど問題はなく、簡単に出来ます。

Postfix付属のドキュメント(Postfix SASL Howto)に沿って設定するだけです。


さて、なにがはまりどころかというと、Debian(sarge)のdovecotはバージョンが0.99.14だということです。

Postfixの説明で書かれている設定方法は、1.0以降でなければ使えない書式と設定のようです。

しかし、Debian(sarge)のdovecot設定ファイル、/etc/dovecot/dovecot.confには、

## Dovecot 1.0 configuration file

と書かれているため、気がつくのが遅れました…

[Dovecot] Error in config を参照。

ということで、dovecotも1.0RCをtarボールを持ってきてインストールしたところ、使えるようになりました。

あと、passdb pamが使えなかったため、shadowを使うようにしました。


一応、うちでやった設定内容を紹介しておきます。

postfixのmake時にsaslを使うように指定しデフォルトでdovecotを指定。

> make -f Makefile.init makefiles
> make makefiles CCARGS='-DUSE_SASL_AUTH -DDEF_SASL_SERVER=\"dovecot\"'
> make

/etc/postfix/master.cf

submission inet n       -       -       -       -       smtpd
            -o smtpd_etrn_restrictions=reject
            -o smtpd_client_restrictions=permit_sasl_authenticated,reject

/etc/postfix/main.cf

smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
broken_sasl_auth_clients = yes

smtpd_recipient_restrictions =
        permit_mynetworks
        permit_sasl_authenticated
        ...

/usr/local/etc/dovecot.conf

auth default {
  mechanisms = plain login
  passdb shadow {
  }
  userdb passwd {
  }
  user = root
  socket listen {
    client {
      path = /var/spool/postfix/private/auth
      mode = 0660
      user = postfix
      group = postfix
    }
  }
}

さらに細かな設定については

Postfix + Dovecot - どさにっき

が参考になります。


他のツールを入れずにPostfix+dovecotだけでSMTP Auth可能で、Maildirでもmboxでも使えるため、今後はこの構成がメジャーになっていくのではないかと思いました。

[]クレジットカードで節約 クレジットカードで節約を含むブックマーク クレジットカードで節約のブックマークコメント

id:sv01kaiさんから、ガソリン代の割引のあるクレジットカード使ってなんでも支払うようにすると節約になるよ、というのを昔聞いて、いつか導入しようと思ってたんだけども、やっとこ一念発起していろいろと調べて、そういうスタイルにすることにしました。

クレジットカードでの割引だとか、マイルだとか調べてみると、マイルとかポイントとかはあまり還元率が高くなくて、ガソリンや携帯の割引になるのが一番率が良いようでした。

そこで、カード年会費とか含めた年間の割引金額をシミュレートして、どこが一番お得になるのかを調べてみました。


うちの場合、ガソリン代が月1万5千円程度、携帯代が8千円程度なのですが、さくらドライバーズプラスカードとNTTグループカードが、カード利用金額に応じた割引が非常に大きく、これらを組み合わせたものが一番良さそうでした。

で、Excel使っていろんなカードや組み合わせと、月にカードで利用する金額とをグラフ化してみたんですが、トータルで見て、素直にさくらドライバーズプラスカードだけを使うのが一番良さそうでした。

さくらドライバーズプラスカードの場合だと、どのガソリンスタンドでも使えて、高速の料金にも割引が適用される点も利点です。ETC使った場合も割引対象になるのかな?


とりあえずカードの申込みはしてみたので、実際に計算通りに行くかどうか、試してみます。

citron_908citron_908 2006/08/01 22:50 実は私も同じようなこと(NICOSのドライバーズエッジ)をやってまして、前月のカードの利用実績に応じてガソリン代がキャッシュバックされるようになってます。ETCを使った場合でもカードの利用実績としてキャッシュバックポイントが獲得できます。しかもセルフのGSで給油するときにカード決済すると店頭価格よりリッター2,3円割引されたりもする(GSによりますが)ので、そういう意味でもお得だと思います。

teleskierteleskier 2006/08/02 11:20 出光マイドプラスなら何もしなくても2円引きですよっと。出光限定だけど。
カード利用実績での割り引きも限度があるし・・・

電気料金、コンビニ、スーパー等もカードでこつこつ払うと結構な金額になりますよ。
自動車保険も代理店によってはカード決済に応じてくれます。
そんなこんなで月平均10万以上使ってるような・・・

あと私のまわりで実際にあったのが海外旅行先で緊急手術というのがありました。海外旅行の保険が自動付帯されるカードを複数枚持ってたから手術&入院費用はまかなえたそうです。ライフスタイルによってどれ選ぶかが難しいですね。

stealthinustealthinu 2006/08/07 11:02 >>citron_908さん
あ、そうそう。同じような感じですね。
検索してみたら、もろそのへん比較してるページがありました。
ガソリン代節約カード 三つ巴対決
http://credit.narikin-road.net/credit019.html
さくらのってETC使った場合もキャッシュバックされるのかな??
うーん、JCBだとどのスタンドでも入れれるのが良いと思ったんですが、ドライバーズエッジのほうが微妙に細かく割り引き率があっていいのかも?

>>teleskierさん
電気料金や電話代やら、あとスーパーでの買い物も全部カードにしようと思ってますだ。
海外旅行の保険かあ… めったに海外に行かないからなあ、むう。

teleskierteleskier 2006/08/07 17:33 コンビニでカード使いだすと、セブンイレブンとファミリーマートへ行かなくなりますよっと。

stealthinustealthinu 2006/08/08 11:27 セブンイレブンだとカード使えないor使いにくいんです?
セブンイレブンはスヌーピー絵皿とかのために必須なんです :)

teleskierteleskier 2006/08/08 22:57 711はカード使えません。スヌーピー絵皿、ボール、マグカップはいつも志半ばで期限切れっす。

stealthinustealthinu 2006/08/09 14:53 おお、そなんだ。ローソンではツタヤと同じカードで割引とか、なにかとカード使わせたい感じだったから、セブンイレブンでもそうなのかと思ってました。
スヌーピー絵皿系は、いまんところコンプリしてますだ。足りないときは月末ずっとお昼コンビニ弁当とかまでして。