Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Road_to_SRE_NEXT_福岡.pdf
Search
rsym1290
May 09, 2025
710
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Road_to_SRE_NEXT_福岡.pdf
rsym1290
May 09, 2025
More Decks by rsym1290
See All by rsym1290
APIをリライトした時の失敗談_実行環境の差異が生んだ不具合と教訓.pdf
rsym1290
0
150
技術基盤G_LT会_公開用_.pdf
rsym1290
0
590
サービスを構成する全サーバが トラックに載って 遠くのデータセンターへ旅立ったお話
rsym1290
0
330
4ペタバイトを超えるオブジェクトストレージを ハードウェアからアプリケーションにかけて 運用するノウハウ
rsym1290
2
4.2k
Featured
See All Featured
Chasing Engaging Ingredients in Design
codingconduct
0
260
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.7k
Unsuck your backbone
ammeep
672
58k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Speed Design
sergeychernyshev
33
2k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
950
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
RailsConf 2023
tenderlove
30
1.5k
Transcript
1 スパムメール対策でも可観測性を! rspamdとBigQueryで実現する データドリブンな対策術 三上 烈史(@rsym1290) GMOペパボ株式会社 技術部技術基盤グループ Road to SRE
NEXT@福岡 2025/5/9
2 ⾃⼰紹介 技術部技術基盤グループ エンジニアリングリード 2016年9⽉ 中途⼊社 三上 烈史 Mikami Tsuyoshi ペパボでのニックネームは「れっしー」 由来は名前から
• X(Twitter) : @rsym1290 • Github: @rsym • 趣味:ランニング
3 • 提供している機能の⼀つに「メール」があります • ショップオーナーがショップユーザーと連絡を取るための機能です • 今回の発表ではこのメールの機能を取り上げます ECサイト構築サービス カラーミーショップ
4 アジェンダ 1. スパムメール対策の重要性 2. rspamdの出番 3. BigQueryに蓄積したrspamdのログを可視化 4. スコアベースでのrejectの効果
5. まとめ
スパムメール対策の重要性 5
スパムメール対策の重要性 6 メールサーバの運⽤ではスパムメール対策が重要 spamhaus(代表的なRBL) • スパムメールが配信され続けると • メールサーバのIPレピュテーションの悪化 • RBL(Real-time
Blackhole List)への登録 • メールサーバがRBLに登録されると • 様々なプロバイダ宛のメールが拒否される • ショップオーナー‧利⽤者の間で連絡が取れなくなる
スパムメール対策の重要性 7 スパムメールの基本的な対策 • よくある対策 • SPF/DKIM/DMARCの実装 • ブラックリスト‧ホワイトリストの利⽤ •
全てのスパムメールを防げるわけではない • 例えばアカウントのっとりの場合SPF/DKIMの認証はPASSしてしまう • スパム検知ソフトウェアを利⽤した対策が必要
8 rspamdの出番
rspamdの出番 9 rspamdとは • https://rspamd.com/ • スパムメールのフィルタリングができるOSS • 様々なモジュールを組み合わせてのフィルタリング •
スコアベースのフィルタリング機構により精密なスパム判定
rspamdの出番 10 rspamdのスコアベースのフィルタリング機能 {"ts": <timestamp>, "pid": 3507278, "severity": "notice", "worker_type":
"rspamd_proxy", "id": "ABCDEF", "module": "proxy", "function": "rspamd_task_write_log", "message": "id: <timestamp@送信元ドメイン>, qid: <ABCDEF123456>, ip: xx.yy.zz.ww, from: <送信元アドレス>, (default: T (add header): [19.90/6.00] [PH_SURBL_MULTI(7.50){誘導先:url;送信元ドメイン:dkim;},ABUSE_SURBL(5.00){誘 導先:url;送信元ドメイン:dkim;},RBL_SPAMHAUS_XBL(4.00){xx.yy.zz.ww:from:127.0.0.3;},PHISHING(2.00){偽装元->誘導 先;},MV_CASE(0.50){},XM_CASE(0.50){}, ... ,TO_MATCH_ENVRCPT_ALL(0.00){}]), len: 7427, time: 1042.341ms, dns req: 21, digest: <12345abc67890def12345678abcde123>, rcpts: <宛先アドレス>, mime_rcpts: <宛先アドレス>"} • rspamdのログには判定スコアや判定理由が詳細に記録される • スコアが⼀定以上だとスパム判定のヘッダをメールに付与(add header) • 送信拒否(reject)もできるがデフォルトではnull(=rejectされない)
rspamdの出番 11 rspamdのログを元にBigQueryでスコアを分析できるようにする • スコアベースでスパムメールをrejectしたい • add headerでもメールは配信されるのでIPレピュテーションに影響する • スパムメールはrejectしたいが誤検知によるrejectは回避したい
• ブラックリストベースでのrejectも試したが送信元ドメインの種類が多くて対応が困難 • BigQueryでスコアを分析してスコアベースでのrejectを試みる • rspamdのログ元にBigQuery⽤のスキーマを定義 • fluentdを介して構造化されたrspamdのログデータをBigQueryに転送 • BigQueryに蓄積したデータに基づいてrejectの閾値を探る
12 BigQueryに蓄積した rspamdのログを可視化
BigQueryに蓄積したrspamdのログを可視化 13 ある期間の全メールの判定結果別の推移 • 橙がadd headerで⾚がreject • スコアベースのフィルタで⾚(reject)を増やしたい • この当時の⾚(reject)はブラックリストによるもの
ブラックリストでのreject
BigQueryに蓄積したrspamdのログを可視化 14 スパム判定されたメールのスコアをヒストグラム化 • スパムメールが⼀定のスコアに集中していることがわかる • 該当スコアのrspamdのログを調査したところ送信元がRBLに登録されていることがわかった • このスコア以上のスパムメールをrejectすることにした 横軸は判定スコア(閾値の情報につながるので伏せています)
特定のスコアに集中している傾向
15 スコアベースでの rejectの効果
スコアベースでのrejectの効果 16 rejectを⼊れた⽇から効果を確認 • スコアベースでのrejectを導⼊してから⾚が⼤きく増えていることがわかる • reject導⼊直後が⾚の割合がやたら多い この辺りの時期にスコアベースでのrejectを導入
スコアベースでのrejectの効果 17 スパム判定されたメールだけに絞ってグラフ化 • スコアベースのrejectを⼊れた直後のスパムメールの総件数が多い • 調べたところ直後に特定のプロバイダ宛の⼤量のスパム配信が試⾏されていたことが発覚 • そのスパムメール配信の阻⽌に成功👏 rejectを入れた直後に大量スパム配信が試行されていた
18 まとめ
19 まとめ • rspamdとBigQueryを活⽤したスパムメール対策術を実施 • ログの構造化とBigQueryへの転送&可視化で判断材料を獲得 • データドリブンな対策の効果 • 可視化したデータに基づいたreject設定により効果的なスパム対策を実現
• IPレピュテーション悪化のリスクを低減 • 今後の展望 • 改善はしたものの依然としてスパム対策が必要 • 収集したデータに基づく継続的なチューニングによる精度向上 • GPT Pluginの導⼊&AIを活⽤したスパムメール対策
https://recruit.pepabo.com/info/career/ GMOペパボでは⼀緒に働く仲間を募集しています! 20
21