1. トップ
  2. 【postfix】規制開始されるのに気づくのが遅くて焦ってDKIM/DMARC設定した

気づくの遅れてちょっと焦っちゃったけどまあどうにかなった。

概要

FreeBSD古いバージョンのやつが動いてる。

opendkimのパッケージは未インストールで、EOL切れてるからpkg installもできない。

メール送信はrelay_hostで別のサーバのjailから。

ってことで新たにpostfixサーバを立てて、そこにDKIMまわりの設定を入れてそこから送ることに。

opendkimインストール

$ pkg install opendkim
$ vi /etc/rc.conf
milteropendkim_enable="YES"

confファイル

$ cd  /usr/local/etc/mail
$ mv opendkim.conf _opendkim.conf
$ vi opendkim.conf

# 認証するドメイン名
Domain www.example.com, www2.example.com

# セレクタ名
# opendkim-genkey -d www.example.com -s default などで作る
Selector default

# 署名に使う秘密鍵の場所
#KeyFile  /usr/local/etc/mail/opendkim/keys/__DOMAIN__/default.private

# 署名に使う秘密鍵の場所(複数ある場合)
KeyTable  /usr/local/etc/mail/opendkim/KeyTable

# 署名を行うドメイン+セレクタのペアを指定するファイル(複数ある場合)
SigningTable refile:/usr/local/etc/mail/opendkim/SigningTable

Mode		sv # s = send enable , v = recive enable
SoftwareHeader	no # not write version in mail header
LogWhy		Yes # logging enable
Syslog		Yes # use /var/log/maillog
Socket		local:/var/run/milteropendkim/socket
SubDomains	yes
UMask		000

# リレーしている時の設定
ExternalIgnoreList      /usr/local/etc/mail/opendkim/TrustedHosts
InternalHosts           /usr/local/etc/mail/opendkim/TrustedHosts

KeyTable

$ mkdir /usr/local/etc/mail/opendkim/
$ vi /usr/local/etc/mail/opendkim/KeyTable


default._domainkey.www.example.com www.example.com:default:/usr/local/etc/mail/opendkim/keys/www.example.com/default.private
default._domainkey.www2.example.com www2.example.com:default:/usr/local/etc/mail/opendkim/keys/www2.example.com/default.private

SigningTable

$ vi /usr/local/etc/mail/opendkim/SigningTable


*@www.example.com default._domainkey.www.example.com
*@www2.example.com default._domainkey.www2.example.com

TrustedHosts

# vi /usr/local/etc/mail/opendkim/TrustedHosts


127.0.0.1
::1
xxx.xxx.xxx.xxx/25
yyy.yyy.yyy.yyy/25

DKIMの秘密鍵作成

$ mkdir -p /usr/local/etc/mail/opendkim/keys/__DOMAIN__/
$ chown -R mailnull:mailnull /usr/local/etc/mail/opendkim/keys/__DOMAIN__/
$ cd /usr/local/etc/mail/opendkim/keys/__DOMAIN__
$ opendkim-genkey -d __DOMAIN__ -s default
$ chown mailnull:mailnull /usr/local/etc/mail/opendkim/keys/__DOMAIN/*
$ chmod 440 /usr/local/etc/mail/opendkim/keys/__DOMAIN/*
$ ls -l
-r--r-----  1 mailnull mailnull 916 Jan 15 17:24 default.private
-r--r-----  1 mailnull mailnull 320 Jan 15 17:24 default.txt

opendkimの起動

$ chown mailnull:mailnull /var/run/milteropendkim
$ service milter-opendkim start

DNSにレコード追加

$ cat /usr/local/etc/mail/opendkim/keys/__DOMAIN__/default.txt

default._domainkey	IN	TXT	( "v=DKIM1; k=rsa; "
	  "p=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" )  ; ----- DKIM key default for __DOMAIN__



### レコード ###


default._domainkey.__DOMAIN__.	IN	TXT	"v=DKIM1; k=rsa; p=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
_adsp._domainkey.__DOMAIN__.		IN	TXT	"dkim=unknown"

postfixの設定

$ vi /usr/local/etc/main.cf

smtpd_milters = unix:/var/run/milteropendkim/socket
non_smtpd_milters = $smtpd_milters
milter_default_action = accept


$ service postfix restart