Slide 1

Slide 1 text

第17回 インターネットと運用技術シンポジウム(IOTS 2024) メール送信サーバの集約における 透過型SMTP プロキシの定量評価 小田 知央(さくらインターネット)嶋吉 隆夫(岡山大学) 笠原 義晃(九州大学)

Slide 2

Slide 2 text

目次 • 背景と目的 • 従来手法とその課題 • 提案手法 • 定量評価 • まとめと今後の展望 Tomohisa Oda @linyows https://tomohisaoda.com 筋トレとテニスが趣味

Slide 3

Slide 3 text

背景と目的

Slide 4

Slide 4 text

研究の背景:セキュリティと運用効率 • 電子メールは広く普及し、フィッシングメールや送信者のなりすまし、スパムメールなど、セ キュリティの課題が重要視されている • 共有メールホスティングでは、多くのメール利用者を同一システムで管理し、送信するメールに セキュリティの問題がないか、遅延なく配送できているか、運用として気をつける必要がある 4 Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Jae Deasigner from Noun Project Created by Jae Deasigner from Noun Project Created by Jae Deasigner from Noun Project 💦 Created by Nawicon from the Noun Project Created by Galaxicon from the Noun Project 9 8 7 , 6 5 4 Created by Alzam from Noun Project

Slide 5

Slide 5 text

研究の背景:サービス品質への影響 • 共有メールホスティングでは、使用するサーバのDNSBL登録や、IPレピュテーションなどから宛 先受信サーバによるスロットリングなど、送信に使用するIPアドレスに起因し問題が発生する • これらの問題はメールの配送能力の劣化につながりサービス品質へ影響する 5 Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Jae Deasigner from Noun Project Created by Jae Deasigner from Noun Project Created by Jae Deasigner from Noun Project Created by Alzam from Noun Project ××ʜ 198.51.100.10 🙅 💦

Slide 6

Slide 6 text

研究の目的 • 恒常性のある高集積マルチアカウント型のメール基盤を 研究している(DICOMO2018) • その一環として、特定メールアカウントの送信不可や送 信遅延の影響を限定的にし、システム全体を安定的に運 用できることを目指す 6 Created by Afianroc from Noun Project Created by Lordz from Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Jae Deasigner from Noun Project Created by Jae Deasigner from Noun Project Created by Alzam from Noun Project × ✔︎

Slide 7

Slide 7 text

従来手法とその課題

Slide 8

Slide 8 text

従来手法:メールリレー • 運用管理の効率性や、IPv4アドレス数 の制約から、外部へ送信するメール サーバを集約する • 送信メールサーバの集約にはMTAを 使ったメールリレーを行う - 単にIPだけを集約する場合はNATが使えるが、 送信メールの管理が分散し運用効率が悪い 8 Created by Jae Deasigner from Noun Project Created by Jae Deasigner from Noun Project Created by Jae Deasigner from Noun Project Created by Laxouri Studio from the Noun Project Created by Laxouri Studio from the Noun Project Created by Laxouri Studio from the Noun Project Created by Jae Deasigner from Noun Project Created by Jae Deasigner from Noun Project MSA (Mail Submission Agent) MTA (Mail Transfer Agent) Created by Sentya Irma from Noun Project Created by Sentya Irma from Noun Project Created by Jae Deasigner from Noun Project Created by Laxouri Studio from the Noun Project Created by Sentya Irma from Noun Project MUA (Mail User Agent) MX (Mail Exchanger) 198.51.100.10 198.51.100.20 Career A Platform A Hosting A Created by kliwir art from the Noun Project Created by kliwir art from the Noun Project

Slide 9

Slide 9 text

従来手法の課題 • 集約サーバが送信するメールに対して 宛先受信サーバが受信制限をする • すると、輻輳が発生しメール送信 キューが伸長する • 同じ集約サーバを経由する正常な送信 メールも遅延する可能性が高まり、 サービス品質の低下につながる 9 Created by Jae Deasigner from Noun Project Created by Jae Deasigner from Noun Project Created by Jae Deasigner from Noun Project Created by Laxouri Studio from the Noun Project Created by Laxouri Studio from the Noun Project Created by Laxouri Studio from the Noun Project Created by Jae Deasigner from Noun Project Created by Jae Deasigner from Noun Project MSA (Mail Submission Agent) MTA (Mail Transfer Agent) Created by Sentya Irma from Noun Project Created by Sentya Irma from Noun Project Created by Jae Deasigner from Noun Project Created by Laxouri Studio from the Noun Project MUA (Mail User Agent) MX (Mail Exchanger) 198.51.100.10 198.51.100.20 Career A Platform A Hosting A Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Sentya Irma from Noun Project … Created by Muhamad Sukron from Noun Project

