BIND check-spf の動作を検証してみた [BIND]
BIND 9.9.3、9.8.5、BIND 9.6-ESV-R9 から、check-spf ステートメントが追加されたとの事で動作検証をしてみました。
検証をしたBINDのバージョン : 9.9.3-P2
●SenderID
対応してない(と思われる)
●spf
書式のチェックをしているのはTXTレコードのみ。
検証したレコード
★★ SPFレコード ★★
◆正しく記載したSenderID
home.nerima.jp. IN SPF "spf2.0/pra,mfrom +ip4:10.0.0.10 +ip4:10.0.0.11 ~all"
◆正しく記載したspf
home.nerima.jp. IN SPF "v=spf1 +ip4:10.0.0.10 +ip4:10.0.0.11 ~all"
◆誤記のSenderID
home.nerima.jp. IN SPF "spf5.9/pra,mfrom +ip4:10.0.0.10 +ip4:10.0.0.11 ~all"
◆誤記のspf
home.nerima.jp. IN SPF "v=spf1.0 +ip4:10.0.0.10 +ip4:10.0.0.11 ~all"
★★ TXTレコード ★★
◆正しく記載したSenderID
home.nerima.jp. IN TXT "spf2.0/pra,mfrom +ip4:10.0.0.10 +ip4:10.0.0.11 ~all"
◆正しく記載したspf
home.nerima.jp. IN TXT "v=spf1 +ip4:10.0.0.10 +ip4:10.0.0.11 ~all"
◆誤記のSenderID
home.nerima.jp. IN TXT "spf5.9/pra,mfrom +ip9:10.0.0.10 +ip4:10.0.0.11 ~all"
◆誤記のspf
home.nerima.jp. IN TXT "v=spf1.0 +ip9:10.0.0.10 +ip4:10.0.0.11 ~all"
下図は検証結果。
※1 SPFレコードを検知したが、対応するTXTレコードが無い。
named[28330]: [ID 873579 daemon.warning] zone home.nerima.jp/IN: 'home.nerima.jp' found SPF/SPF record but no SPF/TXT record found, add matching type TXT record
※2 TXTレコードを検知したが、対応するSPFレコードが無い。
named[28486]: [ID 873579 daemon.warning] zone home.nerima.jp/IN: 'home.nerima.jp.' found SPF/TXT record but no SPF/SPF record found, add matching type SPF record
どちらか一方を記載した場合
■ SPFレコードのみ記載している場合。
※いずれも、対応するTXTレコードが無い!とのWanningが表示される。(SPFレコードに反応している)
■ TXTレコードのみ記載している場合。
※ TXTレコードの書式が正しい時はWarnningが出力。
と言う事は、TXTレコードの書式が正しいかを確認出来ている。
書式が正しくないTXTレコードはWarnningが出ない。
今までの汎用的な使いかたとして判断していると思われる。
正しいペアを記載した場合
■ spf
正しいSPFレコードとTXTレコードを記載している場合。
ログは出ない。正しく記載出来ているから。
■ SenderID
正しいSPFレコードとTXTレコードを記載している場合。
Warnningが出る。(SenderID対応していないのでは?と疑い始める)
正しい記載と誤記のペアを記載した場合
■ spf :正しいSPFレコードと誤記のTXTレコードを記載している場合。
※1のwarnningが出る
■ spf :誤記のSPFレコードと正しいTXTレコードを記載している場合。
※3 ログが出ない(チェックが出来てないのでは?と疑い始める)
纏め
○ SPFレコードがある場合は、TXTレコードも無いとダメ!と怒られる
○ TXTレコードがspf ドだったら、対応するレコードのSPFレコードが無いとダメ!と怒られる。
が、SPFレコードの書式が正しいかどうかはチェックしていないので、
SPFレコードが誤記でも怒られない!
○ SenderIDは対応していない。
○ 正しいspf のSPFレコードとTXTのペアと、正しいSenderIDのSPFレコードとTXTレコードの
ペアが存在した場合Warnnigは出ない。
正しいspfレコードのペアが有れば1つあれば、他の記載が間違っていても
良いと言う事になる。
試しにspfのSPFレコードとTXTレコードのペアを2つ記載して試してみたが、warnningは出なかった。
おまけ
check-spf ステートメントの処理をフロー図にしてみました。
(sourceを読んだわけではありません。検証した内容を整理したものですので必ずしも正確ではありません)
検証をしたBINDのバージョン : 9.9.3-P2
●SenderID
対応してない(と思われる)
●spf
書式のチェックをしているのはTXTレコードのみ。
検証したレコード
★★ SPFレコード ★★
◆正しく記載したSenderID
home.nerima.jp. IN SPF "spf2.0/pra,mfrom +ip4:10.0.0.10 +ip4:10.0.0.11 ~all"
◆正しく記載したspf
home.nerima.jp. IN SPF "v=spf1 +ip4:10.0.0.10 +ip4:10.0.0.11 ~all"
◆誤記のSenderID
home.nerima.jp. IN SPF "spf5.9/pra,mfrom +ip4:10.0.0.10 +ip4:10.0.0.11 ~all"
◆誤記のspf
home.nerima.jp. IN SPF "v=spf1.0 +ip4:10.0.0.10 +ip4:10.0.0.11 ~all"
★★ TXTレコード ★★
◆正しく記載したSenderID
home.nerima.jp. IN TXT "spf2.0/pra,mfrom +ip4:10.0.0.10 +ip4:10.0.0.11 ~all"
◆正しく記載したspf
home.nerima.jp. IN TXT "v=spf1 +ip4:10.0.0.10 +ip4:10.0.0.11 ~all"
◆誤記のSenderID
home.nerima.jp. IN TXT "spf5.9/pra,mfrom +ip9:10.0.0.10 +ip4:10.0.0.11 ~all"
◆誤記のspf
home.nerima.jp. IN TXT "v=spf1.0 +ip9:10.0.0.10 +ip4:10.0.0.11 ~all"
下図は検証結果。
※1 SPFレコードを検知したが、対応するTXTレコードが無い。
named[28330]: [ID 873579 daemon.warning] zone home.nerima.jp/IN: 'home.nerima.jp' found SPF/SPF record but no SPF/TXT record found, add matching type TXT record
※2 TXTレコードを検知したが、対応するSPFレコードが無い。
named[28486]: [ID 873579 daemon.warning] zone home.nerima.jp/IN: 'home.nerima.jp.' found SPF/TXT record but no SPF/SPF record found, add matching type SPF record
どちらか一方を記載した場合
■ SPFレコードのみ記載している場合。
※いずれも、対応するTXTレコードが無い!とのWanningが表示される。(SPFレコードに反応している)
■ TXTレコードのみ記載している場合。
※ TXTレコードの書式が正しい時はWarnningが出力。
と言う事は、TXTレコードの書式が正しいかを確認出来ている。
書式が正しくないTXTレコードはWarnningが出ない。
今までの汎用的な使いかたとして判断していると思われる。
正しいペアを記載した場合
■ spf
正しいSPFレコードとTXTレコードを記載している場合。
ログは出ない。正しく記載出来ているから。
■ SenderID
正しいSPFレコードとTXTレコードを記載している場合。
Warnningが出る。(SenderID対応していないのでは?と疑い始める)
正しい記載と誤記のペアを記載した場合
■ spf :正しいSPFレコードと誤記のTXTレコードを記載している場合。
※1のwarnningが出る
■ spf :誤記のSPFレコードと正しいTXTレコードを記載している場合。
※3 ログが出ない(チェックが出来てないのでは?と疑い始める)
纏め
○ SPFレコードがある場合は、TXTレコードも無いとダメ!と怒られる
○ TXTレコードがspf ドだったら、対応するレコードのSPFレコードが無いとダメ!と怒られる。
が、SPFレコードの書式が正しいかどうかはチェックしていないので、
SPFレコードが誤記でも怒られない!
○ SenderIDは対応していない。
○ 正しいspf のSPFレコードとTXTのペアと、正しいSenderIDのSPFレコードとTXTレコードの
ペアが存在した場合Warnnigは出ない。
正しいspfレコードのペアが有れば1つあれば、他の記載が間違っていても
良いと言う事になる。
試しにspfのSPFレコードとTXTレコードのペアを2つ記載して試してみたが、warnningは出なかった。
おまけ
check-spf ステートメントの処理をフロー図にしてみました。
(sourceを読んだわけではありません。検証した内容を整理したものですので必ずしも正確ではありません)
2013-08-09 12:03
nice!(0)
コメント(0)
トラックバック(0)
コメント 0