メールのセキュリティー

あわせて読みたい
「Google社・米国Yahoo社が2024年2月よりメール受信の厳格化」に対応するためのまとめ 【SPF、DKIM、DMA... 迷惑メールや不正行為の対応するための手段として、SPF、DKIM、DMARC等の技術が使われてきました。今までは、比較的容易に対応可能なSPFだけ対応していれば問題なく利用...

メールのセキュリティ向上に役立つ主要な技術には、以下のものがあります。
例示用には、テストネットワーク用アドレスを使用しています。

目次

メールのセキュリティ向上に役立つ主要な技術

  • SPF (Sender Policy Framework): SPF は、送信元ドメインを権限付き IP アドレスと関連付けて電子メールの送信元偽装を防止するためのテキストベースの DNS レコードです。受信者のメールサーバーは、送信者の IP アドレスが SPF レコードで許可されたアドレスかどうかをチェックし、結果に応じてメールを扱います。
  • DKIM (DomainKeys Identified Mail): DKIM は、送信者がメールに暗号的な署名を付けることでメールの改ざんや送信元偽装を防止する技術です。受信者のメールサーバーは、公開鍵で署名を検証してメールが正当な送信者から送信されたことを確認します。
  • TLS (Transport Layer Security): TLS は、メールサーバー間の通信を暗号化し、メールの内容や接続情報が盗み見られるのを防ぐ技術です。TLS を使用することで、中間者攻撃やデータの傍受を難しくします。
  • S/MIME (Secure/Multipurpose Internet Mail Extensions): S/MIME は、電子メールの内容を暗号化し、受信者だけが復号化して読むことができるようにする技術です。また、S/MIME を使用してメールにデジタル署名を付けることで、送信者の真正性を確認できます。
  • ARC(Authenticated Received Chain): ARCは、電子メール認証のプロトコルであり、DMARC(Domain-based Message Authentication, Reporting & Conformance)と関連しています。主に、大量のメールを転送するメーリングリストやグループワークスペースなどのシナリオで使用されます。
  • DMARC (Domain-based Message Authentication, Reporting & Conformance): DMARC は、SPF と DKIM の認証結果に基づいて、ドメイン所有者がメールの扱いを指定できるポリシーを提供する技術です。これにより、不正なメールの受信を防止し、メール認証状況の報告を受け取ることができます。

これらの技術を組み合わせることで、メールのセキュリティ向上に寄与します。ただし、設定や運用に注意が必要であり、誤った設定やポリシーが配信性能に悪影響を与えることがあります。

SPF

Sender Policy Framework (SPF) は、電子メールの送信者(ドメイン)が正当なものであることを検証するための技術です。特に、メールを送信するサーバーの IP アドレスが許可されているかどうかを確認することで、送信元偽装や迷惑メールの発信源となるサーバーを減らす効果があります。

SPF の仕組み

SPF は、以下の手順で動作します。

  • メール送信者のドメインは、DNS 上に SPF レコード(TXT レコードの一種)を公開します。このレコードには、メールを送信できる IP アドレスやホスト名がリストされています。
  • メールが受信者のサーバーに届くと、そのサーバーはメールの送信元ドメインから SPF レコードを取得します。
  • 取得した SPF レコードと、メールの送信元 IP アドレスを照合します。IP アドレスが SPF レコードに記載されている場合は、「Pass」(SPF 検証に合格)と判断し、そうでない場合は「Fail」(不合格)と判断します。
  • SPF 検証の結果に基づいて、受信サーバーはメールを受け入れるか拒否するかを決定します。検証に失敗した場合、受信サーバーはメールを拒否したり、迷惑メールフォルダに移動させたりすることがあります。

SPF レコードの例

以下は、SPF レコードの一例です。

example.com.  IN TXT  "v=spf1 ip4:203.0.113.0/24 ip6:2001:db8::/32 mx a:mail.example.net -all"

このレコードは次のような意味を持ちます。

  • v=spf1: SPF のバージョンを表します。
  • ip4:203.0.113.0/24: IPv4 アドレス範囲(203.0.113.0~203.0.113.255)がメール送信を許可されています。
  • ip6:2001:db8::/32: IPv6 アドレス範囲(2001:db8::/32)がメール送信を許可されています。
  • mx: example.com の MX レコードで指定されたメールサーバーがメール送信を許可されています。
  • a:mail.example.net: mail.example.net の A レコードで指定された IP アドレスがメール送信を許可されています。
  • -all: 上記以外の送信元からのメールはすべて拒否されます。

