メールシステムのおはなし #Mailerstudy

29,808 views

Published on

メール談義ができるようになるための基礎知識のために

【Ust録画】メールシステム 基本編 http://www.ustream.tv/recorded/17612350

【Ust録画】メールシステム 現実編 http://www.ustream.tv/recorded/17613018

Published in: Technology
0 Comments
52 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
29,808
On SlideShare
0
From Embeds
0
Number of Embeds
1,818
Actions
Shares
0
Downloads
0
Comments
0
Likes
52
Embeds 0
No embeds

No notes for slide

メールシステムのおはなし #Mailerstudy

  1. 1. メールシステムのおはなし<br />荒木靖宏<br />twitter.com/ar1<br />facebook.com/araki.yasuhiro<br />#mailerstudy<br />
  2. 2. 荒木 靖宏(あらき やすひろ)<br /><ul><li>Twitter:ar1</li></ul>Debianオフィシャル開発者<br />2010年度Debian JP プロジェクト会長.Postfix詳解の著者. 博士(科学). 東北大->NAIST->IIJ->ネットビレッジ->HP->東大->DeNA->AWSでびでびあんあんでびあんあん。 <br />今の仕事: 「お客様のやりたい事」の実現<br />AWS化を手伝います。<br />Amazon Web Servicesソリューションアーキテクト<br />
  3. 3. メールシステムと私<br />1995年qmailとの出会い. linux-users MLの管理. <br /><ul><li>1997年 NAISTのメールサーバ等の管理
  4. 4. spamとの戦い開始
  5. 5. 99年初頭にqmailへのリプレース
  6. 6. S/MIMEのMLへの適用で修士をいただく
  7. 7. 1999年 IIJでメールサービス開発
  8. 8. JUSのイベントでqmailの話をする
  9. 9. 2000年imode系のメールサービスベンチャ
  10. 10. Postfixを使った最大級のサービス
  11. 11. 2001年 JUSのイベントでPostfix代表として登壇
  12. 12. 2004年Postfix詳解出版</li></li></ul><li>アジェンダ<br />メールシステム超基本編<br />これであなたもメール談義ができるように!<br />メールシステム現実編<br />これであなたもメール騙りができるように!<br />
  13. 13. メールシステム超基本編<br />これであなたもメールの話題の輪に加われます<br />キレイゴトの世界<br />
  14. 14. DNS<br />インターネット<br />全体俯瞰<br />NTP<br />メールサーバ<br />Mail Delivery Agent<br />Mail Transfer Agent (MTA)<br />Mailbox<br />Mail User Agent (MUA)<br />ユーザ<br />
  15. 15. Mail User Agent<br />ユーザが利用するアプリケーション<br />メールを読む<br />メールを書く<br />メールを保存する<br />メールを検索する<br />例<br />Thunderbird, Outlook, ….<br />
  16. 16. Mail Transfer Agent<br />メールの受信<br />送信先の決定<br />メールの送信<br />リモートへ(SMTP)<br />ローカルへ(MDAへ)<br />キューイング<br />エラー通知<br />実装例<br />Sendmail, qmail, Exchange, Postfix, Exim,..<br />
  17. 17. メールメッセージ<br />
  18. 18. メールアドレス<br />発信者と受信者を特定する情報<br />user@example.com<br />(失われた)その他形式<br />user % example.com @ relay<br />@relay: user@example.com<br />example.com! user<br />ユーザ部<br />ドメイン部<br />
  19. 19. ヘッダと本文<br />RFC5322(822->2822と変遷)で定義<br />ヘッダ<br />ヘッダ名: ヘッダ内容<br />ヘッダと本文は空行で分ける<br />To: yasu@debian.or.jp<br />From: ar@debian.org<br />Subject: test<br />本文の1行目<br />
  20. 20. ヘッダとエンベロープ<br />SMTPのRFCで定義。5321(821->2821と変遷)<br />エンベロープ<br />送信手続をした人と、配送先。封書の表書きのイメージ<br />MUAやMTAが作成する。MTAは配信ホップ毎に書きかえる。<br />ヘッダ<br />封書の中身に「だれだれさんから、だれだれさんへ」と書くのに相当<br />本文を書いた人(From)が読んで欲しい人(To)を記述<br />ヘッダとエンベロープが一致しない例<br />個人にあてられたbcc<br />メーリングリスト<br />
  21. 21. インターネット<br />プロトコル<br />DNS<br />NTP<br />メールサーバ<br />ローカル<br />ファイル操作<br />SMTP<br />IMAP<br />POP3<br />SMTP<br />
  22. 22. DNSとメール<br />user@example.comにどう届く?<br />送信側: MXレコードに書かれたアドレスのAレコード宛に送信する<br />MXレコード<br />優先度を指定できる(数値が小さいほうが優先される)<br />たまに見る間違い<br />CNAMEを指定する(RFC2181で禁止)<br />MTAによってはメールが届かない<br />
  23. 23. $ dig mx hiroba.org<br />;; QUESTION SECTION:<br />;hiroba.org. IN MX<br />;; ANSWER SECTION:<br />hiroba.org. 86400 IN MX 5 alt1.aspmx.l.google.com.<br />hiroba.org. 86400 IN MX 5 alt2.aspmx.l.google.com.<br />hiroba.org. 86400 IN MX 10 aspmx2.googlemail.com.<br />hiroba.org. 86400 IN MX 10 aspmx3.googlemail.com.<br />hiroba.org. 86400 IN MX 10 aspmx4.googlemail.com.<br />hiroba.org. 86400 IN MX 10 aspmx5.googlemail.com.<br />hiroba.org. 86400 IN MX 1 aspmx.l.google.com.<br />;; AUTHORITY SECTION:<br />hiroba.org. 170129 IN NS ns-165.awsdns-20.com.<br />hiroba.org. 170129 IN NS ns-1624.awsdns-11.co.uk.<br />hiroba.org. 170129 IN NS ns-1347.awsdns-40.org.<br />hiroba.org. 170129 IN NS ns-1003.awsdns-61.net.<br />;; ADDITIONAL SECTION:<br />aspmx.l.google.com. 185 IN A 74.125.127.27<br />alt1.aspmx.l.google.com. 187 IN A 74.125.45.27<br />alt2.aspmx.l.google.com. 197 IN A 74.125.93.27<br />aspmx2.googlemail.com. 2212 IN A 74.125.43.27<br />aspmx3.googlemail.com. 2213 IN A 74.125.127.27<br />aspmx4.googlemail.com. 2945 IN A 209.85.229.27<br />aspmx5.googlemail.com. 1888 IN A 74.125.157.27<br />ns-165.awsdns-20.com. 44352 IN A 205.251.192.165<br />ns-1003.awsdns-61.net. 44352 IN A 205.251.195.235<br />ns-1347.awsdns-40.org. 162645 IN A 205.251.197.67<br />
  24. 24. DNSを使った送信先決定<br />DNS root server<br />DNS <br />cache server<br />MTA<br />2<br />1,5<br />.com SOA<br />3<br />Example.comのMXレコード?<br />Example.comのMXレコード?->.comに聞け<br />Example.comのMXレコード?->.example.comに聞け<br />Example.comのMXレコード?->10 mail.example.comだよ<br />Mail.example.comのAレコード?....<br />.example.comSOA<br />4<br />
  25. 25. SMTP<br />HELO sender.example.com<br />250 OK<br />MAIL FROM: user@example.com<br />250 OK<br />example.jp<br />Sender.example.com<br />RCPT TO: user1@example.jp<br />250 OK<br />MTA<br />MUA<br />DATA<br />354 Start<br />ヘッダ,本文.. <CRLF>.<CRLF><br />250 OK<br />QUIT<br />250 OK<br />
  26. 26. SMTPのステータスコード<br />200番台<br />正常応答<br />情報提供<br />300番台<br />データ入力を促す(354)<br />400番台<br />一時的なエラー: サーバシャットダウン、メールボックスbusy、メールボックス溢れ<br />500番台<br />システムエラー: コマンド間違い<br />転送エラー: メールアドレスなし、処理失敗通知<br />
  27. 27. メーリングリスト配送の場合<br />HELO sender.example.com<br />250 OK<br />MAIL FROM: user@example.com<br />RCPT TO: user1@example.jp<br />250 OK<br />配送サーバ<br />MLプログラム<br />250 OK<br />RCPT TO: user2@example.jp<br />250 OK<br />参加者分くりかえし<br />DATA<br />354 Start<br />ヘッダ,本文.. <CRLF>.<CRLF><br />250 OK<br />QUIT<br />250 OK<br />
  28. 28. 配信エラーメール<br />SMTPセッション時のエラー<br />送信元のMTAが作成。<br />エンベロープの発信者メールアドレスにエラーメールが戻る<br />SMTPセッション時以外<br />送信先のMTAが作成<br />エンベロープの発信者に戻る or Errors-To:<br />
  29. 29. メールシステム現実編<br />これであなたもメール管理者の穴にはいれます<br />参加者みなさまと<br />おはなししていきたい<br />
  30. 30. メール騙りのために<br />重いんだけど?<br />Logどうしてる?<br />SPAM対策は?<br />現実解?<br />皆様の体験談を聞きたい!<br />
  31. 31. vs重いんだけど?<br />MUA<br />問題?<br />重いんだけど?<br />外部<br />配送速度<br />攻撃?<br />内部<br />配送速度<br />気のせい?<br />
  32. 32. Logは重要<br />とはいえ考えること多数<br />Firewall vs Sniff<br />Syslog vs独自ログ<br />DB vsテキスト<br />集中管理 vs分散管理<br />ローテーション vs永久保存<br />コンプライアンス vs技術理由<br />メール専用vs汎用<br />事後解析vsリアルタイム<br />データ爆発!<br />
  33. 33. メール用のログ解析<br />メール専用<br />qmailanalog, pflogsum,logrep, mailstats<br />コンバータ<br />maillog2commonlog [sendmail|smail|newsmail|qmail] < logfile<br />
  34. 34. Log->通知<br />リアルタイム<br />Logsurfer<br />Swatch<br />定期的<br />Logcheck<br />Logwatch<br />
  35. 35. vs SPAM<br />メールの悲しみ<br />他者からの入力を認証なしにうけつけてしまったのが発端<br />個人として<br />受信したときの対応はどうとでもなる: フィルタでもなんでもできる<br />自分のメールアドレスでSPAMを送信されたときは大変。<br />今なら社会的に抹殺されるかもしれない<br />サーバ管理者として<br />受信する側: 下手な対応はできない<br />送信する側: ものすごく厳しくするのオススメ<br />
  36. 36. Port25 blocking<br />ターゲットの主体は動的IPアドレス<br />動的っぽい(機械生成チック)アドレス名を手で更新する例も。<br />動的IPアドレスから外向きPort25のブロック<br />全てのEmailはISPのMTA経由に<br />submission portへの対応<br />自力運用をあきらめるとも言う。<br />動的IPアドレスからの内向きPort25のブロック<br />MAPS DUL (Dynamic User List)等<br />http://esupport.trendmicro.co.jp/Pages/JP-212754.aspx<br />
  37. 37. メールブロック(AntiSpam)手法:受信側<br />ネットワーク事業者によるもの<br />Portブロック<br />受け手によるもの<br />IPアドレスブロック<br />国ブロック<br />地域ブロック<br />DNS逆引きブロック<br />DNS性逆一致ブロック<br />ヘッダブロック<br />本文ブロック<br />維持管理団体の出現<br />
  38. 38. DNSBL (DNS Blacklist)<br />フィルタリング情報をDNSにのせて配布<br />メジャーどころ<br />spamhous<br />Trendmicro(MAPS)<br />日本<br />スパムちゃんぷるーdnsbl<br />http://spam-champuru.livedoor.com/dnsbl/<br />rbl.jp<br />他にも山のように存在<br />http://en.wikipedia.org/wiki/Comparison_of_DNS_blacklists<br />
  39. 39. spam扱いされない送信側作法<br />超基本の第三者中継チェック<br />http://spamlinks.net/prevent-secure-relay-test.htm<br />DBの定期的確認<br />http://www.dnsbl.info/dnsbl-database-check.php<br />http://www.senderbase.org/help/blocked<br />DNS<br />逆引きを忘れずに<br />正逆一致しないと受けとらないMTA多数あり<br />SPFレコード<br />RFC4408参照。<br />DKIM<br />DKIM導入リコメンド<br />http://www.dkim.jp/dkim-jp/recommend/<br />国内の主要送信事業者11社がDKIMに対応完了(2011年7月26日)<br />
  40. 40. 現状のメール環境の意識は人によって大きく異なる<br />対Spam意識が高い(=メールボックスが割りとクリーン)<br />メールアドレスの使い分け(ステアドレスの使用)<br />MUAでのアンチスパム機能の利用とDBメンテナンス<br />一方でメールを諦める人も<br />各種ソーシャルネットワーキングサービスの利用<br />SMS<br />
  41. 41. 受信側の現実解<br />アプライアンス<br />メール専用機: <br />Mirapoint, Ironport…..<br />UTM: <br />Sonicwall, UTM-1 (checkpoint)….<br />SaaS<br />Gmail, McAfee, Trend Micro HES…<br />
  42. 42. 送信側の現実解<br />アプリケーション<br />MailPublisher(エイケア), Cuenote (ユミルリンク), SIELLA (レピカ), WEBCAS(エイジア)<br />アプライアンス<br />IronPort (cisco)<br />SaaS<br />アプリケーション開発会社の多くはSaaS提供へ<br />
  43. 43. まとめ<br />メール談義のために<br />大まかな構成<br />ルール(プロトコル)<br />様々な問題へ対処してる人をリスペクトして下さい<br />サービスとしてのメールへ<br />「苦しむのは俺達だけで十分だ」<br />

×