CentOS5, CentOS6でpostfix使ってるところにDKIMを入れたのでメモ。
EPELを有効にしてyum -y install opendkimで入る。あっさり。
■PostfixをDKIM認証に対応(CentOS) – Angel21 HP Blog
人様のblogを頼りに一通り設定する。
# mkdir /etc/opendkim/keys/example.com
# opendkim-genkey -D /etc/opendkim/keys/example.com -d example.com -s 20170208
# chown opendkim:opendkim /etc/opendkim/keys/example.com/*
namedへTXTレコード追加
20170208._domainkey IN TXT "v=DKIM1; k=rsa; p=Mf(略)B"
_adsp._domainkey IN TXT "dkim=unknown"
_dmarc IN TXT "v=DMARC1;p=none;rua=mailto:dmarc@example.com;ruf=mailto:dmarc@example.com;rf=afrf;pct=100"
/etc/opendkim.conf
Mode sv
#KeyFile
KeyTable
SigningTable
ExternalIgnoreList
InternalHosts
秘密鍵指定
/etc/opendkim/KeyTable
20170208._domainkey.example.com example.com:default:/etc/opendkim/keys/example.com/20170208.private
ドメイン指定
/etc/opendkim/SigningTable
*@example.com 20170208._domainkey.example.com
追加でポイント
●namedで _ アンダースコアが使えない
named-checkzoneしてみると bad owner と言われてアンダースコアから始まる名前が使えない。
_dmarcを書くときに困るので、対象ゾーンにcheck-names ignoe;を追記して通るようにする。
zone "example.com" IN {
type master;
file "example.com.hosts";
check-names ignore;
};
●opendkimの鍵ファイルがセキュアじゃないと言われる
実際に送信してみるとエラーで送れてない。
maillogを見ると
key data is not secure: opendkim is in group 0 which has multiple users (e.g., "sync")
とエラーが出てる。にしてもgroup 0ってなぁ…
ググっても日本語資料皆無なので英語フォーラム見たら、軒並み回答なし。
しかしヒントっぽいのがあったので
■opendkim.conf
/etc/opendkim.confの末尾に RequireSafeKeys false を追加。これで動いた。