SPF を適切に設定することで、メールの送信者認証が向上し、送信元偽装や迷惑メールを効果的に防止することができます。ただし、誤った SPF 設定は配信性能に悪影響を与えることがあるため、注意が必要です。

あわせて読みたい
SPF (Sender Policy Framework) + SRS (Sender Rewriting Scheme)の導入 https://int-design.jp/content/spf-dkim-dmarc-arc-gmail/ Sender Policy Framework (SPF) は、電子メールの送信元を検証するためのシンプルな認証プロトコルです。SPF...

DKIM

DomainKeys Identified Mail (DKIM) は、電子メールのメッセージの完全性と送信者のドメインの正当性を検証するための技術です。具体的には、送信者のドメインが公開鍵暗号方式を使用してメールにデジタル署名を追加し、受信者側でそれを検証することで、メールが改ざんされていないかや送信元が正当であることを確認します。

DKIM の仕組み

DKIM は以下の手順で動作します。

  1. メール送信者のドメインは、DNS 上に DKIM の公開鍵(TXT レコードの一種)を登録します。
  2. 送信サーバーでは、メールに対して秘密鍵(公開鍵と対になる)でデジタル署名を生成し、メールヘッダーに DKIM-Signature として追加します。
  3. メールが受信者のサーバーに届くと、そのサーバーはメールの送信元ドメインから DKIM の公開鍵を取得します。
  4. 取得した公開鍵で、メールの DKIM-Signature を検証します。改ざんがなく、送信者のドメインが正当であれば検証に成功(合格)し、そうでない場合は失敗(不合格)となります。
  5. DKIM 検証の結果に基づいて、受信サーバーはメールを受け入れるか拒否するかを決定します。検証に失敗した場合、受信サーバーはメールを拒否したり、迷惑メールフォルダに移動させたりすることがあります。

DKIM レコードの例

以下は、DKIM の公開鍵レコード(TXT レコード)の一例です。

selector._domainkey.example.com.  IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrLHiExVd55zd/IQ/J/mRwSRMAocV/hMB3jXwaHH36d9NaVynQFYV8NaWi69c1veUtRzG6k7id5T19YROuBBAJgKAW61Ma2tujK84Iq9mYPbd+G28E93/Tp0HBNaLFJyn5hvO/5L3Uffxm46hxCEEDEDytOUsyS"

selector._domainkey.example.com.  IN TXT "v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoQBB+rXeYHHe6AIxGzLa4pKhqW1nx7+mC+l/iNacOb67lLSkwV+fjMPtCbtLMSqQDhdNU18NuZh1ODnfM6B2nPsW/1m6fqzSr2D7fLrLerDLvvmjUyaKOd3hj2ISWkH0RXcRivXtklE+5aDhf74tsaTTPV/Z"

selector._domainkey.example.com.  IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxU4UpTLrBGtMiebpUKz/Y/+81ddpeep43Nu/rwxQcIOpAnNLEERh/YDNXnmIznFnLBDeiycen93YK8fECpUJNWSaAycOeZMqGaZbgEwPFMpSbwhBkk3BWkcetfpsy3XUwr85p6yjoSonPJkK34VhmZhu82t"

このレコードは次のような意味を持ちます。

  • selector: DKIM のセレクタ(キーペアを識別するための文字列)です。
  • _domainkey: DKIM レコードの接頭辞です。
  • example.com: ドメイン名です。
  • v=DKIM1: DKIM のバージョンを表します。
  • k=rsa: 公開鍵暗号方式(この場合は RSA)を示します。
  • h=sha256(オプション):署名アルゴリズムを示します。省略された場合、デフォルトは “sha1” です。
  • p=…:公開鍵の Base64 エンコードされた値が続きます。

DKIM を適切に設定することで、メールの送信者認証が向上し、送信元偽装や迷惑メールを効果的に防止することができます。ただし、誤った DKIM 設定は配信性能に悪影響を与えることがあるため、注意が必要です。

あわせて読みたい
DKIM (DomainKeys Identified Mail) の導入 + 転送メール強制DKIM再署名の実験 https://int-design.jp/content/spf-dkim-dmarc-arc-gmail/ DKIM (DomainKeys Identified Mail) は、電子メールの送信者がメールの内容を改ざんされないよう保護し...

