MailData

SPFレコードをnslookup、dig、PowerShellで確認する方法

SPFレコードをnslookup、dig、PowerShellで確認する方法

2024年5月2日
著者: Ahona Rudra
翻訳: 逆井 晶子

この記事はPowerDMARCのブログ記事 How to Check SPF Records Using nslookup, dig or PowerShell? の翻訳です。
Spelldataは、PowerDMARCの日本代理店です。
この記事は、PowerDMARCの許可を得て、翻訳しています。


SPFレコードを定期的に確認することは、あなたのドメインが不正に使用され、悪意のあるメールが送信されるのを防ぐために重要です。
nslookupとdigは、SPFレコードの確認に役立ちます。
ここでは、異なるオペレーティングシステムでの確認方法を紹介します。

重要なポイント

  1. 定期的なSPFレコードの確認は、あなたのドメインが不正利用やフィッシング攻撃から守るために不可欠です。
  2. SPFレコードは、どのIPアドレスがあなたのドメインを使ってメールを送信することを許可されているかを指定するDNSのTXTレコードです。
  3. SPFを導入することで、メールの配信成功率を大きく向上させ、スパムとしてマークされるリスクを低減できます。
  4. DMARC準拠は、メールの認証を強化し、SPFやDKIMチェックに失敗したメールの適切な処理を保証します。
  5. nslookupを使うことで、さまざまなOSでSPFレコードを簡単に確認することができます。

SPFレコードとは?

SPFレコードは、あなたのドメインからメールを送信できるIPアドレスを指定するDNSのTXTレコードです。
ドメイン所有者はDNSに任意のテキストを入力し、リストが形成されます。
SPFレコードは、SMTPがメール内の「送信元」アドレスを認証しないため導入されました。
認証しないことにより、ハッカーが送信者を偽装し、受信者を騙して機密情報を共有させることが可能になります。

SPFレコードの仕組み

受信者のサーバは、メールヘッダ内のReturn-Pathの値を認証することで、SPFレコードの検証を行います。
この仕組みにより、受信側は送信元のDNSサーバからTXTレコードを取得して確認できます。
SPFを導入することで、企業があらかじめ許可した送信者だけが、そのドメインを使ってメールを送信できるようになります。
特定のIPアドレスがSPFレコードに含まれていない場合、nslookupでの検証は失敗します。
この場合、メールは拒否されるか、スパムとして処理されます。

SPFレコードを確認すべき理由

SPFレコードはDNSデータベースに保存されており、以下の管理に役立ちます。

フィッシング攻撃
ドメインから送信されるメールに対して認証を行わない場合、ハッカーに悪用されやすくなります。
彼らはあなたや従業員を装って偽のメールを送り、機密情報を求めたり、顧客や見込み客、株主やメディア、従業員などに誤った情報を伝える恐れがあります。
認証プロトコルを導入し、定期的にnslookupでSPFレコードを確認することで、悪意あるユーザがあなたの名を騙る攻撃を実行するのが難しくなります。
メール到達率
SPFはバウンス率やスパムフォルダに入る可能性を下げるのに役立ちます。
メール到達率が低下すると、意図した相手の受信箱にメールが届かなくなる恐れがあります。
その結果、顧客や見込み客、株主やメディア、従業員との円滑なコミュニケーションが妨げられる可能性があります。
DMARC準拠

DMARCは、SPFやDKIMの動作を監視するメール認証プロトコルです。
SPFやDKIMの検証に失敗したメールをどのように扱うかを指示します。
選択したポリシーに応じて、これらのメールはスパムとしてマークされたり、拒否されたり、通常通り配信されます。

定期的にDMARCレコードの確認をすることで、設定の見直しが必要かどうかを判断し、認証プロセスの強化に役立てることができます。
DNSに公開された後は、ドメインのなりすましに関するレポートを毎日受け取ることが可能になります。

nslookup、dig、PowerShellとは?

SPFレコードの確認方法を理解する前に、これらのツールについて理解しましょう。
nslookup、dig、およびPowerShellのResolve-DnsNameコマンドは、インターネットサーバ管理者やコンピュータユーザがホスト名を入力し、それに対応するIPアドレスやDNSレコードを確認できるツールです。
また、IPアドレスからホスト名を取得する逆引きDNS検索も可能です。

nslookupはサーバ接続のトラブルシューティングやサイバーセキュリティの問題解決に役立ちます。
例えば、amaz0n.comのようにあなたのドメインに似た名前のドメインをサイバー攻撃者が作成することで発生するフィッシング攻撃を防ぐことができます。
ここでは文字「O」が数字の「0」に置き換えられています。
受信者はこうした小さな変更に気付かず、本物の送信元からのメッセージだと信じてしまうことがあります。

また、DNSキャッシュポイズニングのように、WebサイトのIPアドレスを要求する際にコンピュータが受け取る情報を改竄される攻撃も防ぐことができます。

nslookup、dig、PowerShellを使ったSPFレコードの確認方法

DNSにSPFレコードを設定することができます。
ここでは、Windows、Linux、Macでnslookup、dig、PowerShell(Resolve-DnsName)を使用してSPFレコードを確認するための手順を、段階的にご紹介します。

Windows
  1. スタートから「コマンドプロンプト」を開きます。
  2. 「検索ボックス」にcmdと入力し、開くをクリックします。
  3. nslookup -q=txt example.comと入力し、Enterキーを押します。
  4. NON-AUTHORITATIVE ANSWERの見出しの下にSPFレコードが表示されます。
Linux
  1. 「Super」キーを押し、terminalと入力してEnterキーを押します。
  2. dig example.com txtと入力し、Enterキーを押します。
  3. ANSWER SECTIONの見出しの下にSPFレコードが表示されます。
Mac
  1. command + spaceでターミナルを開きます。
  2. dig example.com txtと入力し、Enterキーを押します。
  3. ANSWER SECTIONの見出しの下にSPFレコードが表示されます。
PowerShell
  1. スタートメニューの検索バーにPowerShellと入力し、「Windows PowerShell」を開きます。
  2. Resolve-DnsName -Type TXT example.comと入力し、Enterキーを押すと、目的のSPFレコードが表示されます。