Loading
|
@IT > Sendmailの次世代メールプラットフォームとは?「Sendmail Mailstream Manager」Part3 |
|
近年、セキュリティインシデントがクローズアップされている。情報漏えい対策や、PC紛失対策の必要性は高くなる一方である。世間には上記の対策ツールやソリューションがたくさんあり、著者の勤務先でも、その度に対策を講じてきたが、今回着目したいのは「メールの誤配信」を防ぐためのシステムだ。
メールの誤配信とは一般的に、あて先を間違えて送ってしまうメールのことである。以下は私が参画していたEジャパン評議会での誤配信の定義である。
ある日、事業部長に呼ばれてこんなオーダを告げられた。「誤配信を起こさないように、メールの内容をチェックして、そのあて先に送って良いか否かを判断するようなシステムを作ってくれ」 さて、そのあて先に送るべき内容かどうかを、どのように判断するべきか。インターネットで「誤配信対策 ツール」とキーワードを入れて検索しても、有効な結果は返ってこない。すぐには事業部長に具体案を提示できなかったが、ゆっくりと考えてみた。 メールの本文を見て、その人あてのメールかどうかを判定するためには、本文にあて先が分かるようなキーワードが入っていれば良いのではないか? そんなことを考えながらロジックを組み立てていった。
最初の試作品はPerlで作った簡単なWebメールだった。Webのフォームからあて先と本文を記述して送信ボタンを押す。 すると事前に作成したメールアドレスとキーワードの対応表を利用して、アドレスから引っ張ってきたキーワードと、メール本文を正規表現で検索する仕組みである。本文中にキーワードがあれば送信できるし、見あたらなければWeb上でエラーを返すのだ。 さっそく、幹部会議でデモンストレーションを実施したが不評であった。理由は、ユーザーはメールソフトを利用していて、既存のメール環境を変えたくないというのである。たしかに、EudoraやBecky!、Microsoft Outlookなどを使っているユーザーに突然、Webメールを使ってもらうのは現実的ではない。
クライアント側のメールソフトをそのまま利用しながら、メールサーバ側に誤配信対策のツールを仕込まなければならない。社内のメールサーバは、全社共通の資産のため、1事業部の意見だけでの改造は許されない。そこで思いついたのが、図1のフィルタリングサーバとLDAPサーバのような「中継サーバ」である。
Sendmail社は誰もが知っている会社である。しかしながら、「Sendmail Mailstream Manager」というツールは、まだ聞いたことがなかった。 米国で製品の目利きをしている部長からメールが来て、「メールのフィルタリングツールがSendmail社から出たようで話を聞いたけど、ポリシー作成が難しそうだ」というのである。 さっそく、Sendmail Mailstream Managerの試用版をダウンロードしてみる。スパム対策のツールのようだ。MTA(Mail Transfer Agent:メール送受信プログラム)とクライアントの間に置くことで、メールのフィルタリングツールとして稼働する。フィルタリングルールは、XMLベースの“XXL”という言語で作成されていて、自由なカスタマイズが可能だった。
通常のスパムツールといえば、悪意のあるユーザーからの外部からのメール送信への対策ツールと想像できる。
今回はそれを図2のように逆向きに利用して、社内の不用意なユーザーからの情報漏えいにつながるメールをフィルタリングしようとしたのだ。
フィルタリングルールをカスタマイズするためのXXLを勉強して、さっそくロジックの作成に取り掛かった。業務で十分対応できるレベルまで、送信フィルタリングポリシーを作成するには、十分な検討が必要であった。 ポリシーのたたき台を作って、事業部の情報セキュリティ管理者を集め、現場の業務に耐え得るポリシーを作成するための検討会議を行った。フィルタリングには、以下の2段階のチェックが必要だということが分かった。
導入段階では、設定方法やフィルタリングロジックのハードルを低くして、ユーザーが導入しやすいように工夫した。 設定方法は非常に簡単で、メールソフトのSMTPサーバを中継サーバに変更すればOKである。フィルタリングしたくなければSMTPの設定を戻せばよいのである。 また、フィルタリングロジックも甘くした。キーワード登録されていないアドレス、もしくはドメインであればそのままノーチェックで送信してしまうのである。まずは、登録されたアドレスへの送信時にのみ、フィルタリングを適用することにした。 会議では「ネットワーク上で本体のSMTPサーバへの直接送信を禁止する設定をせよ」、「キーワード登録されていないアドレスへの送信はすべて止めてしまえ」などの強硬意見もあったが、私はユーザーが自分の意思で、送信メールをフィルタリングサーバへと向きを変え、さらに自分の顧客アドレスリストをフィルタリング対象として申請するようなマインドを醸成したかったのである。 可用性を担保するため、フィルタリングサーバの前にロードバランサを置き、万が一、フィルタリングサーバがダウンした際は、直接SMTPサーバへメールを転送するようにした。
課題の1つはパフォーマンスにあった。1つのあて先に数個のキーワード、そのキーワードをメール本文の全文検索でマッチングをかける。もちろん、CCがあれば、関連するキーワードはその数倍となる。一通のメールをチェックするのに何秒かかるのだろうか? そこで利用したのがLDAPである。通常はアドレス帳として利用しているLDAPを、アドレスとキーワードの対応データベースとして利用したのである。 その結果、パフォーマンスは十分であった。2000人規模のユーザーで1日1万通送信しても、まったく遅延を感じない。LDAPでの登録アドレス数は2500、キーワードは1万以上である。
運用時の課題はいくつかあった。1つはキーワードの通知である。ユーザーがあて先にメールを送ったがエラーで戻ってきたのだ。じゃあ、どんなキーワードを記述すればメールが送れるのか? 送りたい宛先へのメール本文に記述すべきキーワードを、ユーザーが知りたい場合の検索方法を提供する必要がある。 回答は簡単である。あて先アドレスとキーワードの対応データベースとして利用するLDAPに入っているデータを、ユーザーに公開すればよいのである。ユーザーにはディレクトリサービス(LDAP)の設定をしてもらい、ユーザーが宛先アドレスとキーワードを簡単に検索することが可能となった。 もう1つは、ポリシーが共通であった、ということである。運用後、組織やチームごとに個別のフィルタリングルールを設定したいという要望が挙がってきた。それには、現在のあて先(Rcpt To:)のみのチェックだけでなく、送信元(Mail From)を見て、組織やチームを識別して、適用ルールを変化させることで対応した。
社内システムの担当者として、事業部への誤配信防止システムの導入が完了した。次は全社への展開を図るべく全社の会議へ提案したところ、意外なことに法人営業などが反応した。営業担当は、「ぜひ、お客さんに提案したい」「こういったソリューションがなかったんだよね」と伝えてきた。 たしかに、弊社内でも必要なソリューションだということは、世間一般的な企業でもニーズはありそうである。この記事に書いた経験が、読者のみなさんのご参考になると幸いだ。
提供:センドメール株式会社
企画:アイティメディア 営業局 制作:@IT 編集部 掲載内容有効期限:2006年9月4日 |
|