博士学位論文
電子メールシステムにおける
信頼できる送信元からの優先配送に関する研究
平成27年3月
ガ ー ダ
岡山大学大学院
自然科学研究科
要約
電子メールはインターネットで最も普及しているコミュニケーション手段であり,多くの人によ り様々な目的に利用されている.従来の電子メールサーバの運用では,電子メールを送信者から 受信者へ確実に配送することが最大の目的であったが,現在では電子メールを遅延無く受信者へ 配送することも求められている.一方,電子メールはセキュリティ的に問題の多いサービスでも ある.特に,受信者の意図を無視して無差別かつ大量に送信される迷惑メールの蔓延により膨大 な量のトラフィックがネットワークやメールサーバに大きな負荷をかけ,通常の電子メール配送に 遅延が発生している.多くの組織では迷惑メールに対処するためgreylisting,greet pause,フィ ルタリングなどの様々な対策を適用している.しかし,これらの対策により,たとえば新たな負 荷の高い処理を行う必要がある,大きな遅延が発生する.あるいは通常の電子メールが迷惑メー ルと誤判定されるなど,通常の電子メール配送に支障が生じる状態が発生している.
これらの問題に対処するため,信頼できる送信MTA(Mail Transfer Agent)のリストをホワイ トリストとして登録し,登録された送信MTAから送られた電子メールを負荷の高い処理の迷惑 メール対策を行わない専用の処理あるいは専用の受信MTAで比較的に簡単な検査を経て優先的に 配送する方法がよく用いられている.これにより,信頼できる送信MTAから送られた電子メール は迷惑メールの影響を受けにくく,かつ,迷惑メール対策における負荷の高い処理や誤判定を回 避することができ,短い遅延で配送されることが可能である.ホワイトリストを実現する従来手 法として,(1)受信MTA自信がホワイトリストを持ち,信頼できる送信MTAから送られた電子 メールとそれ以外の電子メールを異なる処理に振り分ける方法,(2)2種類の受信MTAを持ち,動 的に応答を変えるDNS(Domain Name System)サーバを用いて受信MTAを変更する方法,PC ルータで送信MTAのIPアドレスに基づいて受信MTAを振り分ける方法[5, 3]が提案されてい る.しかし,これらの方法も重大な問題を抱えている.たとえば,信頼できる送信MTAが増加し たり,迷惑メールの通信量が増加したりした場合には優先配送されるべき電子メールの配送遅延 が大きくなる問題が発生する.
本論文では,まず,従来手法の問題を解決するために,文献[5, 3]のPCルータの代わりにポリ シールーティング(PBR:Policy Based Routing)機能を持つレイヤ3スイッチを用いてホワイ トリストを実現し,また,ホワイトリストに登録される送信MTAを一定数に抑え動的に変更す るコントローラを追加することで,迷惑メールの通信量が増加した場合,かつ,コントローラが 持つ大規模なホワイトリストに登録される信頼できる送信MTAが増加しても優先配送されるべ き電子メールの伝送速度を落とさずに優先的に配送できるシステム(電子メール優先配送システ ム)を提案する.また,提案システムを実装し,動作確認実験を行うことで,それぞれ設計どお りに動作していることを確認した.
本論文で試作した電子メール優先配送システムでは,信頼できる送信MTAから送られた電子 メールはすべて正当な電子メールであるとみなし,無条件であるいは比較的簡単な検査を経て受 信するように構成されており,優先受信MTAにおける検査によるオーバヘッドを軽減したり,検
査用の機器やライセンスの削減により運用コストを低く保ったりする効果が期待できる.しかし,
実際には,信頼できる送信MTAから送られた電子メールであっても,たとえばウィルス感染端 末からの発信,あるいは転送設定などにより,迷惑メールが混在する可能性がある.したがって,
信頼できる送信MTAから迷惑メールが送られた場合,この迷惑メールは優先受信MTAで処理さ れるため,比較的簡単な対策しか行われず,結果として迷惑メールがそのまま受信者に届く問題 が生じる.
本論文では,次に,試作した電子メール優先配送システムにおいて信頼できる送信MTAから 送られた迷惑メールに対して,電子メールの受信中に簡易な検査を行い,迷惑メールと疑われる 場合には,一時エラーやSMTPコネクションを強制切断することで,一般受信MTAへ再送させ,
十分な検査を行って受信する方法を提案する.また,提案手法に基づき,できる限り早いタイミン グで強制切断するため,Postfixキュー投入前コンテンツフィルタを用いてフィルタプログラムを 作成し,SMTPの受信プロセスを強制終了することによる強制切断方法を用いて実装した.実装 したシステムに動作確認実験を行った結果,設計どおりに正しく切断できていることを確認した.
本論文では,最後に,試作した電子メール優先配送システム(試作システム)の有効性を確認 するため,いくつかの性能評価実験を行った.その結果,試作システムは従来手法と比較して大 規模なホワイトリストに対応できること,および,大量の迷惑メールによる影響を受けにくいこ とを確認した.また,試作システムを用いて多数の送信MTAが同時にメール配送を行っている 状況をエミュレートして,性能評価実験を行った結果,試作システムは信頼できる送信MTAから 送られた電子メールをそれ以外の電子メールと比べて配送遅延を大幅に減少させることを明らか にした.また,試作システムにおいて,信頼できる送信MTAから送られた迷惑メールに対処する ために試作した手法(試作手法)の有効性を確認するため,容量の大きい電子メールの受信中に 迷惑メールの可能性があると判断する場合の実験を行った.その結果,試作手法は容量の大きい 電子メールを十分早い段階で強制切断を行っていることを確認でき,試作システムの負荷を減少 させながら,信頼できる送信MTAから送られた通常の電子メールを短い遅延時間で受信できる ことを確認し,試作システムにおいて有効であることを明らかにした.さらに,本研究での性能 評価実験結果をまとめ考察を行い,本研究は信頼できる送信MTAからの通常の電子メールの優 先配送処理に有効であることを明らかにした.
関連発表論文リスト
• 論文誌
1-1 ガーダ,松岡 政之, 山井 成良,岡山 聖彦, 河野 圭太,中村 素典, “電子メール優先配送 システムにおける信頼できるMTAから送られた迷惑メールへの対策”, 情報処理学会 論文誌, Vol.56, No.3, (2015年3月発行に掲載予定).
1-2 ガーダ,山井 成良,岡山 聖彦,河野 圭太,中村 素典, “レイヤ3スイッチによる動的ホワ イトリストを用いた電子メール優先配送システム”,情報処理学会論文誌, Vol.55, No.3, pp.1151-1159, (2014年3月発行に掲載).
• 国際会議
2-1 Gada, N. Yamai, K. Okayama, K Kawano, M. Nakamura,“E-mail Priority Delivery System with Dynamic Whitelist in the Layer 3 Switch”, in proceedings of the 37th Annual International Computer Software and Applications Conference(COMPSAC 2013), the 1st IEEE International Workshop on Architecture, Design, Deployment and Management of Networks and Applications (ADMNET 2013), pp.581-586, Kyoto, Japan, July 2013.
2-2 S.Suwa, N.Yamai, K.Okayama, M.Nakamura, Gada and K.Kawano, “Spam Mail Dis- crimination System Based on Behavior of DNS Servers Associated with URLs”, in Proceedings of the 12th IEEE/IPSJ International Symposium on Applications and the Internet (SAINT 2012), the 3rd Workshop on Company, Campus and Commu- nity Networking - Technology, Management and Ethics - (C3NET 2012), pp.381-386, Izmir, Turkey, July 2012.
• 国内研究会
3-1 山井 成良,ガーダ,松岡 政之,須藤 亨,岡山 聖彦,河野 圭太,中村 素典, “電子メール優 先配送における信頼できるMTAからのspamメール処理”,情報処理学会インターネッ トと運用技術シンポジウム2013論文集, Vol.2013, pp.99-102, Dec. 2013.
3-2 岡山 聖彦,山井 成良,ガーダ,大塚 友和, “DNSとOpenFlowスイッチとの連携による 動的ファイアウォール”,情報処理学会インターネットと運用技術シンポジウム2013論 文集, Vol.2013, pp.95-98, Dec. 2013.
3-3 ガーダ,山井 成良, 岡山 聖彦, 中村 素典, “レイヤ3スイッチによる動的ホワイトリス トを用いた電子メール優先配送システムの評価”,情報処理学会第75回全国大会, 5X-8, Vol.2013, No.1, pp.377-378, Mar. 2013.
3-4 山井 成良,諏訪 秀治,岡山 聖彦,中村 素典,ガーダ,河野 圭太, “DNS問合せの応答に 基づくspamメール判別システムの設計と実装”, 情報処理学会インターネットと運用 技術研究会研究報告,Vol.2012-IOT-19, No.6, pp.1-6, Sept. 2012.
3-5 ガーダ,諏訪 秀治,山井 成良,岡山 聖彦,中村 素典, “レイヤ3スイッチを用いた大規模 なホワイトリストに対応可能な電子メール優先配送システム”,情報処理学会第16回イ ンターネットと運用技術研究会研究報告, Vol.2012-IOT-16, No.37, pp.1-6, Mar. 2012.
目 次
第1章 序論 1
1.1 研究の背景 . . . . 1
1.2 電子メールの基礎及び迷惑メールへの対策 . . . . 2
1.2.1 電子メールの基礎. . . . 2
1.2.2 迷惑メールへの対策 . . . . 5
1.3 本研究の目的 . . . . 7
1.4 本論文の構成 . . . . 8
第2章 レイヤ3スイッチによる動的ホワイトリストを用いた電子メール優先配送システム 9 2.1 緒言 . . . . 9
2.2 従来電子メール優先配送システムとその問題点 . . . . 10
2.2.1 受信MTA自身がホワイトリストを持つ方法 . . . . 10
2.2.2 2種類の受信MTAを用いる方法 . . . . 10
2.3 大規模なホワイトリストに対応可能な電子メール優先配送システム . . . . 11
2.3.1 実現方針. . . . 11
2.3.2 提案システムの構成 . . . . 12
2.3.3 動作手順. . . . 13
2.4 試作システムの実装と動作確認 . . . . 19
2.4.1 実装 . . . . 19
2.4.2 動作確認. . . . 20
2.5 結言 . . . . 21
第3章 電子メール優先配送システムにおける信頼できる送信MTAから送られた迷惑メー ルへの対策 23 3.1 緒言 . . . . 23
3.2 優先受信MTAにおける迷惑メール処理. . . . 24
3.2.1 提案手法の概要 . . . . 24
3.2.2 優先受信MTAでの迷惑メール判定基準 . . . . 25
3.2.3 一般受信MTAでの処理 . . . . 26
3.3 試作手法の実装と動作確認実験 . . . . 27
3.3.1 試作手法の概要 . . . . 27
3.3.2 キュー投入前フィルタを用いた強制切断プログラム . . . . 28
3.3.3 その他の実装の提案 . . . . 35
3.3.4 動作確認実験 . . . . 36
3.4 結言 . . . . 43
第4章 性能評価実験と考察 45
4.1 緒言 . . . . 45
4.2 電子メール優先配送システムの性能評価 . . . . 45
4.2.1 L3スイッチの設定変更時間 . . . . 45
4.2.2 信頼できる送信MTA登録台数に対するメール配送時間 . . . . 46
4.2.3 多数の送信MTAが同時に電子メール配送を行っている状況での評価 . . . 47
4.2.4 電子メール受信中における強制切断 . . . . 48
4.3 考察 . . . . 50
4.4 結言 . . . . 51
第5章 結論 53 5.1 本研究のまとめ . . . . 53
5.2 今後の課題 . . . . 54
参考文献 56
第 1 章 序論
1.1 研究の背景
電子メールはWWWと並んで,インターネットで最も普及しているコミュニケーション手段の 1つであり,多くの人により様々な目的に利用されている.従来の電子メールサーバの運用では,
電子メールを送信者から受信者へ確実に配送することが最大の目的であったが,現在では電子メー ルを遅延無く受信者へ配送することも求められている.一方,電子メールはセキュリティ的にも 問題の多いサービスでもある.特に,広告宣伝やphishing詐欺などを目的に受信者の意図を無視 して無差別かつ大量に送信される迷惑メールの蔓延により機密情報の漏洩等セキュリティ被害だ けではなく,膨大な量のトラフィックがネットワークやメールサーバに大きな負荷をかけ,通常の 電子メールの配送に遅延が発生している.多くの組織では迷惑メールに対処するため,受信サー バでブロッキング,スロットリング,フィルタリングなどの様々な対策を適用している.しかし,
これらの対策により,新たな負荷の高い処理を行う必要がある,特に,信頼できる送信元からの 電子メールに対しても迷惑メールへの対策が適用されるため,不必要なコストの浪費を招くある いは負荷の高い処理により電子メールの配送に大きな遅延が発生してしまう.また,迷惑メール への対策により通常の電子メールが迷惑メールと誤判定されるなど,通常の電子メール配送に支 障が生じる状態が発生している.
大量に送信される迷惑メールによるサーバの負荷や多くの迷惑メール対策による電子メールの 配送遅延を信頼できる送信元からの電子メールに関して軽減するため,受信側で信頼できる送信 MTAのリストをあらかじめホワイトリストとして登録し,ホワイトリストに登録された送信MTA から送られてきた電子メールを負荷の高い処理の迷惑メール対策を行わない専用の処理あるいは 専用の受信MTAで比較的に簡単な検査を経て優先的に配送する方法がしばしば採用されている.
これにより,信頼できる送信MTAからの電子メールは迷惑メールの影響を受けにくく,かつ,迷 惑メール対策における負荷の高い処理や誤判定を回避することができ,短い遅延で配送されるこ とが可能である.
ホワイトリストを実現する従来手法として,受信MTA自信がホワイトリストを持つ方法,動 的に応答を変えるDNSサーバを用いて受信MTAを変更する方法,ルータで送信MTAのIPア ドレスに基づいて受信MTAを振り分ける方法が知られている.しかし,これらの方法も重大な 問題を抱えている.たとえば受信MTA自身がホワイトリストを持つ場合,信頼できる送信MTA からの電子メールとそれ以外の電子メールは1つの受信MTAによって処理されるため,多くの 電子メールを受信して受信MTAが過負荷になっている場合には信頼できる送信MTAからの電子 メールの配送遅延が大きくなる問題が生じる.これに対して,負荷分散のため複数の受信MTAを 運用する場合もあるが,信頼できる送信MTAからの電子メールとそれ以外の電子メールが混在す る以上,本質的には同じ問題が発生してしまう.これに対して,2種類の受信MTAを持ち,動的 に応答を変えるDNSサーバを用いて受信MTAを変更する方法が用いられている,この方法は,
問い合わせに応じて応答を変更できる機能を持つDNSサーバを用いて,信頼できる送信MTAが 使用するホワイトDNSサーバリストを作成し,信頼できる送信MTAからの問い合わせに対して は簡単な検査で受信する優先受信MTA を応答し,それ以外の送信MTAからの問い合わせに対 しては様々な迷惑メールへの対策を行って受信する一般受信MTAを応答するように構成されて おり,信頼できる送信MTAからの電子メールとそれ以外の電子メールを分離して処理を行うこ とを可能にした.しかし,この方法では,信頼できる送信MTAが増加するとホワイトDNSサー バリストの作成が事実上困難となるという問題が生じる.ルータで送信MTAのIPアドレスに基 づいて受信MTAを振り分ける方法は同様に2種類の受信MTAを持ち,linuxにおけるファイア ウォール機能であるiptablesを用いてホワイトリストを実現し,通過するSMTPコネクションを 送信元IPアドレスに基づいて受信MTAに振り分けるようにして構成されている.動的に応答を 変えるDNSサーバを用いて受信MTAを変更する方法と比較してホワイトリストの実現が容易で あり,効果的である.しかし,iptablesを用いてホワイトリストを実現しており,すべてのパケッ トについて線形探索により送信元IPアドレスがホワイトリストに含まれるかどうかの判定が行わ れるため,ホワイトリストのサイズに比例した探索時間が必要となる,すなわち,大規模なホワ イトリストを持つ場合,信頼できる送信MTAからの電子メールの配送遅延が大きくなる問題が 生じる.
従って,上記の従来手法はいずれも信頼できる送信MTAが増加したり,迷惑メールの通信量が 増加したりした場合に十分な性能が得られないという問題が生じるため,大量の迷惑メールによ る影響を受けにくく,かつ大規模なホワイトリストをでも信頼できる送信MTAからの電子メール の伝送速度を落とさずに優先的に配送できる方法が望まれている.
1.2 電子メールの基礎及び迷惑メールへの対策
本節では,まず,電子メールの基礎知識として一般的な電子メール配送の仕組みおよび電子メー ル送受信内容について簡単に述べる.次に,受信MTAで行われる迷惑メールへの対策方法につ いてその概要ならびに問題点を述べる.
1.2.1 電子メールの基礎 電子メール配送の仕組み
一般的な電子メール配送の仕組みは図1.1に示す通りである.まず,図1.1で用いられた用語に ついて説明する.
• MUA(Mail User Agent)は,電子メールシステムにおいて,ユーザーインターフェースの 部分を担当し,ユーザが電子メールを作成,編集,管理したりするために利用されるソフト ウェアのことである.また,電子メールの配送をMTAに依頼したり,ユーザーへの提示,
MTAのメールボックスからメールの受信などを行う機能を持つ.
• MTA(Mail Transfer Agent)は,電子メールの送受信を行うサーバを指す.MUAから送信 を依頼されたメールを適切な宛先へ送信する,届いたメールをユーザが受け取るまで保管 したりする.一般的にメールサーバと呼ばれる.代表的なソフトウェアとして,sendmail, postfix,qmailなどがある.
DNSサーバ送信側 受信側 DNSサーバ
送信者 メールサーバ メールサーバ 受信者
MUA
MTA MTA
Mail MUA
box
インターネット (2) (4)
(3)
(5)
SMTP
(6) (7) MDA
POP
図1.1: 電子メール配送の仕組み
• MDA(Mail Delivery Agent)は,MTAがメールを受け取ると,各ユーザのメールボックスに メールを配送する機能を持っている.代表的なMDAは,mail.local,procmail,qmail-local などがある.
• SMTP(Simple Mail Transfer Protocol)は,電子メールを送信するためのプロトコル.サー バ間でメールのやり取りをしたり,送信者がサーバにメールを送信する際に用いられる.通 常TCPポート25番を利用する.
• POP(Post Office Protocol)は,受信者がメールサーバから自分のメールを取り出す時に使 用する,メール受信用プロトコル.現在は改良されたPOP3が使用されている.通常TCP ポート110番を利用する.
• DNS(Domain Name System)とは,主にインターネット上のホスト名や,電子メールに使 われるドメイン名とIPアドレスとの対応づけを管理するサーバ.
次に,一般的な電子メールの配送手順について述べる.図1.1中の数字と以下の数字は対応して いる.以下,対応する番号でどのような操作が実行されるかを示す.
1. 送信者はMUAを使って電子メールを作成する.作成した電子メールはMUAによって,SMTP コネクションを通じて送信側MTAに配送される.
2. 送信側MTAは受け取った電子メールの宛先ドメイン名を使って送信側DNSサーバに対し てIPアドレスを問い合わせる.
3. 送信側DNSサーバは送信側MTAのIPアドレスの問い合わせを応じて受信側DNSサーバに 対して問い合わせる,その後,受信側DNSサーバは送信側DNSにIPアドレスを応答する.
4. 送信側DNSサーバはそのIPアドレスを送信側MTAに応答する.
5. 送信側のMTAはそのIPアドレスを使って,受信側のMTAにSMTPを用いてメールを中 継する.
6. 受信側のMTAにメールが到着すると,受信側のMDAにより指定受信者のメールボックス に配送され.メール受信者が取り出すまで保存される.
7. 受信者はPOP3などのプロトコルを用いて,受信側MTAとコネクション確立し,メールを 受信する.
一般的な電子メールの配送は,このような動作の流れで行われている.
電子メールの送受信内容
本論文で使用する電子メールの送受信内容を理解するため,送信MTAからtelnetを使って受 信MTAへ電子メールを送信する場合の手順で電子メールの送受信内容を説明する.その例が図 1.2に示すものである.以下では,各行でどのようなデータが送信されるかを示す.
• 1行目 送信MTAは受信MTAへコネクション開始の合図を知らせる.
• 2行目 受信MTAは自身がサポートしている拡張機能の一覧を返す.
• 3行目 送信MTAは受信MTAへ送信元の電子メールアドレスを知らせる.
• 4行目 受信MTAは正常に受け取った応答を返す.
• 5行目 送信MTAは受信MTAへ宛先の電子メールアドレスを知らせる.
• 6行目 受信MTAは正常に受け取った応答を返す.
• 7行目 送信MTAは本文開始合図を送り,8-12まではメール本文として扱われる.
• 8行目 送信元を表すヘッダFromアドレス.
• 9行目 宛先を表すヘッダToアドレス.
• 10行目 メールのタイトル.
• 12行目 メールの本文内容.
• 13行目 送信MTAは本文終了合図を送る.
EHLO mail.example.jp 250 mail.example.jp
MAIL FROM: [email protected] 250 Ok
RCPT TO: [email protected] 250 Ok
DATA
From: Alice <[email protected]>
To: Bob <[email protected]>
Subject: This is a test mail!
Messages .
250 Ok QUIT
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
図1.2: 電子メールの送受信内容
• 14行目 受信MTAは正常に受け取った応答を返す.
• 15行目 送信MTAはメール配送の終了合図を送り,通信を終了する.
電子メールの送受信時のやりとりはこのような手順で行われる.このうち,3行目と5行目はエ ンベロープと呼ばれ,メール配送に利用される.また,8行目,9行目及び10行目はメール本文 の冒頭に含まれ,ヘッダと呼ばれる.ヘッダには図1.2 に示すもののほかに,カーボンコピーの 受取人を表すCcやメール配送までに経由したMTAの情報を表すReceivedなどがある.エンベ ロープは受信MTAからのメール受信者が直接参照することはできないがヘッダは本文として受 信メールの中に含まれているので受信者が参照することができ,MUAの送信元や宛先などの表示 に利用されている.
1.2.2 迷惑メールへの対策
大量に送信される迷惑メールによって,通常の電子メールの利用に様々な問題が発生しており,
その対策は重要である.迷惑メールに対処するため,送信側対策,受信側対策などの様々対策が 知られている.そのうち,受信側対策は最も効果的であり,多くの組織に用いられている.一般的 な受信側対策としてブロッキング,スロットリング,フィルタリングなどが知られている.このう
ち,ブロッキングとはSMTPセッション開始時あるいはセッション中に送信元の判別などにより 迷惑メールの受信を拒否する方式である.特にその代表的な手法tempfailingの場合,一時エラー を返し,再送すれば受信することで,八割以上の迷惑メールを排除することが可能であり,かなり 効果的である.スロットリングとは受信側でメール配送の通信速度などを意図的に低下させるこ とにより,迷惑メールの大量送信を妨害する方法である.その代表例として,受信MTAが意図的 に応答を遅延する手法tarpittingが知られている.フィルタリングとは電子メールを受信後にヘッ ダや本文などの解析に基づき迷惑メールを振り分ける方式である.その代表例として,分散協調 型迷惑メールデータベースが提案されている.
受信側迷惑メール対策の代表的な評価基準として迷惑メールを通常の電子メールと誤判定する 割合を表す見逃し率と通常の電子メールを迷惑メールと判断する割合を表す誤検出率がある.一 般的に,迷惑メールが通常の電子メールと誤判定された場合,メール受信後に単に削除すればよ いであるが,通常の電子メールが迷惑メールと誤判定された場合,通常の電子メールが受信拒否 されたり,失われたりするため,誤検出率は最も重要な評価基準となっている.また,迷惑メー ル対策により受信MTAにどれほどの負荷になるか,迷惑メール対策の処理により電子メールの 配送遅延がどれほど増加するかは評価基準となっている.
以下では,tempfailing,tarpitting及び分散協調型迷惑メールデータベースそれぞれの概要なら び問題点を述べる.
tempfailing
tempfailingは,送信ホストの再送ポリシの特徴を利用した迷惑メール対策手法である.その代 表例としてgreylistingでは,届いた電子メールに対して一度一時エラーを示す400番台の再送要 求を出し,再送要求に応じたら受信する手法である.その方法として,まず,SMTPセッション 中から送信者IPアドレス,エンベロープ送信元メールアドレス,エンベロープ宛先メールアドレ スの三つ組を取得し,その三つ組を保持している間に同じ三つ組からの配送が行われた場合,そ の電子メールを受信する.RFC2821[12]によると,送信MTAが400番台のエラー応答を受信し た場合,必ず再送処理を行わなければならない定められている.しかし,迷惑メール発信者は電 子メール配送の信頼性よりも配送効率を優先するため,一時エラーを受信しても再送処理を行わ ないのが多い.greylistingはこのような迷惑メールの特徴に注目し,迷惑メール判別を行う手法 である.greylistingは電子メール本文を受信せず拒否する手法で,効果的な迷惑メール対策であ るものの,通常の電子メールの配送にも長時間の遅延が生じる欠点がある.RFC2821では,送信 MTAが400番台の一時エラー応答を受信した場合,少なくとも30分経過してから再送処理をす るように推薦されている.すなわち,通常の電子メールの配送は実際に配送支障がなくても,30 分以上の遅延が予想される.また,大規模な組織では,負荷分散のため複数のMTAを使用し,再 送処理は一度目の送信MTAと異なる送信MTAから行われる場合もある,この場合,再送の判断 が正しく行えない問題が生じる.それ以外に,通常の電子メールを送る送信MTAであっても再送 要求に応じない現象もあるため,通常の電子メールが迷惑メールと誤検出される,あるいは通常 の電子メール発信者が迷惑メール発信者として登録されたり認識されたりする問題も生じる.誤 検出が発生すると,通常の電子メールが紛失することになり,大きな損失に繋がる可能性がある ため,tempfailingによる通常の電子メール配送に発生する支障は無視できない.
tarpitting
RFC2821によると,受信MTAの応答に遅延が発生した場合,送信MTAは通常5分間待つべ きと定められている.しかし,大量の電子メールを短時間に送信したい迷惑メール発信者は,受信 MTAの応答を待たずに電子メール配送の手順を進めたり,あるいは電子メールの送信をあきらめ る特徴がある.Tarpittingはこのような迷惑メール発信者の特徴に注目し,迷惑メール判別を行 う手法である.その代表例greet pauseでは,ネクション確立時の受信MTAの応答(220”service
ready”)を遅延することで,迷惑メール発信者の電子メール配送の手順を進めたり,あるいは電子
メールの送信をあきらめるのを期待することで,迷惑メールを判別する手法である.tarpittingは tempfailingと比べて設定が簡単であり.配送遅延が小さい特徴が優れている.しかし,tarpitting の場合,すべての電子メール配送には必ず遅延が生じる.また,応答を遅延することにより,受 信側のネットワークや受信MTAの負荷が増加させたりする.それ以外に,通常の電子メールを 送る送信MTAであっても受信MTAの応答を待たずに電子メールの配送手順を進めたりする場合 もあるため,tempfailingと同様な誤検出の問題が生じる.
分散協調型迷惑メールデータベース
フィルタリングの代表的な例として,分散協調型迷惑メールデータベースが知られている.一 般的に,迷惑メール発信者には同じ内容の電子メールを多数の利用者に送信するという特徴があ る.分散協調型迷惑メールデータベースはこのような特徴に注目し,迷惑メール判別を行う方式 である.この方式では利用者間で共有する迷惑メールのデータベースを導入し,利用者は協調し て各自が受信した既に判定済の迷惑メールを迷惑メールのデータベースへ登録し,各受信MTAは 電子メールを受信する時にこの迷惑メールのデータベースを参照し,電子メールが迷惑メールで あるかどうかを判定する.しかし,この方式でも,迷惑メール受信による危険が生じる,あるい は迷惑メール処理により,通常の電子メールの配送遅延が大きくなる問題が生じる.
1.3 本研究の目的
1.1節で述べたように,多くの迷惑メールによるサーバの負荷や様々な迷惑メール対策による処 理時間の増大により通常の電子メールの配送遅延が大きくなっている.そこで,本論文では信頼 できる送信MTAから送られた通常の電子メールを短い遅延で優先的に配送できるシステムの開 発を目的とする.本論文の目的を達成するため,まず,(1)信頼できる送信MTAから送られた電 子メールを優先配送できるシステムを提案する.次に,(2)提案システムにおいて信頼できる送信 MTAから送られた迷惑メールへの対策方法に取り込む.
多くの迷惑メールや様々な迷惑メール対策の影響により通常の電子メールの配送遅延が大きく なっている問題に対処するため,従来では信頼できる送信MTAをあらかじめホワイトリストに 登録し,登録された送信MTAから送られた電子メールをそれ以外の電子メールと区別し,軽い 負荷の簡単な検査で優先的に処理する方法が用いられている.これにより,信頼できる送信MTA から送られた電子メールは迷惑メールの影響を受けにくく,かつ,迷惑メール対策における負荷 の高い処理や誤判定を回避することができ,短い遅延で配送されることができる.しかし,従来 手法では迷惑メールの通信量が増加した場合,あるいは信頼できる送信MTAが増加した場合,信 頼できる送信MTAから送られた電子メールの配送遅延が大きくなる.
そこで本論文では,まず,従来手法の問題点を解決するために,PBR(Policy Based Routing) 機能を持つレイヤ3スイッチを用いてホワイトリストを実現し,また,L3スイッチ内のホワイト リストに登録される送信MTAを一定数に抑え動的に変更するコントローラを追加することで,迷 惑メールの通信量が増加した場合,かつ,コントローラが持つ大規模なホワイトリストに登録さ れる信頼できる送信MTAが増加しても,信頼できる送信MTAから送られた電子メールを短い遅 延で優先配送できるシステムを提案する.
提案システムでは,信頼できる送信MTAから送られたすべての電子メールは正当な電子メー ルであると見なし,比較的簡単な検査を経て受信されるように構成されている.しかし,実際に 信頼できる送信MTAから送られた電子メールであっても,転送メールなどにより迷惑メールが 混在する可能性があるため,簡単な検査だけで受信すると危険が生じる場合もあり得る.
そこで本論文では,次に,提案システムにおいて信頼できる送信MTAから送られた迷惑メー ルに対して,電子メールの受信中に簡易な検査を行い,迷惑メールと疑われる場合には,一時エ ラーやSMTPコネクションを強制切断することで,一般受信MTAへ再送させ,様々な迷惑メー ル対策を行って受信する方法を提案する.
本論文では,最後に,性能評価実験を行い,提案システムの有効性を確認する.また,提案シ ステムにおいて信頼できる送信MTAから送られた迷惑メールへの対策手法についても性能評価 実験を行い,提案システムにおいて有効であることを確認し,本論文は信頼できる送信元からの 通常の電子メールの優先配送処理に有効であることを確認する.
1.4 本論文の構成
本論文の構成は以下のとおりである.まず,2章では,従来手法の問題を述べ,問題を解決する ために,大規模なホワイトリストに対応可能な電子メール優先配送システムを提案する.また,提 案システムを実装し,動作確認実験を行う.次に,3章では,試作システムにおいて信頼できる送 信MTAから送られた迷惑メールへの対策方法を提案する.また,実装方法について述べ,動作確 認実験を行う.さらに,4章では,試作システムを用いていくつかの性能評価実験環境を構築し,
評価実験を行う.また,信頼できる送信MTAから送られた迷惑メールへの対策方法についても性 能評価実験を行い,試作システムにおいて有効であることを確認する.最後に,5章では,本論文 の成果を要約し,今後の課題について述べる.
第 2 章 レイヤ3スイッチによる動的ホワイトリス トを用いた電子メール優先配送システム
2.1 緒言
前章で述べたように,大量に送信される迷惑メールの蔓延により膨大な量のトラフィックがネッ トワークや受信MTAに大きな負荷をかけ,通常のメール配送に遅延が発生している.多くの組織 では迷惑メールに対処するため,ブロッキング,スロットリング,フィルタリングなどの様々な迷 惑メールへの対策を適用している.しかし,これらの迷惑メール対策により,新たな負荷の高い 処理を行う必要があり,通常の電子メールの配送遅延が大きくなる,あるいは通常の電子メール を迷惑メールと誤判定するなど通常の電子メール配送に支障が生じる状態が発生している.
これらの問題に対処するため,受信側で信頼できる送信MTAのリストをホワイトリストとし て登録し,登録された送信MTAから送られた電子メールを比較的簡単な検査で受信する方法が よく用いられている.これにより,信頼できる送信MTA から送られた電子メールをそれ以外の 電子メールから分離し,短い遅延で優先的に受信できる.その代表的な方法として,受信MTA自 身がホワイトリストを持つ方法,動的に応答を変えるDNSサーバを用いて受信MTAを変更する 方法,ルータで送信MTAのIPアドレスに基づいて受信MTAを振り分ける方法が提案されてい る.しかし,これらの従来方法では迷惑メール通信量が増加した場合,信頼できる送信MTAが増 加した場合,信頼できる送信MTAから送られた電子メールの配送遅延が大きくなるという問題 が生じる.
そこで,本章では,PBR機能を持つL3スイッチを用いてホワイトリストを実現し,また,L3 スイッチ内のホワイトリストに登録される送信MTA一定数に抑え動的に変更するコントローラを 追加することで,コントローラが持つ大規模なホワイトリストに登録される信頼できる送信MTA が増加しても,信頼できる送信MTAからの電子メールの伝送速度を落とさず優先的に配送でき るシステム(電子メール優先配送システム)を提案する.
以下,2.2節では,従来電子メール優先配送システムの概要とその問題点について述べる.2.3 節では,提案システムの実現方針,構成および動作手順について述べる.2.4節では,試作システ ムの実装と動作確認実験について述べる.
2.2 従来電子メール優先配送システムとその問題点
本節では,従来電子メール優先配送システムの概要とそれぞれの問題点を述べる.従来電子メー ル優先配送システムの代表的な方法として,(1)受信MTA自身がホワイトリストを持つ方法,(2)2 種類の受信MTAを利用し,送信MTAに応じて受信MTAを振り分ける方法が知られている.以 下その概要及び問題点を述べる.
2.2.1 受信MTA自身がホワイトリストを持つ方法
一般に迷惑メール対策では,通常の電子メールを誤って迷惑メールと誤判定する可能性が無視で きないため,送信MTAのFQDN(Fully Qualified Domain Name)やIPアドレス,あるいは電子 メールの差出人アドレスに基づくホワイトリストを作成することが多い.特にgreylistingやgreet
pauseのような対策法では,誤判定が発生すると当該電子メールが失われるため,ホワイトリスト
の運用は必須である.ところが,受信MTA自身がホワイトリストを持つ場合,その受信MTAは 信頼できる送信MTAからの電子メールだけではなくそれ以外の電子メールも受信することにな るため,多くの電子メールを受信して受信MTAが過負荷になっている場合には信頼できる送信 MTAから送られた電子メールの処理にも遅延が発生することになる.これに対して負荷分散のた め複数の受信MTAを運用する場合もあるが,信頼できる送信MTAから送られた電子メールとそ れ以外の電子メールがが混在する以上,本質的には同じ問題が発生しうる.
2.2.2 2種類の受信MTAを用いる方法
受信MTA自身がホワイトリスト持つ方法では,信頼できる送信MTAから送られた電子メール とそれ以外の電子メールが混在し,多くの電子メールを受信して受信MTAが過負荷になってい る場合には,信頼できる送信MTAから送られた電子メールの処理にも遅延が発生する問題が生 じる.この問題に対処する方法として,2種類の受信MTAを利用して,送信MTAに応じて受信 MTAを振り分ける方法が用いられている.これにより,信頼できる送信MTAから送られた電子 メールを処理する優先受信MTAは,それ以外の電子メールを受信する一般受信MTAが高負荷 になっても,影響を受けず,メールの配送を行うことが可能である.2種類の受信MTAを用いる 方法の代表例として,動的応答を変えるDNSサーバを用いて受信MTAを変更する方法,ルータ で送信MTAのIPアドレスに基づいて受信MTAを振り分ける方法が提案されている.以下では,
それぞれの概要およびその問題点を述べる.
動的に応答を変えるDNSサーバを用いて受信MTAを変更する方法
動的に応答を変えるDNSサーバを用いて受信MTAを変更する方法では,送信MTAに応じて 受信MTAを変更する方法として,問合せ元に応じて応答を変更できる機能を持つDNSサーバを 用いる方法が提案されている.この方法では信頼できる送信MTAが使用するDNSサーバ(キャッ シュサーバ)のリスト(ホワイトDNSサーバリスト)を作成し,このリストに含まれるキャッシュ サーバからの問合せに対して優先受信MTAを応答する.これにより信頼できる送信MTAから送 られた電子メールをそれ以外の電子メールから分離して処理を行うことが可能になり,一般受信 MTAが過負荷になった場合でも信頼できる送信MTAから送られた電子メールは優先受信MTA
によって遅延なく処理されることが可能になる.ところが,この方法ではホワイトDNSサーバリ ストの作成にかなりの手間が必要であるため,信頼できる送信MTAが増加するとホワイトDNS サーバリストの作成が事実上困難となる問題がある.また同一のキャッシュサーバを使用する信頼 できる送信MTAとそれ以外の送信MTAが存在する場合,これらの区別を行えずに両方とも優先 受信MTAで処理を行うことになる点も問題である.
ルータで送信MTAのIPアドレスに基づいて受信MTAを振り分ける方法
ルータで送信MTAのIPアドレスに基づいて受信MTAを振り分ける方法では,Linuxを搭載 したPCルータを用いてIPアドレスに基づいて受信MTAを振り分ける装置(メール分別装置)
を実現する方法が紹介されている.この方法では分別装置内でLinuxにおけるファイアウォール 機能であるiptablesを用いてホワイトリストを実現し,通過するSMTPコネクションを送信元IP アドレスに基づいて独立起動されている異なるプロセスあるいは異なる受信MTAに振り分ける.
このような方法は動的に応答を変えるDNSサーバを用いる方法と比較して実現が容易であり,ま た特に異なる受信MTAに振り分ける場合には一般受信MTAが過負荷になった場合でも信頼でき る送信MTAから送られた電子メールを遅滞なく処理することが可能になる点で受信MTAがホワ イトリストを持つ方法より優れている.ところが,この方法ではLinuxのiptablesを用いてホワ イトリストを実現しているため,信頼できる送信MTAが増加すると性能が劣化する問題がある.
すなわち,iptablesを用いてホワイトリストを実現する場合,全てのパケットについて線形探索に より送信元IPがホワイトリストに含まれるかどうかの判定が行われるため,ホワイトリストのサ イズに比例した探索時間が必要となる.
2.3 大規模なホワイトリストに対応可能な電子メール優先配送システム
2.3.1 実現方針
前節で述べたように,ルータでIPアドレスに基づいて受信MTAを振り分ける方法は他の方法 より実現が容易でかつ効果的であるが,linuxのiptablesを用いてホワイトリストを実現している ため,大規模なホワイトリストを扱う場合に線形探索により性能が低下するという問題点がある.
一方,PCルータでのiptablesの代わりにL3スイッチのPBR機能を用いれば,TCAM(Ternary Content Addressable Memory) による探索時間の短縮効果が期待できる[13].しかし,TCAM の容量には限りがあるため大規模なホワイトリストを扱う場合,メールの配送遅延が大きくなる.
そこで,本章では,L3スイッチのPBR機能を用いてホワイトリストを実現し,L3スイッチ内 のホワイトリストに登録される送信MTAを動的に変更することにより,大規模なホワイトリスト の利用においても信頼できる送信MTAから送られた電子メールの伝送速度を落とさずに優先的 に配送できるシステムを提案する.
提案システムではL3スイッチ内のホワイトリストに登録する送信MTAを最近配送が行われて いるものに限定することで通信速度の劣化を抑制する.具体的にはL3スイッチ上のホワイトリス トに登録されていない送信MTAからのSMTPコネクションは,確率時に大規模なホワイトリス トを持つ装置(コントローラ)が送信MTAを大規模なホワイトリストと照合し,大規模なホワイ トリストに含まれる場合はその送信MTAをL3スイッチのホワイトリストに登録してから通信を
優先受信 MTA
example.com 共通 IP:192.0.2.1 一般受信MTA [192.0.2.2] [192.0.2.3]
インターネット
信頼できる送信MTA
その他の送信MTA
L3スイッチ [A.B.C.D]
[E.F.G.H]
コントローラ
図 2.1: 提案システムの構成
行わせるようにする.また,L3スイッチ内のホワイトリストに登録された送信MTAは登録後か ら一定時間が経過すればL3スイッチ内のホワイトリストから消去される.
2.3.2 提案システムの構成
提案システムは図2.1に示すようにL3スイッチ,優先受信MTA,一般受信MTA,およびコン トローラから構成される.このうち,優先受信MTA,一般受信MTAは個別のIPアドレスとは 別に共通の仮想IPアドレス(以下,共通IPアドレス)を持ち,この共通アドレスがメール配送 に宛先アドレスとして用いられる.また,個別のIPアドレスはL3スイッチで中継先を指定する 際に用いられる.L3スイッチはPBR機能を持つ.すなわち,L3スイッチは設定されたポリシに 基づき,特定の条件を満たすパケットの中継先(next hop)を通常のものとは異なるように指定す ることができる.
コントローラは送信MTAから送信されたパケットの一部を受信し,コントローラ自信が持つ大 規模なホワイトリストに送信MTAが含まれるかどうかによってL3スイッチの設定を変更する役 割を果たす.また後述するように,コントローラは優先受信MTAあるいは一般受信MTAから送 信されたパケットの一部を受信し,その送信元が優先受信MTA,一般受信MTAのどちらである かを区別して処理を行う必要がある.しかし,コントローラが受信するパケットは実際の送信元 が優先受信MTA,一般受信MTAのいずれであってもその送信元IPアドレスが共通IPアドレス であるため,送信元IPアドレスでは実際の送信元を区別することができない.そこで,提案シス テムではL3スイッチとコントローラとの間を2本のリンクで接続し,L3スイッチでは優先受信 MTAあるいは一般受信MTAから受け取ったパケットをコントローラに中継する際に送信元とな
る受信MTAの種類に応じてこれらのリンクを使い分けるようにする.これによりコントローラ はどちらのリンクからパケットを受信したかによってそのパケットの送信元がどちらの受信MTA であるかを区別できるようになる.
なお,図2.1は論理的な構成を示したものであり,物理的な構成はこの図には限定されないこと に注意する.たとえば,L3スイッチとコントローラとの間のリンクが1本しかない構成において も,このリンク上で2本のVLANを設定し,これらを使い分けることにより実質的に図2.1と同 様の構成をとることが可能である.
以下では,この構成において送信MTAが共通IPアドレスに対してSMTPコネクションを確 立して電子メールを送信する場合の提案システムの動作を述べる.
2.3.3 動作手順
提案システムの動作を理解しやすくするため,まず,コントローラが存在しない場合の動作手 順について説明する.また,コントローラが存在する場合の動作手順ついて,コントローラが信 頼できる送信MTAをL3スイッチ内のホワイトリストへ登録場合及びL3スイッチ内のホワイト リストから削除する場合の2つに分けて説明する.
コントローラが存在しない場合の動作
コントローラが存在しない場合の提案システムでは,L3スイッチには信頼できる送信MTAが 静的にホワイトリストに登録されている状態にあるものとする.この状態では,信頼できる送信 MTAから共通IPアドレス宛に送られたパケットはL3スイッチにおいてポリシに基づき中継先が 決定される.すなわち,送信MTAのIPアドレスがホワイトリスト中に含まれれば優先受信MTA の個別IPアドレスが中継先として指定され,そうでなければ一般受信MTAの個別アドレスが中 継先として指定される.受信MTAはL3スイッチが中継したパケットの宛先が自身の共通IPア ドレスであるため,これを受信する.逆に受信したパケットに対する応答として受信MTAから 送信MTAに送られるパケットの送信元IPアドレスは共通IPアドレスとなる.なお,この動作 はサーバの負荷分散の際によく用いられるDSR(Direct Server Return)技術[14]と同等である.
以下,信頼できる送信MTAから受信MTAへ電子メールの伝送が行われる場合の動作の流れを 図2.2を用いて説明する.なお,各ステップの番号は図2.2に表示されている番号と対応する.
1. L3スイッチ信頼できる送信MTAから共通IPアドレス宛のSMTPコネクションの最初の パケット(以下,SYNパケット)を受け取る.
2. L3スイッチは受け取ったSYNパケットをポリシに基づき優先受信MTAに中継する.
3. 優先受信MTAはSYNパケットを受け取り,共通IPアドレスを送信元としたSYNパケッ トの応答パケット(以下,SYN+ACKパケット)を返す.SYN+ACKパケットはL3スイッ チによって単に信頼できる送信MTAに中継される.
4. 信頼できる送信MTAからのSYN以後の通信は同様にL3スイッチのポリシに基づき優先受 信MTAに中継され,優先受信MTAへメールの伝送が行われる.
example.com 共通IP:192.0.2.1 一般受信MTA [192.0.2.2] [192.0.2.3]
優先受信MTA
[A.B.C.D]
信頼できる送信MTA
L3スイッチ (1) SYN (4) SMTP
[A.B.C.D]
ローカルホワイトリスト
(2) SYN (3) SYN+ACK
(3) SYN+ACK
図 2.2: コントローラが存在しない場合の動作
静的なホワイトリスの場合,信頼できる送信MTAからの電子メールをこのような動作の流れで 伝送される.一方,L3スイッチ内のホワイトリストに含まれない送信MTA(その他の送信MTA) から共通IPアドレス宛にメールの伝送が行われる場合,その他の送信MTAからのSYNパケッ トはあらかじめ設定されたL3スイッチのデフォルトルーティングによって,一般受信MTAに中 継される.以後の通信は同様にデフォルトルーティングによって中継され,一般受信MTAへメー ルの伝送が行われる.
このような構成で信頼できる送信MTAから送られた電子メールをその他の送信MTAから送ら れた電子メールと分離し,異なる受信MTAによって処理することができる.しかし,L3スイッ チ内のホワイトリストに登録された信頼できる送信MTAが一定数超えると,電子メールの伝送速 度が遅くなる,また,大規模なホワイトリストを扱う場合L3スイッチの動作が不安定になる問題 が発生する.そこで,本研究では,L3スイッチ内のホワイトリストのサイズを一定数に抑え,登 録される送信MTAを動的に変更するコントローラサーバを追加する.コントローラは大規模な ホワイトリストを持ち,自身が持つ大規模なホワイトリストに送信MTAが含まれるかどうかに よってL3スイッチの設定を変更する役割を果たす.なお,この時の信頼できる送信MTAはすで
example.com 共通IP:192.0.2.1 一般受信MTA [192.0.2.2] [192.0.2.3]
優先受信MTA
コントローラ Program
大規模なホワイトリスト [A.B.C.D]
[A.B.C.D]
(1) SYN
[A.B.C.D] (4) 信頼できる送信MTA
L3スイッチ ローカルホワイトリスト (2) SYN
(3) 参照
(5) SYN
(6) SYN
.
.
図 2.3: SYNパケットの処理
にコントローラの大規模なホワイトリストに登録された送信MTAを示し,その他の送信MTAは 大規模なホワイトリストに含まれない送信MTAを示す.
以下,コントローラが存在する場合の動作の流れを説明する.
L3スイッチへのホワイトリストへの登録
まず,コントローラが信頼できる送信MTAをL3スイッチ内のホワイトリストへ登録する動作 の流れを説明する.L3スイッチは,自身の持つホワイトリストに含まれない送信MTAから共通 IPアドレス宛のSYN パケットを受け取ると,これをコントローラに中継する.コントローラは L3スイッチ経由でSYNパケットを受け取った場合,送信MTAが大規模なホワイトリストに含 まれるかどうかを判断し,もし含まれれば送信MTAをL3スイッチ内のホワイトリストに登録し て,その後パケットをL3スイッチに送出する.そうでなければ,送信MTAをL3スイッチ内の ホワイトリストに登録せずに単にSYNパケットをL3スイッチに送出する.この動作により,大 規模なホワイトリストに含まれる送信MTAからのパケットはPBRにより優先受信MTAに中継 され,それ以外の送信MTAからのパケットは一般受信MTAに中継される.SYNパケットの処 理の流れを図2.3に示す.
しかし,この動作に基づいて優先配送システムを試作した結果,L3スイッチ内のホワイトリス
example.com 共通IP:192.0.2.1 一般受信MTA [192.0.2.2] [192.0.2.3]
優先受信MTA
コントローラ Program
[A.B.C.D]
信頼できる送信MTA
L3スイッチ (8) SYN+ACK
(8) 参照
(7) SYN+ACK
.
.
(8) SYN+ACK (9) SMTP
[A.B.C.D]
ローカルホワイトリスト
大規模なホワイトリスト [A.B.C.D]
図2.4: SYN+ACKパケットの処理
トは更新直後に過渡的な状態になり,SYNパケットが正しくない受信MTAに中継される場合が あることが確認された[2].すなわち,SYNパケットの送信元が信頼できる送信MTAの場合は優 先受信MTAではなく,一般受信MTAへ中継され,逆に,SYNパケットの送信元がその他の送 信MTAの場合には優先受信MTAへ中継される動作が確認された.この場合,正しい受信MTA は,SYNパケットを受信していないにもかかわらずホワイトリスト安定後には後続のパケットを 受け取るため,RSTパケットを送出してSMTPコネクションを強制切断する.そこで,このよう な動作を防止するため,SYN+ACKパケットを優先受信MTAあるいは一般受信MTAから受信 すると,L3スイッチがこれをコントローラに中継するように設定する.その際,SYN+ACKパ ケットを受信した場合には,これを優先受信MTAが接続されているポート,一般受信MTAが接 続されているポートのどちらから受信したかによって中継先のリンクが異なるようにL3スイッチ を設定し,コントローラがSYN+ACKパケットの送信元を特定できるようにする.SYN+ACK パケットの処理の流れを図2.4に示す.
送信MTAと受信MTAとの間でやり取りされるこれ以外のパケットはコントローラには転送さ れず,送信MTAと受信MTAとの間で直接やり取りされる.すなわち送信MTAから受信MTA へのSYNパケット以外のパケットは,送信MTAのIPアドレスがL3スイッチが持つホワイト リストに含まれれば優先受信MTAに,そうでなければ一般受信MTAに中継される.優先受信 MTAあるいは一般受信MTAから送信MTAへのSYN+ACK以外のパケット(実際には後述する
ようにRSTパケットも除外される)は送信MTAに中継される.
以下に,L3スイッチ内のホワイトリストに含まれない送信MTAから受信MTAの共通IPアド レス宛へメールの伝送が行われる場合,SMTPコネクションが確立されるまでの処理の流れを示 す.なお,各ステップの番号は図2.3,図2.4中に表示されている番号と対応する.
1. L3スイッチは自身のもつホワイトリストに含まれない送信MTAから共通IPアドレス宛の SMTPコネクションの最初のSYNパケットを受け取る.
2. L3スイッチは受け取ったSYNパケットをコントローラに中継する.
3. コントローラはパケットの送信元IPアドレスを抽出し,大規模なホワイトリストに含まれ るかどうかを判断する.
4. もしパケットの送信元IPアドレスが大規模なホワイトリストに含まれる場合,コントロー ラは送信元IPアドレスをL3スイッチ内のホワイトリストに登録する.そうでなければ,L3 スイッチの設定を変更しない.
5. その後,コントローラはSYNパケットをL3スイッチに中継する.
6. L3スイッチは自身の持つホワイトリストに基づき,優先受信MTA,一般受信MTAのどち らか中継先かを決定し,SYNパケットを中継する.
7. L3スイッチは受信MTAから返されるSYN+ACKパケットを受け取ると,受信MTAに応 じた特定のリンクを経由してこれをコントローラに中継する.
8. コントローラは,SYN+ACKパケットを受け取るとその宛先IPアドレスを抽出し,大規模 なホワイトリストと照合して,このパケットが正しい受信MTAから送られたものかどうか を判断する.もし優先受信MTAから返されるSYN+ACKパケットの宛先IPアドレスがコ ントローラの大規模なホワイトリストに含まれる場合,あるいは一般受信MTAから返され るSYN+ACKパケットの宛先IPアドレスがコントローラの大規模なホワイトリストに含ま れない場合には,正しい受信MTAから返されていると判断し,単にSYN+ACKパケットを L3スイッチ経由で送信MTAに中継する.逆に,一般受信MTAから返されるSYN+ACK パケットの宛先IPアドレスが大規模なホワイトリストに含まれる場合,あるいは優先受信 MTAから返されるSYN+ACKパケットの宛先IPアドレスが大規模なホワイトリストに含 まれない場合には,コントローラはL3スイッチが持つホワイトリストが更新中のため正し くない受信MTAからSYN+ACKパケットが返されていると判断し,単にパケットを廃棄 する.これにより,後に送信MTAからSYNパケットが再送されるが,その時点までにL3 スイッチが持つホワイトリストの更新が完了するのを期待する.
9. 送信MTAからのSYN以後の通信はL3スイッチ内のホワイトリストに基づき中継先が決定 され,メールの伝送が行われる.
これらの動作により,最初のSYNパケットと応答SYN+ACKパケットのみコントローラ経 由で中継され,それ以外はL3スイッチが直接中継するため,通信速度をほとんど低下せずにメー ル配送を行うことができる.
example.com 共通IP:192.0.2.1 一般受信MTA [192.0.2.2] [192.0.2.3]
優先受信MTA
コントローラ Program
大規模なホワイトリスト [A.B.C.D]
[A.B.C.D]
(1) SMTP 信頼できる送信MTA
L3スイッチ (4) RST
(5) 参照
.
.
(2) SMTP (3) RST
(7) SMTP
[A.B.C.D] (6) ローカルホワイトリスト
図2.5: RSTパケットの処理 L3スイッチ内のホワイトリストからの削除
L3スイッチ内のホワイトリストはサイズが大きすぎるとパケットの中継速度が遅くなるため,
何らかの基準でホワイトリストから登録している信頼できる送信MTAを削除する必要がある.た だし,コントローラは登録された各信頼できる送信MTAが通信中かどうかを分からない.この 問題を対処するため,登録後一定時間経過した信頼できる送信MTAを削除する手法を採用する.
ところが,この手法では現在通信中の信頼できる送信MTAをホワイトリストから削除する可能 性がある.図2.5にその時行われる処理を示す.
1. L3スイッチは信頼できる送信MTAから送られた通信を受信する.
2. コントローラの期限切れ処理により信頼できる送信MTAがホワイトリストから削除された 場合,L3スイッチは通信を一般受信MTAへ中継する.
3. 一般受信MTAはこのとき発生する通信を取り扱えず,RSTパケットを返す.
ここで,もしL3スイッチがRSTパケットを信頼できる送信MTAに中継した場合,SMTPコ ネクションが強制切断される結果となる.このような結果を引き起こさないため,提案システム では以下の動作をする.
表 2.1: コントローラ用PCの諸元
CPU Intel Core i3 2100 (3.1GHz)
メモリ 4GB
ネットワークインタフェース 100BaseTX
4. L3スイッチは一般受信MTAからのRSTパケットをコントローラへ中継する.
5. コントローラはRSTパケットを受け取り,宛先IPアドレスを抽出し,大規模なホワイトリ ストに含まれるかどうかを判定する.
6. もし含まれる場合,コントローラはRSTパケットの宛先IPアドレスをL3スイッチ内のホ ワイトリストに登録する.その後RSTパケットを廃棄する.
7. これにより,通信中の信頼できる送信MTAは一般受信MTAに中継されたパケットが途中 で失われたものと判断し,当該パケットを再送し.通信を継続することができる.
2.4 試作システムの実装と動作確認
本節では,まず,試作システムの実装について述べる.次に,試作システムを用いて図2.1と同 様の実験環境を構築し,動作確認実験を行う.
2.4.1 実装
試作システムでは,L3スイッチにはシスコシステムズ社製Catalyst 3550-12Tを使用した.ま た,コントローラにはFreeBSD 8.2- RELEASEを搭載したPCを使用した.コントローラとして 使用したPCの諸元を表2.1に示す.また,試作システムでは宛先ドメインに対するMXレコード として,共通のIPアドレスに対応するホスト名に加えて,それより低い優先度で一般受信MTA の個別のIPアドレスに対応するホスト名を登録するように構成した.これにより,優先受信MTA に障害が発生している場合でも一般受信MTAで信頼できる送信MTAから送られた電子メールを 受信することができ,配送への影響を軽減することができる.
以下では,L3スイッチの設定およびコントローラの動作について,実装上注意が必要な点を述 べる.
L3スイッチの設定
試作システムで使用したスイッチでは,以下のような設定によりPBRが実行される.
1. access-listコマンドを用いてPBRの対象となるパケットの条件を定義する.個々のaccess- listには番号が割り当てられており,1つのaccess-listに複数の条件を定義することも可能 である.