安全性を高めるために セキュアDNSとは?

スマートフォンの設定やセキュリティアプリで「セキュアDNS」や「プライベートDNS」という言葉を見たことはありませんか?その機能と有効にするメリットについて解説します。

パソコンやスマホのインターネット接続の設定は、通常自動的に行われ、ユーザーが自分で考えて設定する必要はありません。しかし、知っていると役立つことが一つあります。それは、DNSの指定とモードの設定です。これらの設定にほんの少し時間を割くだけで、サイバー攻撃やISPによるスパイ行為、子どもに対して不適切なコンテンツなどから身を守るのに役立ちます。それでは、例えば、Androidの設定にあるプライベートDNSとは何か、そしてそのように使えばよいのか、詳しく見ていきましょう。

DNSとそのデメリット

DNSとは、Domain Name Systemの頭字語です。DNSのおかげで、私たちは、わかりやすいWeb上のアドレス(たとえば「kaspersky.co.jp」のようなドメイン名)を使うことができ、アドレスがネットワーク上のコンピューターが使うデジタルIPアドレス(例えば185.85.15.34)に変換されます。インターネットで情報を検索すると、ほとんどの場合まず行われるのは、入力されたサイト名をIPアドレスに変換するための、DNSサーバーへのアクセスです。そしてこれには大抵、インターネットプロバイダーのDNSサーバーが使用されますが、このDNSサーバーへのリクエストは無防備で、暗号化も署名もされません。そのため、安全性が低くなり、セキュリティリスクが発生します。

  • ユーザーがアクセスするサイトの情報は、プロバイダーに筒抜けです。この情報を利用することでターゲティング広告の配信が可能になります。
  • プロバイダーが応答のIPアドレスでなりすまし(スプーフィング)を行うことは簡単で、ユーザーが指定したのとは全く別のサイトを表示することができます。ホテルやカフェ、空港などの無料Wi-Fiに接続すれば、自分が指定したサイトが表示される前に、承認のためのページや広告画面が表示された経験はありませんか?
  • 同じ手法を攻撃者が使用すれば、ユーザーの接続先のWi-Fiネットワークを乗っ取ることができます。マルウェアを拡散する拡散する偽サイトを表示させたり、クレジットカード情報を窃取したりする可能性があります。

ただし、DNSが応答する際のアドレスの置換というのは、有益な使い方もあります。例えば、ペアレンタルコントロールサービスです。子どもが「好ましくない」サイトにアクセスしようとした場合、これを利用して、代替ページを読み込む仕組みになっています。とは言え、現段階ではまだ開発途中のため、サイト全体をブロックするようになっています。例えば、好ましくない特定の動画のページ単体ではなく、プラットフォーム全体YouTube.comがブロックされるというようにです。そのため、カスペルスキー セーフキッズではこの方法は使用されていません。

ユーザーは、ISPのDNSサーバーを使用しなければならないわけではありません。例えば、Cloudflare(1.1.1.1)やGoogle(8.8.8.8)など、評判の良いDNSサーバーが存在し、誰でも利用することができます。ユーザーは、インターネットの設定でこれらのDNSサーバーを指定しておけば、前述の問題を回避できます。

また、広告サーバーへのアクセスをブロックするなど、追加の機能を持つDNSサーバーもあります。そのようなDNSサーバーを利用すると、ブラウザーだけでなく、それ以外のアプリケーションでも広告を排除できます。この機能を利用するには、パソコンやスマホのWi-Fiの設定で、フィルタリング機能を持つ適切なDNSサーバーのアドレスを指定するだけです。

残念ながら、DNSアドレスを1.1.1.1や8.8.8.8に変更するだけでは、プライバシーの問題は解決できません。ネットワークを制御するISPあるいは侵入者は、DNSクエリを覗き見たり、そこに干渉したり、サードパーティのDNSへのアクセスをブロックしたりすることができます。

プライベートDNSとセキュアDNS

大企業やセキュリティに精通した一部の人たちは、独自のDNSサーバーを運用している場合があります。その場合、それぞれの考えに応じたクエリルールが適用されます。プライベートDNSとは、厳密にはプライバシー保護が強化されたサーバーではありません。パブリック(公共)のサーバーではなくプライベート(私的に運用されている)サーバーという意味で、実際には、プライベートDNSは、セキュアDNSプロトコルで運用されている場合が多くなっています。例えば、Android 9以降のプライベートDNSの設定は、その本質をより正確に表すために「セキュアDNS」と呼ばれるべきでしょう。

