Ubuntu 22.04
Sponsored Link

BIND : SPF レコードの設定2024/07/10

 

メールの送信元ドメインの正当性を証明するための SPF (Sender Policy Framework) レコードの設定をします。

例として、[srv.world] ドメインが [172.16.0.80/29] のネットワーク範囲を使用している前提で設定します。
ドメイン名は自身が使用する名前に置き換え、[172.16.0.80/29] の部分は自身が使用するグローバル IP アドレスに置き換えてください。

[1] 対象のドメイン名を設定しているゾーンファイルに TXT レコードを追加し、そこへ SPF を設定します。
root@dlp:~#
vi /etc/bind/srv.world.wan
$TTL 86400
@   IN  SOA     dlp.srv.world. root.srv.world. (
        ;; ゾーンファイルを更新する場合はシリアル番号も更新
        2024071001 ;Serial
        3600       ;Refresh
        1800       ;Retry
        604800     ;Expire
        86400      ;Minimum TTL
)
        IN  NS     dlp.srv.world.
        IN  A      172.16.0.82
        IN  MX 10  dlp.srv.world.
        ;; TXT レコードに SPF の設定を追加
        ;; メールサーバーとして使用するホストを指定する
        IN  TXT    "v=spf1 +ip4:172.16.0.82 -all"

dlp     IN  A      172.16.0.82
www     IN  A      172.16.0.83

root@dlp:~#
rndc reload

[2] SPF の基本的な記述方法です。
;; TXT レコード自体は複数行を設定可能だが
;; SPF の設定においては 1 つのドメイン名に対して設定可能な TXT レコードは 1 つである必要がある

;; [v=spf1] ⇒ SPF のバージョン

;; [+ip4] ⇒ IPv4 アドレスを指定
;; [+ip6] ⇒ IPv6 アドレスを指定

;; [+] ⇒ ドメインのメールサーバーとして証明する
;; * [+] は省略可能
;; * [+] や [-] などがない場合は [+] が省略されているとみなされる

;; [-] ⇒ ドメインのメールサーバーとして証明しない
;; [~] ⇒ 偽装されている可能性があるとみなされるが配信はされる

;; メールサーバーが複数ある場合はスペース区切りで指定
        IN  TXT    "v=spf1 +ip4:172.16.0.82 +ip4:172.16.0.83 -all"

;; メールサーバーのホスト名で記述する場合
;; * ホスト名は FQDN (Fully Qualified Domain Name) で指定する必要がある
        IN  TXT    "v=spf1 +a:dlp.srv.world +a:www.srv.world -all"

;; MX レコードに指定したホストのみを設定する場合
        IN  TXT    "v=spf1 +mx -all"

;; メール送信の可能性があるホストが存在するネットワークを CIDR 方式で記述する場合
;; * 広い範囲で指定すると SPF レコードの意味がなくなるので注意
        IN  TXT    "v=spf1 +ip4:172.16.0.80/29 -all"

;; 例えば メールアドレスとして [serverworld@dlp.srv.world] のように
;; サブドメインを使用している場合は サブドメインに対して設定
dlp     IN  TXT    "v=spf1 +ip4:172.16.0.82 -all"

;; 例えば Web サーバー用途のみでメール送信をしないドメインの場合は
;; 以下の設定でその旨を宣言できる
        IN  TXT    "v=spf1 -all"

;; 例えば 他のドメイン [server.education] で設定している SPF レコードと同じ設定を
;; include して使用する場合の設定
        IN  TXT    "v=spf1 +include:server.education -all"
[3]

下記サイトでは、設定した SPF レコードの記述のチェックができるので、確認しておくとよいでしょう。
⇒ https://mxtoolbox.com/spf.aspx

SPF レコードの設定に問題なければ、設定したドメインのメールサーバーから Gmail 等にメール送信すると、ヘッダーに [SPF: PASS] と表示されます。

関連コンテンツ