Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Road_to_SRE_NEXT_福岡.pdf
Search
rsym1290
May 09, 2025
770
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
190
技術基盤G_LT会_公開用_.pdf
rsym1290
0
640
サービスを構成する全サーバが トラックに載って 遠くのデータセンターへ旅立ったお話
rsym1290
0
360
4ペタバイトを超えるオブジェクトストレージを ハードウェアからアプリケーションにかけて 運用するノウハウ
rsym1290
1
4.3k
Featured
See All Featured
A better future with KSS
kneath
240
18k
We Have a Design System, Now What?
morganepeng
55
8.4k
Chasing Engaging Ingredients in Design
codingconduct
0
390
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
610
Writing Fast Ruby
sferik
630
63k
Typedesign – Prime Four
hannesfritz
42
3.2k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
320
Evolving SEO for Evolving Search Engines
ryanjones
0
360
Are puppies a ranking factor?
jonoalderson
2
4.2k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.9k
Building the Perfect Custom Keyboard
takai
2
950
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