プロジェクト

全般

プロフィール

DKIM対応

インストール

  • yum/dnfでインストール
    dnf install opendkim
    dnf install opendkim-tools
    

鍵設定

  • 鍵ファイルの配置
    mkdir /etc/opendkim/keys/ドメイン名
    cd /etc/opendkim/keys/ドメイン名
    
    opendkim-genkey -d ドメイン名
    chown -R opendkim.opendkim /etc/opendkim/keys
    chmod 600 default.private
    chmod 644 default.txt
    

DNS設定

  • 内容の表示とコピー
    cat default.txt
    
  • セレクタ名の設定
    ここでは例として「default」とする。
    セレクタ名は任意だが、定期的にローテーションさせてセキュリティを高めるので実際には連番付与するといいかも。
  • 公開鍵のDNSレコードの作成
    鍵の長さが256文字を超える場合、複数レコードにわける必要がある場合がある。
    default._domainkey.[ドメイン名].  IN TXT "v=DKIM1; k=rsa; p=公開鍵" 
    
  • 署名に対する対応のレコードを作成する。
    _adsp._domainkey.[ドメイン名].  IN TXT "dkim=レコード値" 
    
    ・レコード値の内容
    dkim=unknown    DKIM署名していないメールも送信する。
    dkim=all    送信するメールはすべてDKIM署名をおこなっている。
    dkim=discardable    DKIM署名がされていなかったり不正な署名のメールはすべて削除してよい
    

DNS確認

  • チェックサイト等でレコードの正常性を確認する。
    https://dmarcian.com/dkim-inspector/
    

デーモンの設定作成

  • テンプレートのコピー
    cp /etc/opendkim.conf /etc/opendkim.conf.default
    
  • キーテーブルとソケット部分の変更
    vi /etc/opendkim.conf 
    --------------------
    Mode    sv
    #KeyFile        /etc/opendkim/keys/default.private
    KeyTable        /etc/opendkim/KeyTable
    SigningTable    refile:/etc/opendkim/SigningTable
    ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts
    InternalHosts   refile:/etc/opendkim/TrustedHosts
    
    Socket  inet:8891@localhost
    
  • キーテーブルファイルの作成
    vi /etc/opendkim/KeyTable
    --------------------
    default._domainkey.ドメイン名 ドメイン名:セレクタ名:/etc/opendkim/keys/ドメイン名/default.private
    
  • 署名テーブルファイルの作成
    vi /etc/opendkim/SigningTable
    --------------------
    *@ドメイン名 default._domainkey.ドメイン名
    
  • 信頼するホスト一覧の作成
    今回はローカルのみとする。
    vi /etc/opendkim/TrustedHosts
    --------------------
    127.0.0.1
    ::1
    
  • Postfixとの連携設定
    vi /etc/postfix/main.cf
    --------------------
    smtpd_milters = inet:127.0.0.1:8891
    non_smtpd_milters = $smtpd_milters
    milter_default_action = accept
    

自動起動設定

  • opendkimの起動(自動起動設定含む)とpostfixの設定反映を行う
    systemctl enable —now opendkim
    systemctl restart postfix
    

動作確認

  • メール送信時のmaillogに下記のようにopendkimに連携してシグネチャが追加されるログのあること
    opendkim[****]: ******: DKIM-Signature field added (s=セレクタ名, d=ドメイン名)
    
  • メール送信時に以下のようなヘッダが追加されていること
    Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ドメイン名; s=セレクタ名; t=1701130467; 
    以下署名内容
    

 

戻る