ページの先頭です


ページ内移動用のリンクです

  1. ホーム
  2. IIJの技術
  3. IIJ Technical Seminar
  4. 技術情報(2011年~2015年)
  5. 独自開発、送信ドメイン認証フィルタENMAの無償公開

独自開発、送信ドメイン認証フィルタENMAの無償公開

2012年4月5日

IIJで独自に開発され、IIJのメールサービスでも安定稼働している送信ドメイン認証フィルタENMA。送信ドメイン認証普及のために、オープンソースとして無償で公開されたことが話題となりました。ここでは、その特徴と命名や公開されるまでの経緯について紹介します。

ENMAの設計

IIJでは、送信ドメイン認証技術の仕様が決まってからあまり時間が経たないうちに、サービスとして送信ドメイン認証の提供を始めました。そのため、IIJの過酷なサービス環境での動作に耐えうるソフトウエアは、自社で開発する必要がありました。後にENMAと呼ばれるこのソフトウエアの開発には、IIJが提供する様々なメールサービスへの適用に向け、送信ドメイン認証技術の仕様への忠実さと、過酷な環境での動作に耐えうる堅牢さを特に重視して取り組みました。

MTA(Message Transfer Agent)を多段に組むタイプの大規模なメールシステムでは、インターネット境界で動作するMTAが、大量送信やサイバー攻撃の影響を最も受けやすくなります。この境界MTAは常に高負荷と隣り合わせの過酷な環境なので、ここで動作させるソフトウエアは、軽快かつ堅牢な、信頼のできるものでなければなりません。また、高負荷を避けるため、処理の内容もできるだけシンプルな方が望ましいです。
一方、送信ドメイン認証の、特にDKIM(DomainKeys Identified Mail)の検証処理では、メールをインターネットから受け取った直後、つまり自システムのMTAによって改変される前のメールに対して検証を行うと、検証エラーが発生しにくくなります。正確な認証結果を提供するという観点からは、境界MTAで検証ソフトウエアを動作させる構成が望ましいのですが、そのような構成は、境界MTAが高負荷に陥るリスクを高めることになります。
この、DKIM検証処理をメールシステムに組み込む際に、メールシステム側をDKIMの検証フェーズまでにメールの改変が発生しないような設計にするか、境界MTAでの動作に耐えうる堅牢さと軽快さを備えたソフトウエアを開発するかの選択が、メールシステム設計における重要なポイントになります。IIJでは後者を選択しました。後者の方がソフトウエア開発自体のハードルは高くなりますが、IIJの様々なメールシステムに組み込むことを考慮すると、それぞれのメールシステムに対して構成の見直しを行うよりは、全体としてのコストが低いと判断したためです。

ENMAを組み込んだ大規模メールシステムの例

ENMAの特徴の1つとして、SPF(Sender Policy Framework)とDKIMというまったく異なる認証方式の評価を、1つのモジュールの中で行っている点が挙げられます。ENMAはMTAと連携するモジュールとして動作するため、SPFとDKIMをそれぞれ別のモジュールとして実装するという選択肢もあったのですが、両方式の評価を行う1つのモジュールとして実装した方が、MTAと連携するためのオーバーヘッドが少なくて済む点を重視しました。また、システムへの組み込みが簡単になる、認証結果をまとめられるという副次的なメリットもありました。

設計や実装に際しては一貫して堅牢さを目指し、厳しい負荷テストを行いましたが、IIJのサービス環境での運用が初めから順風満帆だったわけではありません。しかし、開発者と稼働中のシステムとの距離が近く、即座にトラブルに対応できるという環境のおかげで、安定して稼働するようになっていきました。そして、IIJの過酷なサービス環境においても、長期に渡ってその存在を忘れるくらい安定して稼働していることこそが、堅牢さの何よりもの証明だと思っています。

ENMAをオープンソースに

送信ドメイン認証は、単独で対応しても効果を発揮しません。送信者、受信者共に幅広い普及が必要です。IIJでは、MAAWG、JEAG、dkim.jpなどの団体に参加し、送信ドメイン認証の普及に努めていますが、IAjapanの方から「中小のISPが送信ドメイン認証の導入に困っているので、IIJで使っているソフトウエアを提供できないか」という提案をいただいたのが、ENMA公開のきっかけでした。以降、既存のメールシステムにENMAを組み込むだけで、主要な送信ドメイン認証方式に一通り対応できる手軽さから、大小様々なISPや企業の方から使っているとのご報告をいただいています。

ところで、ENMAの名前の由来を時々聞かれるのですが、これは公開に向けてこのソフトウェアの名前を考えていたある朝、突然ひらめいたものでした。嘘を見破り、罰を下すという閻魔大王が、メールをフィルタするというイメージにぴったりであること、そして、名称は日本語に由来したものにしたいと考えていたことから、即採用しました。

一般に、会社として開発したソフトウエアを無料で公開することに対して、なかなか理解を得づらいものです。実際、新聞記者の方に取材をしていただいた際も、動機の理解にだいぶ苦しまれていたようでした(笑)。このようなことができるのも、IIJの精神とそれを支えてくださった関係者の尽力あってのものです。

送信ドメイン認証の普及に、微力ながらも貢献できて光栄であるという想いと共に、一開発者として自分の書いたソフトウエアを多くの方に使っていただけるのは、単純に嬉しく思っています。安定動作を求めるあまり、積極的に機能を追加できていない点は反省しつつ、まだまだ動きの激しいメッセージング界のトレンドをしっかりとフォローし、積極的に実装していく所存です。

また、最後になりますが、もし使っていただいている方がおられましたら、どのような形でも構いませんので、「使っているよ」と一言お声かけいただけると大変励みになります。

鈴木 高彦

執筆者プロフィール

鈴木 高彦(すずき たかひこ)

IIJ プロダクト本部 基盤プロダクト開発部 サービス技術課
2004年IIJ入社。以降、一貫してメールサービスの開発に従事。MAAWG、JEAG、dkim.jpなどの対外活動にも参加。

関連サービス・ソリューション


ページの終わりです

ページの先頭へ戻る