TLS

Transport Layer Security (TLS) は、インターネット上で通信を暗号化し、安全にデータを転送するためのプロトコルです。メールの TLS は、送信サーバーから受信サーバーまでの電子メールのやりとりを保護するために使用されます。

メール TLS の仕組み

メール TLS は以下の手順で動作します。

  • クライアント(メール送信サーバー)が、サーバー(メール受信サーバー)に接続要求を行います。
  • サーバーが、自身の証明書と公開鍵を含む TLS ハンドシェイクメッセージをクライアントに送信します。
  • クライアントは、証明書の有効性を確認し、公開鍵を使用して共有される秘密情報(プレマスターシークレット)を暗号化してサーバーに送信します。
  • サーバーとクライアントは、共有された秘密情報を使用して対称暗号鍵(セッションキー)を生成します。
  • データの転送中、クライアントとサーバーはこのセッションキーを用いて通信内容を暗号化・復号化します。これにより、通信が傍受された場合でも内容は保護されます。
  • セッション終了時、クライアントとサーバーはセッションキーを破棄します。

スタートTLS と暗号化接続(ダイレクトTLS)

メール TLS には、主に2つの方法があります。

  • スタートTLS:メールサーバー間の通信が開始された後に、暗号化を開始する仕組みです。最初は平文で通信が行われ、両サーバーが TLS に対応していることが確認されると、暗号化された通信に切り替わります。
  • 暗号化接続(ダイレクトTLS):通信の開始時点から暗号化される仕組みです。通常、この方式ではポート番号が異なります(例:SMTPでは通常のポート25に代わってポート465が使用されます)。

TLS を適切に設定することで、メールの通信が横取りや改ざんされるリスクを減らすことができます。ただし、TLS は送信者側のドメインの認証には対応していないため、DKIM などと併用することでより高いセキュリティが実現されます。

S/MIME (Secure/Multipurpose Internet Mail Extensions)

S/MIME (Secure/Multipurpose Internet Mail Extensions) は、電子メールの内容を暗号化し、デジタル署名によって認証するための規格です。この技術により、機密性、完全性、送信者確認が提供されます。

S/MIME の仕組み

S/MIME は主に以下の機能を提供しています。

  • 暗号化:電子メールの本文や添付ファイルを暗号化することで、第三者によるデータの盗み見防止します。
  • デジタル署名:送信者が正当であり、メールが改ざんされていないことを証明するために、電子メールにデジタル署名が追加されます。

S/MIME を使うには、送信者と受信者がそれぞれアプリケーション(メールクライアント)側で証明書と公開鍵・秘密鍵ペアを持っている必要があります。証明書は、信頼された認証局(CA)から取得されます。

暗号化の手順

  • 送信者が、受信者の公開鍵を使ってメールの本文及び添付ファイルを暗号化します。
  • 受信者は、自分の秘密鍵を使って暗号化されたメールを復号化します。

デジタル署名の手順

  • 送信者が、自分の秘密鍵を使って電子メールにデジタル署名を行います。
  • 受信者は、送信者の公開鍵を使って署名の検証を行います。これにより、送信者が正当であり、メールが改ざんされていないか確認できます。

S/MIME の利点

  • 機密性:暗号化によって、メールの内容が第三者に読まれることを防ぎます。
  • 完全性:デジタル署名によって、メールが途中で改ざんされていないことを確認できます。
  • 送信者認証:デジタル署名から、送信者の正当性を確認することができます。

S/MIME は、企業や組織内で機密情報を取り扱う場合や、個人情報保護が重要なシーンでメールセキュリティを強化するために使用されます。ただし、すべてのメールクライアントやサービスが S/MIME をサポートしているわけではないため、相互運用性に注意が必要です。また、証明書の取得や管理が必要となります。

あわせて読みたい
S/MIME の導入 S/MIME(Secure/Multipurpose Internet Mail Extensions)は、電子メールの暗号化とデジタル署名を行うための標準です。PostfixにS/MIMEを導入することで、以下のような...

ARC

ARC(Authenticated Received Chain)は、電子メール認証のプロトコルであり、DMARC(Domain-based Message Authentication, Reporting & Conformance)と関連しています。主に、大量のメールを転送するメーリングリストやグループワークスペースなどのシナリオで使用されます。

ARCの目的

