Amazon Linux 2:Postfix + OpenDKIMで送信元ドメイン認証を実装する

Postfix + OpenDKIMの構成で、送信元ドメイン認証(DKIM認証)を実装します。(2018/12/16作成)

Authentication sharonang / Pixabay

SPFとは

SPF (Sender Policy Framework)とは、電子メールの送信元ドメインが詐称されていないかを検査するための仕組みです。SPFの仕様は、RFC4408で定められています。(出典:JPNIC)

DKIMとは

DKIM (DomainKeys Identified Mail)は、電子メールにおける送信ドメイン認証技術の一つであり、メールを送信する際に送信元が電子署名を行い、受信者がそれを検証することで、 送信者のなりすましやメールの改ざんを検知できるようにするものです。DKIMの仕様は、 RFC6376で定められています。(出典:JPNIC)

0.環境

1.前提事項

  • 本手順書の対象ドメイン「 offline-net.com 」を対象にしています。
  • AEC2のサーバーは、TCP/25のOutbound通信制限がかかっているので、Eメール上限緩和申請が必要です。
  • AWS EC2 Eメール上限緩和 / 逆引き(rDNS)設定 申請手順

    2.OpenDKIMインストール

    1)EPEL rpmパッケージをインストール

    2)OpenDKIMのインストール

    3.DKIM署名用の秘密鍵と公開鍵の作成

    1)鍵ファイルの作成先ディレクトリを作成

    2)opendkim-genkeyコマンドで鍵ファイルを作成

    下記2つの鍵ファイル(秘密鍵と公開鍵)が作成されます。

    3)鍵ファイルのオーナーを「opendkim」に変更

    4.公開鍵レコードとADSPレコードの作成

    DNSサーバに登録するための「公開鍵レコード」と「ADSPレコード」を作成します。

    1)公開鍵レコードの書式

    2)ADSPレコードの書式

    ADSPレコードは、受信側でDKIMの認証結果をどのように扱ってほしいかを示すためのレコードです。dkim=の値は「all」「unknown」「discardable」のいずれかを設定します。

    ◆ポリシーの解説

    unknown…
    ・DKIM署名していないメールも送信している
    all…
    ・送信するメールはすべてDKIM署名している
    discardable…
    ・DKIM署名されていない・不正な内容のDKIM署名がされているメールが届いたら、すべて破棄してよい

    3)レコード確認方法

    ◆公開鍵レコードの確認

    ◆ADSPレコードの確認

    5.OpenDKIMの設定

    1)OpenDKIMの設定

    Mode…「s」送信時の署名「v」受信の確認の両方行う設定とします。
    SoftwareHeader…メールヘッダーに「OpenDKIM」のソフトウェアバージョン等を隠蔽します。

    2)署名に使う秘密鍵を指定

    3)署名を行うドメイン名を指定

    4)送信を行うPostfixサーバのIPアドレスを指定

    同一サーバーで、Postfixを動かしている場合は、ループバックアドレス(127.0.0.1)を指定します。

    5)起動時に秘密鍵を自動生成しないように変更

    6)OpenDKIMの自動起動

    6.Postfix とOpenDKIM を連携

    7.DKIM認証の動作確認

    ◆メール送信方法

    サーバーからGmailアドレス宛にメール送信します。

    ◆メール送信ログ

    DKIMフィールドが追加されている。

    ◆メール送信時の署名確認

    メールヘッダーの Authentication-Results に Googleが許可した認証を spf=pass, dkim=passのように追記されている。

    以上

    Pocket

About yoshimasa

埼玉県さいたま市在住、2男3女のパパです。Linux系の技術情報を中心にまとめています。1978年2月生まれ。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください