【Windows標準機能だけ】DNSキャッシュポイズニング対策を10分で実装する方法

ニュース
この記事は約7分で読めます。

ネットでニュースを見ていると、たまに「DNS攻撃で〇〇サイトが偽物にすり替えられた」みたいな記事を見かけませんか?

実はこれ、DNSキャッシュポイズニングという攻撃手法が使われているんです。難しそうな名前ですが、要するに「道案内の看板を勝手に書き換えて、違う場所に誘導する」ようなイメージです。

この記事では、特別なソフトを入れずに、Windowsに最初から入っている機能だけで対策する方法をお伝えします。正直、めんどくさい日は設定触らない時もありますが(笑)、一度やっておくと安心感が違いますよ。

スポンサーリンク

そもそもDNSキャッシュポイズニングって何?

簡単に言うと「ネット上の住所録が書き換えられる攻撃」

インターネットって、実は裏側で「DNS」という仕組みが動いています。これは「google.comって入力したら、実際にはこのコンピュータに繋げばいいよ」って教えてくれる、いわばネット上の住所録みたいなもの。

で、DNSキャッシュポイズニングは、この住所録に嘘の情報を混ぜ込む攻撃なんです。

例えば、

  • 本物の銀行サイトにアクセスしようとしたのに
  • 攻撃者が用意した偽サイトに誘導されて
  • そこでパスワードを入力してしまう…

こんな被害が実際に起きています。IT系のニュースサイトでも「DNSポイズニング」「キャッシュポイズニング」といった言葉で報道されることが多いですね。

まずはここから!Windows標準機能でできる3つの対策

Windows10や11なら、追加ソフト不要で今すぐできる対策があります。

1. DNSSECを有効化する(一番重要)

DNSSEC(ディーエヌエスエスイーシー)は、DNS情報が本物かどうかを確認する仕組み。郵便物でいう「書留」みたいなものです。

まず自分の接続名を確認しよう

コマンドを入力する前に、あなたのパソコンがどんな名前でネットに繋がっているか確認します。これをやらないと、コマンドが失敗しちゃうんですよね…(私も最初つまずきました)

確認手順:

  1. スタートメニューで「cmd」と検索
  2. 「コマンドプロンプト」をクリック(管理者じゃなくてOK)
  3. 以下を入力してEnter

netsh interface show interface

すると、こんな感じで表示されます。

管理状態  状態     種類      インターフェイス名
----------------------------------------------------------------------
有効    接続     専用      Wi-Fi
有効    接続     専用      イーサネット
有効    切断     専用      Bluetooth ネットワーク接続

この「インターフェイス名」の列で、「接続」になっているものがあなたが今使っている接続です。

よくある接続名どんな時に出る?
Wi-Fi無線LANで繋いでる時
イーサネットLANケーブルで繋いでいる時
ローカル エリア接続古いWindowsの場合
Wi-Fi 2複数のWi-Fi機器がある時

私の場合、デスクトップPCなので「イーサネット」、ノートPCだと「Wi-Fi」って表示されます。この名前、スペースも含めて正確にメモしてください。

DNSSECを有効にするコマンドを実行

接続名が分かったら、いよいよ設定です。

設定手順:

  1. コマンドプロンプトを閉じて、もう一度開く
  2. 今度は「コマンドプロンプト」を右クリック→「管理者として実行」
  3. 以下を入力(【】内は自分の接続名に置き換えて)

netsh interface ipv4 set dnsservers "【接続名】" static 1.1.1.3 primary
netsh interface ipv4 add dnsservers "【接続名】" 1.0.0.3 index=2

具体例:

    • Wi-Fiで繋いでいる人

    netsh interface ipv4 set dnsservers "Wi-Fi" static 1.1.1.3 primary
    netsh interface ipv4 add dnsservers "Wi-Fi" 1.0.0.3 index=2

    • LANケーブルの人

    netsh interface ipv4 set dnsservers "イーサネット" static 1.1.1.3 primary
    netsh interface ipv4 add dnsservers "イーサネット" 1.0.0.3 index=2

    • 接続名がスペース入りの場合

    netsh interface ipv4 set dnsservers "ローカル エリア接続" static 1.1.1.3 primary
    netsh interface ipv4 add dnsservers "ローカル エリア接続" 1.0.0.3 index=2

    ダブルクォーテーション「"」を忘れずに!接続名にスペースが入っていると、これがないとエラーになります。
    「OK」とか特にメッセージが出ないこともありますが、エラーが出なければ成功です。正直この辺、Windowsってあんまり親切じゃないんですよね(汗)

    2. セキュアDNSサーバーに変更

    Windows標準のDNS設定を、セキュリティ機能が充実したサーバーに変えます。これはコマンドより画面操作の方が分かりやすいです。

    項目設定値説明
    優先DNSサーバー1.1.1.3Cloudflareの安全重視版
    代替DNSサーバー1.0.0.3バックアップ用

    変更方法:

    1. 設定→ネットワークとインターネット
    2. 使っている接続(Wi-Fiまたはイーサネット)をクリック
    3. 下の方にスクロールして「DNSサーバーの割り当て」を編集
    4. 「手動」に変更して、上の表の数字を入力

    5分もあれば終わります。私も最初は「よくわからんし後でいっか」って先延ばしにしてましたけど、やってみたら拍子抜けするほど簡単でした。

    3. DNSキャッシュの定期クリア

    たまにキャッシュ(一時保存データ)を掃除すると、変な情報が溜まるのを防げます。

    ipconfig /flushdns

    これをコマンドプロンプトで実行するだけ。月1回くらいやるといいですが、面倒な時はサボっても大丈夫です(笑)

    設定後の確認方法

    ちゃんと設定できたか心配ですよね。確認は簡単です。

    1. コマンドプロンプトで以下を実行

    nslookup cloudflare.com

    1. 表示される「Server」の部分が「1.1.1.3」になっていればOK

    もし違う数字が出たら、もう一度DNS設定を見直してみてください。あと、設定直後は反映に数秒かかることもあるので、ダメだったら10秒待ってもう一回試してみるといいですよ。

    注意点:完璧な対策ではない

    正直に言うと、これだけで100%安全ってわけじゃありません。

    • ルーター自体が攻撃されたら防げない
    • 公共Wi-Fiでは効果が薄い場合も
    • 古いWindowsだと機能が使えないことも

    でも「何もしない」よりは圧倒的にマシです。最低限の自衛手段として、やっておく価値は十分あります。

    合わせて読みたい

    最後に

    DNSキャッシュポイズニング対策、思ったより簡単じゃなかったですか?

    高額なセキュリティソフトを買わなくても、Windows標準機能だけでここまでできるんです。設定は一度やればずっと有効なので、今この記事を読んでいるタイミングで済ませちゃうのがおすすめ。

    「あとでやろう」って思うと、結局やらないまま忘れちゃうんですよね…(経験談)

    ネット詐欺のニュースを見るたびにヒヤヒヤするより、10分だけ時間を使って設定してみてください。きっと「やっておいてよかった」って思える日が来ますよ。

    今日の格言「10分の作業で安心を買う」
    ですよ!

    白川秋
    白川秋

    ではでは、参考までに。

    コメント

    タイトルとURLをコピーしました