スポンサーリンク

このドキュメントの内容は、以下の通りです。

はじめに

いままでたくさんの郵送されてくる詐欺的な手紙や電子メールが送られてきました。物理空間においても、サイバー空間においても、迷惑な手紙(いわゆるスパム)が絶えないと思います。

日本語のスパムもあれば、英語のスパムもあります。日本語であっても、日本人ならこのような単語は使わないよね、といった手紙や電子メールを受け取ってきました。

電子メールサービスを提供する企業は、電子メールにおけるスパムメールと日々戦ってきました。パソコンで動作するメーラーもスパム判定機能を持っているものがあります。Linux や FreeBSD を利用して電子メールを見ていた方は、スパムアサシンと呼ばれるソフトウェアを利用して、スパムを処理していた人もいるのではないでしょうか。

人類は、スパムとの闘いの中で、いろいろな武器を発明してきました。その中の1つが、DNSを利用したSPFと呼ばれるものです。

ここでは、Linux の dig コマンドを利用した、SPFの確認方法について解説いたします。

SPFとは

SPF(エスピーエフ)とは、 Sender Policy Frameworkの略です。読み方は、センダーポリシーフレームワークです。
SPFは、電子メールの送信元ドメインが詐称(さしょう)されていないかを検査するための仕組みです。

SPFのより詳しい説明については、[2009-11-09-1] をご参照ください。

digコマンドとは

digコマンドとは、Linux のコマンドの1つです。 dig は、DNSに対して、問い合わせを行うコマンドです。 DNS というのは、 Domain Name System(ドメインネームシステム) の略です。DNS は、インターネットで広く利用されています。

インターネットは、TCP/IPと呼ばれるプロトコルを利用して通信しています。 IP とは、インターネットプロトコルの略です。インターネットプロトコルは、IPアドレスを利用して通信を行っています。

IPアドレスを人が覚えるのは、困難であるため、IPアドレスに名前をつけて、通信をできるようになっています。その名前とIPアドレスを紐づけるための仕組みが、DNSです。
DNS には、名前とIPアドレスを調べる以外にも、その他の情報があり、その中の1つにSPFの情報があります。

dig コマンドは、FreeBSD でデフォルトで提供されるコマンドではありませんが、 bind-tools のパッケージで提供されています。 bind というのは、ネームサーバのソフトウェアのことです。

digコマンドでのSPFの調べ方


digコマンドでSPF(Sender Policy Framework)を調べるには、 -t オプションを使います。
% dig -t TXT yahoo.co.jp

; <<>> DiG 9.4.2-P2 <<>> -t TXT yahoo.co.jp
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59830
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;yahoo.co.jp.                   IN      TXT

;; ANSWER SECTION:
yahoo.co.jp.            900     IN      TXT     "v=spf1 include:spf.yahoo.co.jp ~all"

;; AUTHORITY SECTION:
yahoo.co.jp.            675     IN      NS      dnsg01.yahoo.co.jp.
yahoo.co.jp.            675     IN      NS      ns04.ops.ogk.yahoo.co.jp.

;; ADDITIONAL SECTION:
dnsg01.yahoo.co.jp.     759     IN      A       211.14.12.10
ns04.ops.ogk.yahoo.co.jp. 759   IN      A       124.83.218.185


include されてる場合は、さらにそのアドレスを引いてみます。
% dig -t TXT spf.yahoo.co.jp

; <<>> DiG 9.4.2-P2 <<>> -t TXT spf.yahoo.co.jp
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33423
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;spf.yahoo.co.jp.               IN      TXT

;; ANSWER SECTION:
spf.yahoo.co.jp.        900     IN      TXT     "v=spf1 include:spf01.yahoo.co.jp
include:spf02.yahoo.co.jp include:spf03.yahoo.co.jp include:bulk-spf.yahoo.co.
jp ~all"

;; AUTHORITY SECTION:
yahoo.co.jp.            424     IN      NS      dnsg01.yahoo.co.jp.
yahoo.co.jp.            424     IN      NS      ns04.ops.ogk.yahoo.co.jp.

;; ADDITIONAL SECTION:
dnsg01.yahoo.co.jp.     508     IN      A       211.14.12.10
ns04.ops.ogk.yahoo.co.jp. 508   IN      A       124.83.218.185

複数のFQDNが指定されているので、さらにその中の1つを引いてみます。
% dig -t TXT spf01.yahoo.co.jp

; <<>> DiG 9.4.2-P2 <<>> -t TXT spf01.yahoo.co.jp
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51412
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;spf01.yahoo.co.jp.             IN      TXT

;; ANSWER SECTION:
spf01.yahoo.co.jp.      900     IN      TXT     "v=spf1
	ip4:124.83.147.0/24
	ip4:124.83.153.0/24
	ip4:124.83.165.0/24
	ip4:124.83.168.0/24
	ip4:124.83.170.0/24
	ip4:124.83.178.0/23
	ip4:124.83.181.0/24
	ip4:124.83.195.0/24
	ip4:124.83.200.0/24
	ip4:124.83.212.0/24
	ip4:124.83.218.0/24
	ip4:202.93.80.0/24
	"
	"ip4:202.93.83.0/24
	ip4:202.93.84.0/23
	ip4:202.93.86.0/24
	ip4:202.93.88.0/24
	ip4:202.93.90.0/24
	ip4:203.141.34.0/24 ~all"

;; AUTHORITY SECTION:
yahoo.co.jp.            198     IN      NS      ns04.ops.ogk.yahoo.co.jp.
yahoo.co.jp.            198     IN      NS      dnsg01.yahoo.co.jp.

;; ADDITIONAL SECTION:
dnsg01.yahoo.co.jp.     297     IN      A       211.14.12.10
ns04.ops.ogk.yahoo.co.jp. 297   IN      A       124.83.218.185

以上のように、spf を調べることができます。

SPFを調べるその他の方法について

dig コマンド以外に SPF を調べるコマンドは、ほかにもあります。

Windows の場合であれば、 nslookup を利用すると良いでしょう。 windows で nslookup を利用する方法については、 [2009-11-07-1] をご参照下さい。

Linux や FreeBSD であれば、以下の方法があります。
FreeBSD には drill コマンドがありますので、こちらも参考にしてみてください。

スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー