BIND : SPF レコードの設定2024/07/17 |
|
メールの送信元ドメインの正当性を証明するための SPF (Sender Policy Framework) レコードの設定をします。
例として、[srv.world] ドメインが [172.16.0.80/29] のネットワーク範囲を使用している前提で設定します。 |
|
| [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 レコードの記述のチェックができるので、確認しておくとよいでしょう。 SPF レコードの設定に問題なければ、設定したドメインのメールサーバーから Gmail 等にメール送信すると、ヘッダーに [SPF: PASS] と表示されます。 |
| Sponsored Link |
|
|