PostfixをSSL SPF DKIMに対応させる ~ バーチャルドメイン編

スポンサーリンク

バーチャルドメイン下での対応

1つのIPアドレスで複数のドメインを使う技術がバーチャルドメイン機能で、これは
WEBサーバであればバーチャルホスト、Postfixならバーチャルドメインと呼ばれているようです。

このバーチャルドメインを使ってPostfixをSSL SPF DKIMに対応させることはもちろんできます。
でも情報が少ないようなので私がやった手順の概要を書いていきたいと思います。

SSLを設定

SSL対応についてですが、メールサーバーとWEBサーバーが同一ホスト名の場合はそのまま
letsencryptのWEBサーバーで取得した証明書が流用できます。
違う場合は改めてletsencryptの証明書を取得しましょう。その手順は当サイトのここの記事とかを参考にしてください。
ここさえクリアしてしまえばPostfixやDovecotのSSL設定は解説サイトがたくさんありますのでそちらを参考にしてください。代表ドメインに対する設定だけでいけます。

SPFレコードをDNSに登録

SPFの設定はさくらのVPSの場合、こちらにアクセスして取得ドメインの数だけDNSに関して以下の設定をします。
会員メニュー > ドメイン > ネームサーバメニュー から
ゾーン編集をクリック。エントリの追加と変更画面で

エントリ名 @
種別 テキスト(TXT)
値 v=spf1 +mx ~all

以上を入力し、新規登録。データ送信をクリックして完了。
確認はこことかここでできます。

公開鍵とADSPをDNSに登録

DKIMについてですが、複数バーチャルドメインの場合、ドメインごとDNSに個別公開鍵レコードとADSPレコードを追加します。公開鍵はOpenDKIMで生成される鍵を使うことができます。
例えば以下のようになります。

opendkim-genkey -D /etc/opendkim/keys/hoge1.com -d hoge1.com -s 20180101-1
opendkim-genkey -D /etc/opendkim/keys/hoge2.com -d hoge2.com -s 20180101-2
opendkim-genkey -D /etc/opendkim/keys/hoge3.com -d hoge3.com -s 20180101-3

さくらのVPSの場合DNSへの登録は次のようになります。

エントリ名 20180101-1._domainkey
種別 テキスト(TXT)
値 v=DKIM1; k=rsa; p=MIGfMA0・・・s/C5akBAQIDAQAB

のように設定していきます。ADSPレコードのDNSへの追加は以下のようになります。

エントリ名 _adsp._domainkey
種別 テキスト(TXT)
値 dkim=unknown

となります。DNSへの個別ドメインごとの登録が済めば後は難しくありません。
DKIMのDNS登録確認はこの辺りでできます。

OpenDKIMへの対応

複数ドメインの場合必要なのは以下の2点です。

/etc/opendkim/KeyTable に

20180101-1._domainkey.hoge1.com hoge1.com:20180101-1:/etc/opendkim/keys/hoge1.com/20180101-1.private

20180101-2._domainkey.hoge2.com hoge2.com:20180101-2:/etc/opendkim/keys/hoge2.com/20180101-2.private

20180101-3._domainkey.hoge3.com hoge3.com:20180101-3:/etc/opendkim/keys/hoge3.com/20180101-3.private

/etc/opendkim/SigningTable

*@hoge1.com 20180101-1._domainkey.hoge1.com
*@hoge2.com 20180101-2._domainkey.hoge2.com
*@hoge3.com 20180101-3._domainkey.hoge3.com

を書けばDKIMのバーチャルドメイン対応はほぼ終わりです。

まとめ

非常に端折った説明で申し訳ありません。私の場合Postfixでポート8891への通信がどうしてもできなかったので、素直にTCPを開けたらメールが送れるようになりました。Postfix等の設定やDKIMに関してあぱーブログさんが非常に詳しいので参考にさせて頂きました。ありがとうございました。
Gmail等の自アカウントにメールを送って確認してみてください。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク