2020年10月20日に作業📝として書きおったテキストファイルから起こし直しちょるが、時間が出来れば加筆訂正しおるけん、ドラフト的な扱いで公開します
11.4-RELEASE を元に記述しているので、他の RELEASE では読み替える必要があるやもしれなコトを先に断っておく。
また、ports skeleton は執筆時点での最新であり、公開されているバージョンと相違しているかもしれない事も、併せて断っておく。
DNS のリソースレコード周りの記述は最低限の記述であり、各々の環境に併せて書き換える必要がある。
opendkim を導入
cd /usr/ports/mail/opendkim
make install
sendmail の cf を編集
cd /etc/mail
make
ここで、生成される「`hostname`.mc」に以下の行を追記
INPUT_MAIL_FILTER(`dkim-filter', `S=local:/var/run/milteropendkim/opendkim.pipe, F=T, T=R:2m')
echo 'INPUT_MAIL_FILTER(`dkim-filter\', \`S=local:/var/run/milteropendkim/opendkim.pipe, F=T, T=R:2m\'\) >> `hostname`.mc
書き換えたら cf ファイルの再生成と導入
これ実行後に daemon に設定ファイルを再読み込みさせないと駄目な筈w
make
make install
opendkim の設定
セレクタは生成年月日を用いて編集
cd /usr/local/etc/mail
sed \
-e 's|example.com|'`hostname`'|' \
-e 's|# Quarantine.*|Quarantine Yes|' \
-e 's|^Selector.*|Selector '`env TZ=JST-9 env LANG=C date "+%Y%m%d"`'|' \
-e 's|^Socket.*|Socket local:/var/run/milteropendkim/opendkim.pipe|' \
-e 's|^KeyFile.*|KeyFile /var/db/dkim/'`env TZ=JST-9 env LANG=C date "+%Y%m%d"`'.private|' \
opendkim.conf.sample > opendkim.conf
秘密鍵と公開鍵の生成
mkdir -p /var/db/dkim
cd /var/db/dkim
opendkim-genkey --bits=2048 --domain=`hostname` --selector=`env TZ=JST-9 env LANG=C date "+%Y%m%d"`
daemon の起動設定
sysrc milteropendkim_enable=1
service milter-opendkim start
sendmail の再起動
service sendmail restart
生成した公開鍵を適宜 dns に登録
cat /var/db/dkim/`env TZ=JST-9 env LANG=C date "+%Y%m%d"`.txt
20201214._domainkey IN TXT ( "v=DKIM1; k=rsa; "
"p=*****" ) ; ----- DKIM key 20201214 for `HOSTNAME`
$ORIGIN dmarc.test.example.jp.
$TTL 300
@ TXT "v=spf1 include:example.jp -all"
$ORIGIN _domainkey
@ TXT "o=~"
_adsp TXT "dkim=all"
20201214 TXT "v=DKIM1; k=rsa; p=*****;"