SPFの設定例
SPFは、送信者のメールアドレスがDNSで指定されたサーバーから送信されいるかをチェックすることでスパムか否かの判断を行います。
そのため、SPFは、DNSのTXTレコードを指定するだけで簡単に利用することができます。
以下に簡単な例をあげて、SPFの設定方法を解説してみます。
MXレコードを指定する例
一般的には、mxレコードでメールサーバーのアドレスを記載するので、以下のようにSPFを指定する場合が多いでしょう。
example.com. A 192.0.2.5
...
TXT "v=spf1 mx -all"
...
|
これは、
mx レコードで指定されたIPアドレス を当該ドメインの送信メールサーバとして認証し、
-all : それ以外は全て認証しない
とDNSレコードを指定したことになります。
example.com. A 192.0.2.5
...
mxsvr A 192.0.2.123
MX mxsvr.example.com. 10
...
|
などとあれば、mxsvr.example.com(192.0.2.123) は、メールサーバーとして認証されることになります。
つまり、上記の例では、example.com ドメインを持つメールアドレスからの送信は、
mxsvr.example.com(192.0.2.123) からのみが正しいメールであって、それ以外から送信されたメールはスパムですよ・・・ということになります。
また a レコードで指定したサーバーなども指定することができます。
example.com. A 192.0.2.5
...
TXT "v=spf1 a -all"
...
|
この場合、example.com(192.0.2.5)は、メールサーバーとして認証されることになります。
いずれも
mx,
a の前には、
+mx,
+a と指定することもできますが、その
+を省略することもできます。
example.com. A 192.0.2.5
...
TXT "v=spf1 +mx +a -all"
...
|
IPアドレスを直に指定する例
先のように他のレコードに指定されたIPアドレスを間接的に利用するほかに、直接IPアドレスを指定することもできます。
example.com. A 192.0.2.5
...
TXT "v=spf1 +ip4:192.0.2.123 -all"
...
|
これは、
+ip4:192.0.2.123 : IPv4 アドレス : 192.0.2.123 を当該ドメインの送信メールサーバとして認証し、
-all : それ以外は全て認証しない
という意味になります。
もう少し否定を柔らかくするには、
~all : それ以外はほぼ全て認証しない
のようにチルダを指定すると良いです。
また、+は省略可能です。
example.com. A 192.0.2.5
...
TXT "v=spf1 +v=spf1 ip4:192.0.2.1/24 -all"
...
|
192.0.2.1 ~ 192.0.2.255 の範囲のIPアドレス を当該ドメインの送信メールサーバとして認証し、
-all : それ以外は全て認証しない
とネットワークを指定することもできます。
またIPv6の指定は、以下のように行うことができます。
example.com. A 192.0.2.5
...
TXT "v=spf1 +v=spf1 ip6:1080::8:800:200C:417A/96 -all"
...
|
これは、
1080::8:800:0000:0000 ~ 1080::8:800:FFFF:FFFF の範囲のIPアドレス を当該ドメインの送信メールサーバとして認証し、
-all : それ以外は全て認証しない
とネットワークを指定したことになります。
SPFの基本
SPFの基本事項について、先の例を含めて、もう少し詳しく解説してみます。
- v=spf1 : 正確には、spf 情報のバージョンを宣言しています。
つまり、ここでは、spfのバージョン1を使います・・・ということです。バージョン1を指定することで、Sender ID との互換性を保持するメリットがあるとされ、一般的にspf1とするのが普通です。
- mx : 機構 と呼ばれるもので、ここで認証対象の送信元ホストのIPアドレスと照合する条件を記述します。
ここでは、mxを指定していますから、
送信元ホストのIPアドレスが、ドメイン名に対応するMXレコードに指定されているホストのAレコードのいずれかであれば認証OKですよ・・ということです。
機構 には、他にも以下のようなものが指定できます。
SPFの機構の種類
all |
なし
すべての送信元ホストにマッチする。SPFレコードの末尾に置かれ、デフォルトの動作を定義するために利用される |
include |
ドメイン名
引数に与えられたドメインのSPFレコードを使って認証処理を行い、その結果がPassかTempError、またはPermErrorの場合のみ値が採用される。includeに指定された先のドメインのSPFレコードによってFailの判定が与えられても、それが認証結果としては採用されない |
a |
ドメイン名
送信元ホストのIPアドレスが、ドメイン名に与えられたFQDNのAレコードのいずれかであれば条件マッチする |
mx |
ドメイン名
送信元ホストのIPアドレスが、ドメイン名に対応するMXレコードに指定されているホストのAレコードのいずれかであれば条件マッチする。 MXは複数与えられる場合があるが、10個までのMXホストに対して検査を行う |
ptr |
ドメイン名
送信元ホストのIPアドレスをリバースルックアップし、得られたホスト名でさらに正引きを実施し、IPアドレスを得る。そのIPアドレスと送信元ホストのIPアドレスが含まれる場合、そのホスト名が引数に与えられたドメイン名と一致するかそのサブドメインである場合、認証成功となる。リバースルックアップに失敗した場合はFailとみなす。負荷の多い処理となるため、あまり利用は推奨されない |
ip4 |
IPネットワークアドレス(CIDR表記可能)またはIPアドレス
送信元ホストのIPアドレスが、引数に指定されるIPネットワークに含まれているかIPアドレスにマッチする場合、認証成功となる |
ip6 |
IPv6ネットワークアドレスまたはIPv6アドレス
送信元ホストのIPv6アドレスが、引数に指定されるIPv6ネットワークに含まれているかIPv6アドレスにマッチする場合、認証成功となる |
exists |
ドメイン名
引数であるドメイン名に指定された表記でAレコードルックアップを実施し、該当のAレコードが存在すればマッチする。SPFのマクロ機能とあわせての利用を想定している |
出典 : http://salt.iajapan.org/wpmu/anti_spam/admin/tech/explanation/spf/ SPF技術解説(財団法人インターネット協会/センドメール執筆)の「6. SPF認証結果」
- ~all : 限定子 と 機構 の組み合わせになります。
限定子は、それに続く機構にマッチした場合の認証結果を指定するものです。
ここでは、
~ : 認証情報を公開しているが、正当なメールであっても認証失敗する可能性もある
all : すべての送信元ホストにマッチする
というそれぞれの意味をあわせた意味になります。
つまり、認証情報は設定されていて、送信元ホストに一致する(ここではmxレコードで指定されたホストになる)場合は、認証成功(Pass)となるが、
mxレコード以外のホストからも送信されることがあるので、認証失敗(SoftFail)とこともあるよ・・・という意味になります。 ちょっとアバウト・・・ですが、そういう意味です。
限定子 には、他にも以下のようなものが指定できます。
SPFの限定子の種類
+ |
Pass
当該ドメインの送信メールサーバとして認証する |
- |
Fail
当該ドメインの送信メールサーバとして認証しない |
~ |
SoftFail
認証情報を公開しているが、正当なメールであっても認証失敗する可能性もある |
? |
Neutral
認証情報を公開しない |
出典 : http://salt.iajapan.org/wpmu/anti_spam/admin/tech/explanation/spf/ SPF技術解説(財団法人インターネット協会/センドメール執筆)の「6. SPF認証結果」
- 上記以外に修飾子 というものも設定することができます。
修飾子 には、以下のようなものが指定できます。
SPFの修飾子の種類
redirect |
redirect=ドメイン名
引数であるドメイン名に指定されたドメインのSPFレコードにより認証処理を実行する。複数のドメインが、1つのSPF定義を共有するような場合での使用を想定している。この修飾子を利用する場合、SPFレコードの末尾に配置することが推奨されている |
exp |
exp=ドメイン名
認証が失敗した場合、引数であるドメイン名に指定されたドメインのTXT RRに設定されている文字列を、認証失敗した理由や説明等として利用する。SMTPセッションでのエラーメッセージなどでの利用を想定している |
出典 : http://salt.iajapan.org/wpmu/anti_spam/admin/tech/explanation/spf/ SPF技術解説(財団法人インターネット協会/センドメール執筆)の「6. SPF認証結果」
(おまけ)さくらインターネットのGoogleメール遅延について
最後に、
「さくらのレンタルサーバ」における「Gmail」および「Google Apps」宛てのメール遅延に関するお知らせ
をそのまま掲載しておきます。ご参考までに。
「さくらのレンタルサーバ」における「Gmail」および「Google Apps」宛てのメール遅延に関するお知らせ(追記)
2014年1月16日
お客様各位
さくらインターネット株式会社
平素よりさくらインターネットをご愛顧いただき、誠にありがとうございます。
現在、弊社が提供しております「さくらのレンタルサーバ」サービスにおきまして、
Google社のWebメールサービス「Gmail」および「Google Apps」宛ての送信に遅延が発生
している事象を確認しております。
原因につきましては現在調査中です。判明次第本ページにてお知らせいたしますので、
今しばらくお待ちくださいますようお願い申し上げます。
お客様へは多大なご迷惑をお掛けしておりますこと、お詫び申し上げます。
●2014年1月24日(金)追記
現在、「Gmail」および「Google Apps」宛ての遅延については収束していることを確
認しております。
調査の結果、主にIPv6対応のサーバにて発生している事象であることが確認できました。
また、Google社のガイドラインにおいて、IPv6に対して電子メールの送信ドメインを
認証する仕組みである「SPF(Sender Policy Framework)チェック」などの厳しい対策
を実施している旨が明記されていることを確認いたしました。
これに伴い、送信元の信頼性を強化するため、ドメインSPF設定の機能追加を1月27日(月)
に予定しております。
詳細については、改めてお知らせいたします。
さくらインターネットでは、今後もよりよいサービスの提供が行えるよう、精一杯努
めて参ります。引き続き変わらぬご愛顧を賜りますようお願い申し上げます。
口コミ・評判
口コミ・評判を投稿 :