セキュアDNSは、通常のDNSとは異なり、暗号化の機能を持つ、競合する複数のプロトコルです。具体的には、DNS over HTTPSDoH)、DNS over TLSDoT)、DNSCryptです。これらは、DNSリクエストが送受信される通信プロトコルとポートに違いがあります。それぞれの良し悪しには、まだ議論の余地があります。ただし、ISPがサードパーティのDNSをブロックしている場合があり、そのような場合は、フィルタリングが困難なDoHプロトコルが有利です。とはいうものの、セキュアDNSの細部まで踏み込む必要はないでしょう。重要なのは、これらのプロトコルの少なくとも一つが、スマホやパソコン、ブラウザーでサポートされていて、そのプロトコルに対応したDNSサーバーが利用できることです。

無料で利用できるセキュアサーバーはいくらでもあります。大手のISP(CloudflareやGoogleなど)はパブリックDNS(1.1.1.1、8.8.8.8)をサポートしており、ユーザーはセキュアでないDNSでもDoH/DoTでも接続できます。そこで、ユーザーには、この安全なアクセスを有効にする作業が必要になります。

VPNを利用している場合

セキュアDNSとVPNは相補的な技術です。VPNを有効にしていても、サイト名のリクエストは暗号化されていないDNSチャネルで転送される可能性があり、その場合は前述のリスクが伴うことを意味します。一部のVPNサービスでは、デフォルトの接続プロファイルにDNSの暗号化が含まれている場合や、アプリでVPNと第三者機関のセキュアDNSを同時に有効化することができる場合があります。しかしながら、これは稀なケースで、VPNプロバイダーから提供されている情報を再確認するか、テクニカルサポートに問い合わせることをお勧めします。セキュアDNSが提供されていない場合は、VPNに追加する形で有効にすることができます。その方法については、この後の説明をお読みください。

セキュアDNSの有効化

ここでは、Android(9以降)で、セキュアDNSを有効にする最も簡単な方法を説明します。まず、「設定」を開き、「ネットワークとインターネット」を選択し、必要に応じて「詳細設定」を選択すると、「プライベートDNS」の項目が表示されます。使用するサーバーを指定すれば、設定は完了です。Androidではここで数字のIPアドレスを指定することができないため、使用するDNSサーバーのドメイン名(例えば、1dot1dot1dot1.cloudflare-dns.comなど)をプロバイダーに確認する必要があります。

AndroidのセキュアDNSの設定(英語)

Appleのデバイスでは、iOS 14およびmacOS 11以降の製品で、DoH/DoTがサポートされています。ただし、これらのプロトコルを有効にする設定が組み込みで用意されていないため、サードパーティ製ツールをApp Storeからインストールして、セキュアサーバーを指定、有効化する必要があります。「セキュアDNS」で検索してみてください。経験豊富なユーザーであれば、手動で必要な設定用プロフィールをインストールするか、自分でプロフィールを作成できます。

Windows 10では、バージョン19628(2020年)以降、DoHがサポートされており、MicrosoftのWebサイトに記載されている説明に従ってこの機能を有効化することができます。

Windows 10でのセキュアDNSの設定

ChromeおよびFirefoxのブラウザーでは、OSレベルのサポートに関係なく、暗号化されたチャネルを介してDNSクエリを実行することができます。

Google ChromeでのセキュアDNSの設定

国によっては、デフォルトでこのオプションが有効になっていますが、ブラウザーの設定で確認しておくとよいでしょう。

FirefoxでのセキュアDNSの設定

カスペルスキー製品をご利用の場合の重要なポイントは次の通りです。保護機能を適切に設定するには、まずルーター、OS、またはブラウザーの設定で保護されたDNSを有効にします。そのうえで、適切なカスペルスキーの設定が有効になっていることを確認します。画面向かって左下の歯車のアイコン(設定) → セキュリティの設定 → ネットワーク設定 トラフィック処理という手順です。

セキュアDNSを使用するためのカスペルスキーの設定の確認

この設定画面では、使用するDoHサーバーも指定することができます。

ヒント