セカンダリ以外、自鯖でなんとかするのをモットーにしている Nire.Com ですが、自鯖 + 仮想化環境ではかなり限界があるもの、それはマシンパワーと、メンテに必要な労力です。Spamassassin, ClamAV, SquirrelMail などを駆使して色々やってみたけれど、1人でやるにはかなり大変ですよというお話。

メール検索は、個人ベースの仮想化サーバでは速くない

IMAP サーバ上には過去のメールが大量にずーっと溜まっており、クライアントからキーワード検索するとどうしても時間がかかります。

仮想化のために VMware ESXi をインストールしたサーバのハードは Core i7 860 + ASUSTek P7P55D で、かれこれ 2年以上前のハード。Core i7 2600K + ASUSTek P8H67-M EVO REV3.0 のゲーミング PC もありますが、いやこれはゲーム現役マシンだから、サーバに持っていかなでゴホゴホ :mrgreen:

Nire.Com に届く Spam + ウィルスメールとの長い戦い

さらに、自前のメールサーバで意外に面倒なのは Spam + ウィルス対策です。なにせ 1996年からあるドメインなので、Spam + ウィルス添付なメールが大量に送られてきます。

Spamassassin + amavisd-new + clam AntiVirus とか、それはたいそう面倒な方法で、受信メールを一通ずつスキャン…することはできます。しかし PC ローカルにインストールしたウィルスチェッカの方が、アドウェアを厳しく指摘するため、IMAP フォルダのうち、迷惑メールフォルダ (Spam フォルダ) を同期した時点で、PC 側のウィルスチェッカにテンポラリファイルが作成され、ウィルスチェッカがそれをスキャンして、警告を出して煩わしい…という状態に陥ります。

Spam フォルダなんか同期しなければいいじゃん、という気もしますが、たまに「おっとそのメールは Spam 扱いされては困るよキミぃ」的な false positive も発生しうるため、Nire.Com では、「明らかに Spam」と判定できる、Spamassassin の採点スコアが高いもの (Spam-Worse) と、比較的低くて疑わしいもの (Spam) の 2フォルダに分けて、低いもの (Spam) だけ同期していました。

それでも、やはり「Spamassassin の採点スコアは低いが、PC 上のウィルスチェッカにかけるとアドウェア入り、と判定されるメール」がたまにあると。

HoneyPot 用仮想 PC に、Web メールインターフェースに…

普通そういうメールは、タイトル見ればわかるので人間様は開かないのですが、やっぱり自分のメイン PC で、アクセスしない実害のないファイルでも、ウィルスチェッカのポップアップ画面を見るのは、あまり精神衛生上よろしくありません

果ては、物理的な Windows 7 PC の中に Windows XP Mode の仮想マシンを作り、その中で起動した Thunderbird (メールクライアント) でのみメールを受信するという、たかがメール受信するのに、その武装っぷりはなんなんですか状態で過ごしていました。

もちろん、ローカルにダウンロードするから NG なのであって、Web メールにすればいいという考え方もあります。SquirrelMail という PHP で書かれた環境をインストールすると実現は可能です。この SquirrelMail, これはこれで日本語化パッチ宛が面倒なうえ、Windows メールがつけたがる「日本語フォルダ名」をうまく処理できなかった気がします。(うろ覚え)

さらに、メールを仁礼家外から見るとしたら、暗号化した HTTPS が必須です。しかし昨今、SSL を使うべきサービスは増えてきていて、別の仮想マシンにインストールしたブログサーバ WordPress と、 Sharepoint Server と、フレッツ光 2回線の 2個しかないグローバル IP アドレスで、限られた SSL ポート (ポート番号: 443) を取りあって、うあああ無間地獄に。

なんだ結局 iPhone のメーラーで IMAP 経由で読み出せば、無害とは言いませんが、Windows よりウィルス感染する率は抑えられるじゃん、というわけで、しばらくは iPhone ベースでしか個人宛メールを見なくなっていました。

メインのメールサーバぐらい、クラウドに移行しても良いんじゃない?

SPF, DKIM など技術的に押さえておきたいメール技術もあるにはあるのですが、なにせ親しい方からの重要なメールも届く Nire.Com メール。セカンダリメールサーバが複数あるとはいえ、立派な実運用ドメインである Nire.Com をそのようなテスト用に使うのは避けるべきです。

というわけで、今後の実験は別のドメイン名でやるとして、看板ドメインである Nire.Com はクラウド上のサービスに移行するか…ということになり、過去メールの検索が圧倒的に高速な Google Apps (の gmail サービス) を試してみることにしたわけでした。

これがまさか、タイミングのいたずらで、とんでもない長丁場になるとは…。

つづく。