#author("2024-04-24T18:11:53+09:00","default:irrp","irrp") →ネットワーク関連 →セキュリティ関連 →認証技術 →Gmail関連 #contents *一般 [#k0fc34ec] -[[古い技術について—SMTP現代事情つまみ食い— - Speaker Deck>https://speakerdeck.com/azumakuniyuki/gu-iji-shu-nituite-smtpxian-dai-shi-qing-tumamishi-i]] 2024.2 -[[「エンベロープFrom」と「ヘッダFrom」の違いとは? - ベアメールブログ>https://baremail.jp/blog/2021/05/25/1377/]] 2024.1 --受信したメールのEnvelope-Fromを確認したいときは Return-Pathを見る -[[Google WorkspaceでSPF, DKIM, DMARCを設定する 🌴 officeの杜 🥥>https://officeforest.org/wp/2023/12/14/google-workspace%e3%81%a7spf-dkim-dmarc%e3%82%92%e8%a8%ad%e5%ae%9a%e3%81%99%e3%82%8b/#i-2]] 2024.1 -[[大量メール送信のための予備知識 - エムスリーテックブログ>https://www.m3tech.blog/entry/2023/06/06/110000]] 2023.6 -[[SMTPとは? コマンドと応答コード (ステータスコード, response code) の一覧 | urashita.com 浦下.com (ウラシタドットコム)>https://urashita.com/archives/26971]] 2019 --HELLO --MAIL FROM --RCPT TO --DATA --RSET --SEND FROM --QUIT --TURN -[[PythonでSMTP通信してみた - Qiita>https://qiita.com/homoluctus/items/e5c6925416d13e83ae41]] 2019 -[[正しいメールアドレスのチェック方法>http://blog.ohgaki.net/index.php/yohgaki/-4]] --記入されたメールアドレスが正しいかチェックする手順 1. @でスプリットする 2. 配列要素が2つかチェック。NGはエラー 3. 1つ目の要素(ユーザ名部分)および2つ目の要素(ドメイン部分)に空白や制御文字、非ASCII文字が含まれていないかチェック。NGはエラー 4. 2つ目の要素(ドメイン部分)がDNSのMXレコードを持つかチェック。NGはエラー *メール認証/ドメイン認証/DKIM/DMARC [#vd39d8b3] →認証技術 →DNS関連 -[[使用していないドメインを勝手に名乗ってメールを送信されるのを防ぐためのDNS設定まとめ - GIGAZINE>https://gigazine.net/news/20240413-dns-settings-avoid-email-spoofing/]] 2024.4 -[[シーケンス図で理解する「メールセキュリティ」【試験対策】 #Security - Qiita>https://qiita.com/makotohanada/items/b4ae670a0d1d7c418b9b]] 2024.3 -[[自分のメールアドレスを使ってスパムかどうか判定するSPF・DKIM・DMARCの仕組みをアニメーションで理解できる「Learn and Test DMARC」レビュー - GIGAZINE>https://gigazine.net/news/20240309-dmarc-tester/]] 2024.3 -[[Amazon SESで作成したIDをDKIM認証してみた | DevelopersIO>https://dev.classmethod.jp/articles/ses-dkim-auth/]] 2024.4 -[[OpenDKIMで署名したメールをAmazon SES経由で送信してみました | DevelopersIO>https://dev.classmethod.jp/articles/mail-singed-opendkim-relay-amazon-ses/]] 2024.2 -[[大手の送信ドメイン認証「DMARC」導入率が8割超に、Gmailのガイドラインが奏功 | 日経クロステック(xTECH)>https://xtech.nikkei.com/atcl/nxt/column/18/00001/08889/]] 2024.2 -[[ASCII.jp:日経225企業のDMARC認証導入率は60% ― 世界の主要企業から遅れ>https://ascii.jp/elem/000/004/180/4180755/?rss]] 2024.1 -[[【さくらのレンタルサーバ / マネージドサーバ】DKIMおよびDMARC対応予定に関するお知らせ(2024年1月23日 10:00更新) | さくらインターネット>https://www.sakura.ad.jp/corporate/information/announcements/2023/12/19/1968214527/]] 2024.1 -[[自社のメーリングリストが他社のDMARCレポートに引っかかった件>https://zenn.dev/levtech/articles/aa35d3687b6876]] 2024.4 -[[DMARC をなめるな - 弁護士ドットコム株式会社 Creators’ blog>https://creators.bengo4.com/entry/2024/01/22/080000]] 2024.1 -[[DMARC 実装は 36%、SPF と DKIM の一方のみは 34% 〜 デージーネット調査 | ScanNetSecurity>https://scan.netsecurity.ne.jp/article/2024/02/01/50539.html]] 2024.2 -[[DKIM署名、DMARCを設定したい | さくらのサポート情報>https://help.sakura.ad.jp/mail/2811/]] 2024.1 -[[突貫でおぼえるSPF、DKIM、DMARC | DevelopersIO>https://dev.classmethod.jp/articles/learn-spf-dkim-dmarc-in-a-hurry/]] 2024.1 -[[E メールの認証方法 - Amazon Simple Email Service>https://docs.aws.amazon.com/ja_jp/ses/latest/dg/email-authentication-methods.html]] 2024.1 --Amazon SES における SPF, DKIM, DMARC設定の公式ドキュメント -[[メールを正しく送信するために必要な「SPF」「DKIM」「DMARC」とは一体どんなものなのか? - GIGAZINE>https://gigazine.net/news/20240117-email-spf-dkim-dmarc/]] 2024.1 -[[How to protect domains that do not send emails | Cloudflare>https://www.cloudflare.com/learning/dns/dns-records/protect-domains-without-email/]] 2024.1 --メール送信しないドメインでのSPF,DKIM,DMARC設定方法 -[[SPF, DKIM, DMARCのDNSレコードの登録情報をdig, nslookupで確認する #mail - Qiita>https://qiita.com/kirikunix/items/dbf959ee1cb91ca899b0]] 2022 -[[インターネット用語1分解説〜DMARCとは〜 - JPNIC>https://www.nic.ad.jp/ja/basics/terms/dmarc.html]] 2023.4 --SPFおよびDKIMの挙動を補強するために、DMARCが提案されました。 --DMARCでは、認証失敗時にどのようにメールを処理すればよいかを、 送信者が受信者に対してポリシーと呼ばれるレコードをDNS上で公開することで表明する仕組みになっています。 --受信者は認証に失敗した場合に送信者のポリシーを参照し、 それに基づいてメールをどのように取り扱うかを決定します。 -[[DMARCとは?その仕組みと設定方法、SPFやDKIMとの関係 | Proofpoint JP>https://www.proofpoint.com/jp/threat-reference/dmarc]] 2023.4 -[[【図解あり】DKIMの役割を3分で解説!!ドメイン送信技術のDKIMの仕組みを理解しよう | メール配信システム「blastmail」Offical Blog>https://blastmail.jp/blog/mail-delivery/dkim]] 2022.9 --「DKIM」とは「Domain Keys Identified Mail」の略で、電子メールにおける送信ドメイン認証技術の一つです。 --受信者側は秘密鍵によって電子署名を付与されたメールが、受信の過程で改ざんされたり、なりすましによる不正メールでないかを検証するために、DNSサーバーに公開鍵を依頼します。 --DNSサーバーから公開鍵を受け取った受信用サーバーは、公開鍵を使って秘密鍵でロックされた電子署名を検証します。 **SPF(Sender Policy Framework) [#aa5d920b] -[[SPF (やDMARC) を突破する攻撃手法、BreakSPF | 朝から昼寝>https://happynap.net/breakspf/#index_id2]] 2024.3 -[[SPF失敗の原因すべて:SPF ~all と -all の説明>https://www.skysnag.com/ja/blog/everything-that-causes-an-spf-fail-spfal-and-all-explained/]] 2023 -[[なぜSPF認証が失敗するのですか?2022年のSPF失敗を解決するには?>https://powerdmarc.com/ja/why-spf-authentication-fails/]] 2023 -[[レコード情報の設定はどうしたらいいですか(ムームーDNS利用) – ヘルプセンター|ロリポップ!レンタルサーバー>https://support.lolipop.jp/hc/ja/articles/4403089052179]] 2024.1 -[[SPF導入のすすめ>http://blog.livedoor.jp/dankogai/archives/50809900.html]] 2007 --SPFとは、電子メールの送信元ドメインを認証する方式のひとつである。SMTPの拡張仕様であり、RFC 4408として定義されている。 --受信側がSPFに対応していたら、example.comのTXTレコードをDNSで引きます。 --もしTXTレコードが存在していなければ、SPFはそのmailをneutral、中立として扱います。 --レコードが存在していたら、それがv=spfではじまっているかを確認します。これがSPFレコードです。こんな感じの内容です。 "v=spf1 +a:mail.example.com ?all" --SPFレコードを受信サーバーが解釈した上で、そのmailの扱いを決めます。捨ててしまうとは限りません。通常Received-SPF:というヘッダーがmailに追加され、そこに判定結果が反映されます。 --SPFをどう使うかは、受信サーバーにまかされている --SPFの仕組みというのは、From:を詐称するのはSMTPのセッションでいくらでも可能なのに対し、DNSのレコードは、正当なドメイン保持者でない限り難しいという点を利用しています。最も効果があるのはよってドメイン詐称です。 -※SPFの注意点として、送信側メールサーバと受信側メールサーバの間に転送メールサーバが入ったときに、転送サーバが Envelope-FROM ヘッダを書き換えないと、受信側は転送サーバを接続元とみなし、SPF認証が失敗するということが発生する。 *SMTP認証 [#n3415a87] -[[SMTP認証とは? POP before SMTPとSMTP-AUTH>https://hostingstock.net/blog/20150515/]] 2015 --SMTP-AUTH(SMTP Authentication)は、SMTPに認証機能を追加したものでありPOPと同様に送信前にアカウント認証を必要とする --認証方法にはPLAIN、LOGIN、CRAM-MD5、DIGEST-MD5などがあります PLAIN 「UserID\0UserID\0Password」というフォーマットで平文(無変換)またはBASE64化したデータで認証します。暗号化されていないため、SSL/TLSとの組み合わが推奨されます。 LOGIN PLAINと同様ですが、ユーザーIDとパスワードをBASE64化します。一度にユーザーIDとパスワードを送るのではなく、ユーザーIDとパスワードを別々に送る点が異なります。 セキュリティ的 にはPLAINと同様にSSL/TLSとの組み合わせが必要です。 CRAM-MD5 CRAM(Challenge-Response Authentication Mechanism/チャレンジレスポンス認証)と呼ばれる認証方法が利用されます。 クライアントはサーバーからBASE64化されたタイムスタンプを受け取り、それをデコードします。クライアントはデコードした タイムスタンプをパスワードをキーとしてMD5(Message Digest Algorithm 5)と呼ばれるアルゴリズムにより ハッシュ値(d41d8cd98f00b204e9800998ecf8427eのような)を求めます。ハッシュ値にユーザーIDを加えBASE64化してサーバーに送ります。 サーバーはユーザーIDとパスワードを知っているので、送信したタイムスタンプのハッシュ値を求め、受信したハッシュ値と一致していたら 認証を許可します。パスワードがネットワークに流れないため、PLAINやLOGINと比較すると安全性が高まります。 DIGEST-MD5 CRAM-MD5であっても任意のタイムスタンプを組み合わることで、辞書攻撃や総当り攻撃(ブルートフォースアタック)などが可能です。 DIGEST-MD5はCRAM-MD5を拡張して、これらの攻撃への耐性を高めたものです。Realm(ドメイン)やURLの指定や HMAC(Keyed-Hashing for Message Authentication)による暗号化に対応しています。 *用語 [#i46b2b91] -[[サブミッションポート>http://itpro.nikkeibp.co.jp/article/COLUMN/20060323/233135/]] --Submissionポートを採用したメール・サーバーにメールを送信する場合は,SMTPで587番ポートあてにメールを送る。さらに,このときユーザー認証技術「SMTP AUTH」(SMTP authentication)が必須になる。 *ツール [#t62c084e] -[[Home - dmarcian>https://dmarcian.com/]] 2024.1 --SPF/DKIM/DMARC checker -[[POPFile>https://forest.watch.impress.co.jp/library/software/popfile/]] --スパム対策用ベイジアンフィルタ -[[POPFileの学習済み辞書データを移行する>http://www.atmarkit.co.jp/fwin2k/win2ktips/1167ppfcps/ppfcps.html]] --popfile.dbとstopwordsをコピーすればよい *メールサービス [#rd8475c1] -[[全文表示可能で添付ファイルにも対応した15分間使用できる使い捨てメールアドレス「クイックメール」>http://gigazine.net/index.php?/news/comments/20080630_15qm/]] --http://15qm.com/ 15分だけ有効なメールアドレス -GMailについては→Google関連