BIND : SPF レコードの設定2024/07/18 |
メールの送信元ドメインの正当性を証明するための SPF (Sender Policy Framework) レコードの設定をします。
例として、[srv.world] ドメインが [172.16.0.80/29] のネットワーク範囲を使用している前提で設定します。 |
|
[1] | 対象のドメイン名を設定しているゾーンファイルに TXT レコードを追加し、そこへ SPF を設定します。 |
root@dlp:~ #
vi /usr/local/etc/namedb/primary/srv.world.wan $TTL 86400 @ IN SOA dlp.srv.world. root.srv.world. ( ;; ゾーンファイルを更新する場合はシリアル番号も更新 2024071801 ;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.83root@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 |