Upgrade to Pro — share decks privately, control downloads, hide ads and more …

メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative...

linyows
December 04, 2024

メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation

第17回 インターネットと運用技術シンポジウム(IOTS 2024)での発表資料です。

linyows

December 04, 2024
Tweet

More Decks by linyows

Other Decks in Science

Transcript

  1. 目次 • 背景と目的 • 従来手法とその課題 • 提案手法 • 定量評価 •

    まとめと今後の展望 Tomohisa Oda @linyows https://tomohisaoda.com 筋トレとテニスが趣味
  2. 研究の背景:セキュリティと運用効率 • 電子メールは広く普及し、フィッシングメールや送信者のなりすまし、スパムメールなど、セ キュリティの課題が重要視されている • 共有メールホスティングでは、多くのメール利用者を同一システムで管理し、送信するメールに セキュリティの問題がないか、遅延なく配送できているか、運用として気をつける必要がある 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
  3. 研究の背景:サービス品質への影響 • 共有メールホスティングでは、使用するサーバの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 🙅 💦
  4. 研究の目的 • 恒常性のある高集積マルチアカウント型のメール基盤を 研究している(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 × ✔︎
  5. 従来手法:メールリレー • 運用管理の効率性や、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
  6. 従来手法の課題 • 集約サーバが送信するメールに対して 宛先受信サーバが受信制限をする • すると、輻輳が発生しメール送信 キューが伸長する • 同じ集約サーバを経由する正常な送信 メールも遅延する可能性が高まり、

    サービス品質の低下につながる 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
  7. 提案手法:透過型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)
  8. 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)
  9. 実験の構成 • メール送信集約サーバとして、従来手法 は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は以降分割して表示する
  10. 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
  11. 輻輳の再現:累計メール受信数の推移 19 経過時間 (sec) 累計メール受信数 配信レートが低下 線形に受信数増 • mx3はTarpitのため受信する のはmx1とmx2

    • Postfixの場合、mx3への送信 で発生したキュー伸長によ りmx1とmx2への送信遅延が 確認された • Warpの場合、mx3への送信 影響はmx1とmx2に波及せず 遅延なく送信が完了した
  12. リレーレイテンシーの推移 • 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) 対数目盛 極端に長くなっている
  13. 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
  14. リソース消費:Disk I/O Usage • 3,333,000通のメール送信完了 にWarpは158分、Postfixは187 分要した • SMTPセッションの中継処理だ けを行うWarpはメールリレー

    を行う従来手法に比べてリ ソース消費のオーバーヘッド が小さい 25 経過時間 (sec) WarpはロギングによるDisk I/O Postfixはメールをファイルに書き出すためDisk I/Oが多い
  15. キューやコネクションを全体管理しないことによる効果 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ごとのコネクション
  16. 共有メールホスティングからメールサービスへの送信 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 複数のコネクションを再 利用して数万ユーザーの メールを送信
  17. キューやコネクションを全体管理しないことから想定できる影響 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ごとのコネクション
  18. 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通
  19. 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