DNSSECとは何ですか?そして、あなたのウェブサイトに対してそれをオンにすべきですか?
DNSは30年以上前に設計され、当時インターネットの主な焦点としてセキュリティは重視されていませんでした。追加の保護がないと、MITM攻撃者がレコードを偽造し、ユーザーをフィッシングサイトに誘導する可能性があります。DNSSECはそれを防止し、簡単にオンにすることができます。
DNS自体は安全ではありません
DNSシステムには、リクエストに対する応答が偽造されていないことや、プロセスの他の部分が攻撃者によって中断されていないことを確認するための組み込みの方法がありません。この問題は、ユーザーがあなたのウェブサイトに接続しようとするとき、ドメイン名を利用可能なIPアドレスに変換するためにDNSルックアップを行わなければならないため、発生します。ユーザーがカフェのような安全でない場所から接続している場合、悪意のある攻撃者が中間に座ってDNSレコードを偽造する可能性があります。この攻撃により、攻撃者はIPアドレスAレコードを修正することで、ユーザーを悪意のあるページにリダイレクトさせることができます。
幸いなことに、解決策があります――DNSSEC、すなわちDNSセキュリティ拡張は、これらの問題を修正します。それは、公開鍵を使用してDNSレコードに署名することで、DNSルックアップを安全にします。DNSSECが有効になっている場合、ユーザーが悪意のある応答を受け取った場合、彼らのブラウザーはそれを検出できます。攻撃者は正当なレコードに署名するために使用される秘密鍵を持っておらず、偽造品を渡すことができなくなります。
DNSSECのキーの署名は、チェーンの最上部まで続きます。接続する際に
example.com
, あなたのブラウザは最初にIANAによって管理されているDNSルートゾーンに接続し、その後拡張子のディレクトリに接続します。
.com例えば)、その後、あなたのドメインのネームサーバーに接続します。DNSルートゾーンに接続すると、ブラウザはIANAによって管理されているルートゾーン署名キーを確認して、それが正しいかどうかを検証します。そして、
.comディレクトリ署名キー(ルートゾーンによって署名された)、その後、あなたのサイトの署名キーが署名されます。
.comディレクトリであり、改ざんすることはできません。
近い将来、これがそれほど問題にならないことに注意する価値があります。DNSはHTTPSに移行中で、これによりさまざまなMITM攻撃から保護され、DNSSECが不要になり、ISPがあなたの閲覧履歴を監視することを防ぎます---これがComcastが反対している理由です。しかし現状では、これはChromeやFirefoxでのオプション機能であり(Windowsでもまもなくオペレーティングシステムのサポートが加わる予定です)、その間はまだDNSSECを有効にしておくことをお勧めします。
DNSSECを有効にする方法
ウェブサイトを運営している場合、特にユーザーデータを扱っている場合は、DNS攻撃のベクターを防ぐためにDNSSECをオンにすることをお勧めします。これにはデメリットはありませんが、DNSプロバイダーがGoDaddyのように「プレミアム」機能としてしか提供していない場合は別です。その場合、基本的なセキュリティのために追加料金を取らないGoogle DNSのような適切なDNSプロバイダーに移行することをお勧めします。こちらで使用方法についてのガイドを読むことができます。また、ドメインの転送についてもっと読むこともできます。
Google Domainsを使用している場合、設定は本当にボタン一つで済みます。ドメインコンソールのサイドバーの「DNS」下にあります。「DNSSECを有効にする」にチェックを入れてください。これには完了するまで数時間かかり、必要なすべてのキーに署名されます。Google DomainsはDNS over HTTPSも完全にサポートしているため、それを有効にしているユーザーは完全に安全です。
Namecheapでは、このオプションはドメイン設定の「高度なDNS」の下にある切り替えスイッチであり、完全に無料です。
もしAWS Route 53を使用している場合、残念ながらDNSSECはサポートされていません。これは、最初に素晴らしいものにしている弾力的なDNS機能の必要な欠点です:エイリアスレコード、DNSレベルの負荷分散、ヘルスチェック、レイテンシベースのルーティングなどの機能です。Route 53は、これらのレコードが変更されるたびに合理的に署名することができないため、DNSSECは不可能です。しかし、独自のネームサーバーや別のDNSプロバイダーを使用している場合、Route 53を使用して登録されたドメインに対してDNSSECを有効にすることはまだ可能です---ただし、DNSサービスとしてRoute 53を使用しているドメインには適用されません。


