メール設定 · 1 min read · Sep 27, 2025

Postfixでdkim-milter 2.8.xを使用して複数のドメインのDKIMを設定する (CentOS 5.3)

Postfixでdkim-milter 2.8.xを使用して複数のドメインのDKIMを設定する (CentOS 5.3)

はじめに

DomainKeys Identified Mail (DKIM) インターネット標準は、メール送信者がメッセージにデジタル署名を行うことを可能にし、受信者がそのメッセージが改ざんされていないことを確認できるようにします。DKIM送信者認証スキームは、メッセージの受信者がメッセージが送信者のドメインから発信されたことを確認し、メッセージの内容が変更されていないことを確認できるようにします。暗号技術に基づくソリューションであるDKIMは、企業に対して比較的低い実装コストでメール詐欺を軽減し、組織のブランドと評判を保護するための業界標準の方法を提供します。DKIMの基本仕様は、Sendmail, Inc.がCiscoおよびYahoo!と共同で推進しています。

このチュートリアルは、CentOS 5.2でのPostfixにおけるDKIMの設定チュートリアルと私の個人的な経験に基づいています。この設定があなたにとって機能することを保証するものではありません!

インストール

Topdogソフトウェアは、Dkim-milterのCentos rpmを提供しています。http://www.topdog-software.com/oss/dkim-milter から最新バージョンをインストールします。この記事執筆時点での最新バージョンはdkim-milter-2.8.3-1です。

dkim-milter rpmをインストールします(32bitおよび64bit intelに対応)

wget http://www.topdog-software.com/oss/dkim-milter/dkim-milter-2.8.3-1.i386.rpm  
rpm -ivh dkim-milter-2.8.3-1.i386.rpm

キーの生成

/usr/bin/dkim-genkey  -r -d mydomain1.com

mydomain1.comを、メールに署名するドメイン名に置き換えます。このコマンドは、2つのファイルを作成します。

default.txt - DNSを介して公開する公開鍵を含みます
default.private - メールに署名するために使用する秘密鍵です

秘密鍵の名前を変更し、dkim-milterのキーのディレクトリに移動して保護します。

mv default.private default  
mkdir /etc/mail/dkim/keys/mydomain1.com  
mv default /etc/mail/dkim/keys/mydomain1.com  
chmod 600 /etc/mail/dkim/keys/mydomain1.com/default  
chown dkim-milt.dkim-milt /etc/mail/dkim/keys/mydomain1.com/default

重要な注意: 他のドメインについてもこれらの手順を繰り返し、各ドメインには上記のように別々のフォルダを使用してください。そうしないと、「dkim: FAILED, invalid (public key: not available)」というエラーメッセージが表示されます。

DNSの設定

公開鍵をDNSを介して公開する必要があります。クライアントサーバーはこの鍵を使用して、署名されたメールを検証します。default.txtの内容は、ゾーンファイルに追加する必要がある行で、サンプルは以下の通りです。

default._domainkey IN TXT "v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDG81CNNVOlWwfhENOZEnJKNlikTB3Dnb5kUC8/zvht/S8SQnx+YgZ/KG7KOus0By8cIDDvwn3ElVRVQ6Jhz/HcvPU5DXCAC5owLBf/gX5tvAnjF1vSL8ZBetxquVHyJQpMFH3VW37m/mxPTGmDL+zJVW+CKpUcI8BJD03iW2l1CwIDAQAB"
; ----- mydomain1.comのDKIMデフォルト

これもゾーンファイルに追加します。

_ssp._domainkey IN TXT "t=y; dkim=unknown"

設定

/etc/dkim-filter.confファイルを確認する必要があります。

vi /etc/dkim-filter.conf

次のようになっている必要があります。

ADSPDiscard             yes
ADSPNoSuchDomain        yes
AllowSHA1Only           no
AlwaysAddARHeader       no
AutoRestart             yes
AutoRestartRate         10/1h
BaseDirectory           /var/run/dkim-milter
Canonicalization        simple/simple
Domain                  mydomain1.com   #ここにすべてのドメインを追加し、カンマで区切ります
ExternalIgnoreList      /etc/mail/dkim/trusted-hosts
InternalHosts           /etc/mail/dkim/trusted-hosts
KeyList                 /etc/mail/dkim/keylist
LocalADSP               /etc/mail/dkim/local-adsp-rules
Mode                    sv
MTA                     MSA
On-Default              reject
On-BadSignature         reject
On-DNSError             tempfail
On-InternalError        accept
On-NoSignature          accept
On-Security             discard
PidFile                 /var/run/dkim-milter/dkim-milter.pid
QueryCache              yes
RemoveOldSignatures     yes
Selector                default
SignatureAlgorithm      rsa-sha1
Socket                  inet:20209@localhost
Syslog                  yes
SyslogSuccess           yes
TemporaryDirectory      /var/tmp
UMask                   022
UserID                  dkim-milt:dkim-milt
X-Header                yes

/etc/mail/dkim/keylistファイルを確認します。

vi /etc/mail/dkim/keylist

次のようになっている必要があります。

*@mydomain1.com:mydomain1.com:/etc/mail/dkim/keys/mydomain1.com/default

注意: 他のドメインがある場合は、このファイルに追加する必要があります。1行につき1つのドメインです。

Postfixの設定

milterを使用できるようにするために、postfixのmain.cfファイルに次のオプションを追加する必要があります。

vi /etc/postfix/main.cf
smtpd_milters = inet:localhost:20209
non_smtpd_milters = inet:localhost:20209
milter_protocol = 2
milter_default_action = accept

他のmilterがすでに設定されている場合は、既存のmilterにdkim-milterオプションを追加します。
dkim-milterを起動し、postfixを再起動します。

service dkim-milter start  
service postfix restart

テスト

[email protected]または[email protected]にメールを送信すると、設定が正しく機能しているかどうかの応答が返されます。

更新

更新されたrpmは常にhttp://www.topdog-software.com/oss/dkim-milterで提供されています。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。