Slide 10

Slide 10 text

提案手法

Slide 11

Slide 11 text

提案手法:透過型SMTPプロキシ • 送信メールの集中管理かつIPv4アドレスの集 約とメール送信キューの分散のために透過型 SMTPプロキシの提案と開発を進めている (https://github.com/linyows/warp) • Warpは送信サーバと外部の受信サーバの間に 配置され、両者が直接通信しているように見 せかけ、通信内容の収集や改変を行う • 実際にはルーティングによってMSAの外部25 番ポート宛のパケットがWarpへ渡され、Warp は再び正しい宛先へパケットを送信する - WarpはSMTPセッションを中継するが、宛先サーバ とのTLS接続はWarpが終端する 11 Created by Jae Deasigner from Noun Project Created by Jae Deasigner from Noun Project Created by Jae Deasigner from Noun Project Created by Laxouri Studio from the Noun Project Created by Laxouri Studio from the Noun Project Created by Laxouri Studio from the Noun Project MSA (Mail Submission Agent) Proxy Created by Sentya Irma from Noun Project Created by Sentya Irma from Noun Project Created by Jae Deasigner from Noun Project Created by Laxouri Studio from the Noun Project Created by Sentya Irma from Noun Project MX (Mail Exchanger) Career A Platform A Hosting A Warp MUA (Mail User Agent)

Slide 12

Slide 12 text

Warpを使用する利点 • 特定のメールアカウントによって輻輳が発 生しても、メールキューは集約サーバでな くMSA側にあるため、送信遅延は他のMSA へ影響しない • また、SMTPコマンドレベルのログを取得 可能なため、内部レピュテーションの蓄積 や宛先サーバに応じて使用するIPの使い分 けが可能 • このように、集約サーバとしてキューを管 理しないことと多くの情報を収集できるこ とがWarpの利点である 12 Created by Jae Deasigner from Noun Project Created by Jae Deasigner from Noun Project Created by Jae Deasigner from Noun Project Created by Laxouri Studio from the Noun Project Created by Laxouri Studio from the Noun Project Created by Laxouri Studio from the Noun Project MSA (Mail Submission Agent) Proxy Created by Sentya Irma from Noun Project Created by Sentya Irma from Noun Project Created by Jae Deasigner from Noun Project Created by Laxouri Studio from the Noun Project Created by Sentya Irma from Noun Project MX (Mail Exchanger) 198.51.100.10 198.51.100.20 Career A Platform A Hosting A … Warp Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Muhamad Sukron from Noun Project MUA (Mail User Agent)

Slide 13

Slide 13 text

集約サーバがメールキューを管理しないことによる影響 を実験により確認し、Warpの実用性について議論する

Slide 14

Slide 14 text

定量評価

Slide 15

Slide 15 text

実験内容 1. 輻輳再現時の受信数とレイテンシーの変化 Warpが従来手法の課題を解決することをレイテンシーから確認する 2. サーバリソースの消費 同じSMTPの送信処理においてリソース消費はどのような違いが現れ るか確認する 3. 同時接続時の受信時間分布 集約サーバがキューを管理しないことによるデメリットを想定した 実験を確認する 15

Slide 16

Slide 16 text

実験の構成 • メール送信集約サーバとして、従来手法 はPostfixを使ったメールリレーによる配 送、提案手法は透過型SMTPプロキシの Warpを使った配送を行う • 共有メールホスティングサービスのマル チテナントを模擬し、送信サーバのMSA を複数用意し、宛先受信サーバであるMX サーバも異なるドメインで複数用意した • 送信プログラムのMUAは各MSAへ同時に 送信する 16 Created by Syaeful Amri from Noun Project Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project 集約サーバ Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project MSA 1 MSA 2 MSA 3 MX 1 MX 2 MX 3 MUA Postfix or Warp Postfix Postfix Postfix Postfix Postfix Postfix Go 視覚的にメールの流れを分かりやすくするため、送信プログラムのMUAは以降分割して表示する

Slide 17

Slide 17 text

1. Warpが従来手法の課題を解決することをレイテンシーか ら確認する

Slide 18

Slide 18 text

1. 輻輳再現時の受信数とレイテンシーの変化 • 大量送信による輻輳を再現する • Postfixのactiveキューのメッセージ数上 限の設定値 qmgr_message_active_limit をdefaultの20,000から200に変更し少ない トラフィックで輻輳が生じるようにした • また、宛先サーバが行う(迷惑メール対 策による)受信制限を模擬するために、 宛先サーバをTarpitとして動かした 18 Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project MSA 1 MSA 2 MSA 3 MX 1 MX 2 MX 3 送信プログラム Tarpit 10秒ごと60回送信 Created by Syaeful Amri from Noun Project Created by Syaeful Amri from Noun Project Created by Syaeful Amri from Noun Project 10通 10通 1,000通 MUA 1 MUA 2 MUA 3 集約サーバ Postfix or Warp

Slide 19

Slide 19 text

輻輳の再現:累計メール受信数の推移 19 経過時間 (sec) 累計メール受信数 配信レートが低下 線形に受信数増 • mx3はTarpitのため受信する のはmx1とmx2 • Postfixの場合、mx3への送信 で発生したキュー伸長によ りmx1とmx2への送信遅延が 確認された • Warpの場合、mx3への送信 影響はmx1とmx2に波及せず 遅延なく送信が完了した

Slide 20

Slide 20 text

輻輳の再現:Postfixでのキュー長の推移 20 Postfixがメールを配信する流れ 検証、宛先解析など 配信待ち 配信失敗で一時的に格納 配信プロセス 送信不能メールからDeferredキューが増加 Incommingキュー長が増大 Activeキュー長が上限に到達 経過時間 (sec) キュー長 Active Incoming Deferred qmgr(8) • 各キュー長の変化から、mx3 への送信の影響が送信全体に 波及していることがわかる

Slide 21

Slide 21 text

リレーレイテンシーの推移 • MXで受信したすべてのメールの ヘッダーからレイテンシーの集計を した • レイテンシーからもWarpは輻輳が 他の送信に影響がないことがわかる 21 Created by Heztasia from the Noun Project 集約サーバ Created by Heztasia from the Noun Project MSA MX End-to-End レイテンシー リレーレイテンシー Created by Syaeful Amri from Noun Project MUA 1秒 レイテンシーの定義 経過時間 (sec) 平均レイテンシー(sec) 対数目盛 極端に長くなっている

Slide 22

Slide 22 text

2. 同じSMTPの送信処理においてリソース消費はどのような 違いが現れるか確認する

Slide 23

Slide 23 text

2. サーバリソースの消費 • 同じSMTPの送信処理においてどのよう な違いが現れるか確認する • 各MSAからMXへ1,000通から始め、10秒 ごとに10,000、100,000、1,000,000と送信 した • 合計3,333,000通を各MSAから集約サーバ へ送った • 集約サーバ全体のリソース消費を比較 23 Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project MSA 1 MSA 2 MSA 3 MX 1 MX 2 MX 3 10秒ごと4回送信 nは回数 送信プログラム Created by Syaeful Amri from Noun Project Created by Syaeful Amri from Noun Project Created by Syaeful Amri from Noun Project MUA 1 MUA 2 MUA 3 10 通 n+2 10 通 n+2 10 通 n+2 集約サーバ Postfix or Warp

Slide 24

Slide 24 text

リソース消費:CPU, Memory Usage CPU使用率とMemory使用量はどちらもPostfixよりWarpが少ないが大きな差はない 24 CPU Usage Memory Usage 経過時間 (sec) 経過時間 (sec)

Slide 25

Slide 25 text

リソース消費:Disk I/O Usage • 3,333,000通のメール送信完了 にWarpは158分、Postfixは187 分要した • SMTPセッションの中継処理だ けを行うWarpはメールリレー を行う従来手法に比べてリ ソース消費のオーバーヘッド が小さい 25 経過時間 (sec) WarpはロギングによるDisk I/O Postfixはメールをファイルに書き出すためDisk I/Oが多い

Slide 26

Slide 26 text

3. 集約サーバがキューを管理しないことによるデメリット を想定した実験

Slide 27

Slide 27 text

キューやコネクションを全体管理しないことによる効果 27 Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project Warp Created by Heztasia from the Noun Project MSA 1 MSA 2 MSA 3 MX 1 Created by Syaeful Amri from Noun Project Created by Syaeful Amri from Noun Project Created by Syaeful Amri from Noun Project MUA 1 MUA 2 MUA 3 Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project MSA 1 MSA 2 MSA 3 MX 1 Created by Syaeful Amri from Noun Project Created by Syaeful Amri from Noun Project Created by Syaeful Amri from Noun Project MUA 1 MUA 2 MUA 3 Postfix Postfix Warp メリット • MSA間の影響分離 • 高いスループット • 低Disk I/O 全体管理されたキューと コネクション MSAごとのコネクション

Slide 28

Slide 28 text

共有メールホスティングからメールサービスへの送信 28 多くのユーザーが独立かつ同時並行に(GmailやYahoo!などの)メールサービス宛へメールを送信する Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Jae Deasigner from Noun Project Created by Jae Deasigner from Noun Project Created by Jae Deasigner from Noun Project Created by Jae Deasigner from Noun Project Created by Alzam from Noun Project Created by Lordz from Noun Project Created by Lordz from Noun Project Created by Lordz from Noun Project Created by Lordz from Noun Project Created by Lordz from Noun Project Created by Lordz from Noun Project … 数万ユーザー Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project @example.com メールサービス [email protected] Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project 複数のコネクションを再 利用して数万ユーザーの メールを送信

Slide 29

Slide 29 text

キューやコネクションを全体管理しないことから想定できる影響 29 Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project Warp Created by Heztasia from the Noun Project MSA 1 MSA 2 MSA 3 MX 1 Created by Syaeful Amri from Noun Project Created by Syaeful Amri from Noun Project Created by Syaeful Amri from Noun Project MUA 1 MUA 2 MUA 3 Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project MSA 1 MSA 2 MSA 3 MX 1 Created by Syaeful Amri from Noun Project Created by Syaeful Amri from Noun Project Created by Syaeful Amri from Noun Project MUA 1 MUA 2 MUA 3 Postfix Postfix Warp 同時接続 1 × × デメリット • 接続制限による MSA間の配送影響 同時接続 1 ✔︎ 全体管理されたキューと コネクション MSAごとのコネクション

Slide 30

Slide 30 text

3. 同時接続時の受信時間分布 • 複数テナントを模擬する複数MSAが、同一の宛先 受信サーバ(例えば @gmail.comや@ymail.ne.jpな ど)に対してメールを送信する • この時、集約サーバと宛先受信サーバの同時接続 数制限を超える状況を再現する • mx1のPostfixは、同一クライアントの同時接続数を 制限する smtpd_client_connection_count_limit を defaultの50から10に変更 30 Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project Created by Heztasia from the Noun Project Postfix or Warp Created by Heztasia from the Noun Project MSA 1 MSA 2 MSA 3 MX 1 1回送信 同時接続 10 送信プログラム Created by Syaeful Amri from Noun Project Created by Syaeful Amri from Noun Project Created by Syaeful Amri from Noun Project MUA 1 MUA 2 MUA 3 10,000通 10,000通 10,000通

Slide 31

Slide 31 text

Postfixは配送並列数を宛先サーバの応答を見て調整 する送信制御を行うため、mx1の同時接続数制限に 応じて各MSAの送信流量が同じになっている 31 PostfixとWarpの受信流量比較 • MSAそれぞれがmx1へ接続し、その接 続はmx1の同時接続数制限の中で先着 順となっている • 一番早いmsa3と遅いmsa2は送信完了 に1.6倍の差が生じている 299sec 61sec 36sec Postfix Warp 経過時間 (sec) 経過時間 (sec) メール受信数

Slide 32

Slide 32 text

Warpでは送信流量の公平性が失われる可能性 32 本実験では送信完了することでSMTPセッションは終了したが、共有メールホスティング環境では 継続的なメール送信が想定される。この場合、送信流量の公平性が失われる可能性がある。 Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Jae Deasigner from Noun Project Created by Alzam from Noun Project Created by Lordz from Noun Project Created by Lordz from Noun Project Created by Lordz from Noun Project Created by Lordz from Noun Project Created by Lordz from Noun Project Created by Lordz from Noun Project … 数万ユーザー Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project @example.com メールサービス [email protected] Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project Created by Galaxicon from the Noun Project 複数のコネクションを再 利用して数万ユーザーの メールを継続的に送信 Postfixはコネクションの再利用 を行うキャッシュ機能がある Created by Heztasia from the Noun Project … Created by Heztasia from the Noun Project 各MSA Warp

Slide 33

Slide 33 text

まとめと今後の展望

Slide 34

Slide 34 text

34 まとめ • 本研究は、メール集約の既存手法であるメールリレー方式と透過 型SMTPプロキシ方式において、実験による定量的評価を行った • Warpの場合、特定テナントが引き起こした輻輳の影響が他のテナ ントへ波及せず、レイテンシーに変化がないことを明らかにした • Warpは透過型プロキシであることから従来手法と比べてディスク I/Oを使用しない • 複数テナントから同一ドメインへ同時送信するケースにおいて、 送信流量の偏りが発生することがわかった

Slide 35

Slide 35 text

今後の展望 • カナリアリリースで本番に導入し動作検証済み(他社) • 透過型プロキシの特性から、既存サーバに直接変更を加えずルーティン グだけで導入が可能であるためクラウドやVPS環境への導入も検討する • 複数IPの使い分け機能を追加、MTA-STSの機能追加など、実運用上で必 要な機能を充実させていく • オブサーバビリティソフトウェアなどのエコシステムと連携なども想定 している 35

Slide 36

Slide 36 text

謝辞:本研究は JSPS科研費20K11791「軽量コンテナによる大規模 高集積メールホスティング基盤における送信機能の高機能化」の 助成を受けたものです。