ARCは、メッセージが複数の中間エージェントを通過してドメイン間で転送される場合に、より安全な認証手順を提供することを目的としています。これにより、DMARCポリシーが適切に実装されている場合でも、フォワードおよびリダイレクトされたメールが偽物である可能性が低くなります。

仕組み

ARCは、次の3つのヘッダーを使用して機能します。

  • ARC-Authentication-Results(AAR):このヘッダーには、認証結果が含まれており、各中間エージェント間で引き継がれます。
  • ARC-Message-Signature(AMS):このヘッダーには、中間エージェントによって署名されたメッセージ署名が含まれており、最終的な受信者サービスプロバイダによって確認されます。
  • ARC-Seal(AS):このヘッダーには、中間エージェントがAARおよびAMSヘッダーをシーリングするための情報が含まれており、最終的な受信者サービスプロバイダがそれらを確認できるようにします。

ARCの利点

以下は、ARCプロトコルのいくつかの利点です。

  • メール転送エージェント(MTA)が信頼できる方法でメール認証を維持し、転送されたメッセージが検証される可能性が高くなります。
  • DMARCポリシーが適切に実装されている場合でも、フォワードおよびリダイレクトされたメールが偽物である可能性が低くなります。
  • 中間エージェントによるメッセージの操作が減少し、配信率が向上することが期待されます。

ただし、ARCはDMARCや他の認証プロトコルと共に使用されるべきであり、それ自体で完全な解決策ではありません。それでも、ARCは電子メール認証およびセキュリティを強化するための有効な追加手段です。

あわせて読みたい
ARC (Authenticated Received Chain)の導入 https://int-design.jp/content/spf-dkim-dmarc-arc-gmail/ ARC (Authenticated Received Chain) とは、電子メールの認証結果を伝搬させるために設計された技術です。具...

DMARC

DMARC (Domain-based Message Authentication, Reporting & Conformance) は、電子メールのセキュリティおよび認証プロトコルであり、SPF(Sender Policy Framework)とDKIM(DomainKeys Identified Mail)のメール認証システムを利用します。DMARC の目的は、送信者ドメインからのメールが正当なものであることを確認し、詐欺メールやスパムメールを減らすことです。

DMARC の仕組み

DMARC は主に次の 2 つの要素から成り立っています。

  1. メール認証: DMARC は SPF と DKIM を使用してメールが正当な送信元から送信されているかどうかを確認します。
    • SPF: 送信者の IP アドレスがドメイン所有者が許可したアドレスかどうかをチェック。
    • DKIM: メールヘッダーに含まれる署名がドメイン所有者によって生成された秘密鍵と一致するかどうかを確認。
  2. ポリシーエンフォースメント: DMARC はドメイン所有者が、正当でないと判断されたメールに対してどのような処置を行うかを指定することができます。また、報告機能を通じて、送信ドメインの認証状況とポリシーエンフォースメントの結果を確認できます。

DMARC の設定

DMARC を設定するには、次の手順を実行します。

  1. SPF と DKIM の両方が正しく設定されていることを確認
  2. DNS レコードに _dmarc.example.com(example.com の部分はあなたのドメイン名)という名前で DMARC レコードを追加。以下は一例です。
v=DMARC1; p=none; rua=mailto: [email protected]; ruf=mailto: [email protected]; fo=1; adkim=r; aspf=r; pct=100;
  • v: プロトコルバージョン
  • p: ポリシー (none, quarantine, reject)
  • rua: 集約レポート受信先
  • ruf: 逐一レポート受信先
  • fo: レポート生成条件
  • adkim: DKIM 認証厳密度
  • aspf: SPF 認証厳密度
  • pct: ポリシー適用割合

DMARC の利点

DMARC の利用によって得られる主な利点は次の通りです。

  • 詐欺メールやスパムメールを防ぐ
  • メールの認証状況を報告でき、セキュリティポリシーの改善に役立てる
  • 受信者がメールが正当な送信元から送信されていることを確信し、ブランド保護につながる

DMARC は電子メールの送信側も受信側も利益があり、詐欺やスパムメールへの対策に効果的です。ただし、構成や運用には注意が必要であり、設定ミスやポリシー適用の誤りが配信性能に影響を与えることがあります。

あわせて読みたい
DMARC の導入 https://int-design.jp/content/spf-dkim-dmarc-arc-gmail/ DMARC(Domain-based Message Authentication, Reporting & Conformance) は、電子メールのセキュ...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次