GNU/Linux >> Linux の 問題 >  >> Linux

DNSSECの初心者向けガイドと、DNSSECがインターネットを保護する方法

この記事は、DNSとは何か、そしてDNSがどのように機能するかを理解していることを前提としています。ドメインネームシステム(DNS)は、インターネットシステムの重要な要素です。簡単に言えば、DNSがなければ、インターネットはありません。しかし、当初DNSは、セキュリティがあまり整っていない状態で開発されました。たとえば、DNSはDNSキャッシュポイズニング(DNSスプーフィング攻撃)に対して脆弱です。攻撃者が弱いDNSシステムに無効なエントリを挿入し、この誤ったデータを使用してWebトラフィックを偽のサイトにリダイレクトする可能性がある場合(DNSキャッシュポイズニングとそれがインターネットに与える影響の詳細をご覧ください)。 DNSスプーフィングとは別に、DNSシステムはDDOSおよび中間者攻撃に対しても脆弱です。

DNSセキュリティの問題を解決するために、ドメインネームシステムセキュリティ拡張機能(DNSSEC)が導入されました。 DNSSECは、上記の攻撃を終わらせるようには設計されていませんが、エンドユーザーまたはリゾルバー(セキュリティが有効なリゾルバー)によって確実に検出されるように設計されています。これは、セキュリティ対応のリゾルバーがDNSサーバーから受信した応答を検証し、情報が正しいかどうかを識別できることを意味します。

DNSSECの導入は簡単な作業ではありませんが、実装は簡単です。これには、.net、.com、.edu、.inなどのゾーン所有者が関与します。ゾーンにDNSSECを実装する必要があります。それだけではありません。さまざまな組織、機関、インターネットサービスプロバイダー(ISP)は、独自のDNSサーバーにDNSSECを導入する必要があります。そして最後に、最後は確かに何かをしなければなりません。リゾルバーを更新してDNSSECプロト​​コルを理解し、信頼できるキーをいくつか追加します。これらの信頼できるキーはアンカーキーと呼ばれ、リゾルバーで構成する必要があります。これらすべてが完了すると、エンドユーザー(私やあなたなど)が攻撃を検出できるようになります。

DNSSECは、DNSにデータ発信元認証とデータ整合性保護を提供します。 Secure Shell(SSH)やInternet Protocol Security(IPSec)などの公開鍵暗号を使用します。

技術的にDNSSEC…

DNSSECは、既存のドメインネームシステム(DNS)に暗号化の性質を追加して、DNS応答の信頼性と整合性を確保します。私が暗号化の性質を話したとき、それは暗号化署名がDNSのAレコードに対して公開されていることを意味します。たとえば、Aレコード用に公開されたRRSIG(リソースレコード署名)の場合、ソース組織は、受信したAレコードが本物で正しいことをリゾルバーが確認できるようにします。

CISCOのサポートをお願いします 、DNSSEC機能は以下のように説明されています

スタブリゾルバーが組み込まれたクライアントコンピューターは、DNSSECを使用してDNS情報の信頼性を検証する場合、アウトバウンドクエリでDNSSEC OK(DO)ビットを1に設定します。 DNSSEC対応のDNSサーバーがDO=1のクエリを受信すると、ローカルに保存または受信したRRSIGレコードを使用して、DNS情報の信頼性を暗号で検証します。検証結果は、DNS応答のAuthenticated Data(AD)ビットを使用してスタブリゾルバーに伝達されます。ここで、AD =1はDNSデータが本物であることを示し、AD=0はDNSSEC検証が失敗したことを示します 」– クレジット:CISCO

DNSとDNSSECの違いは何ですか?

前に述べたように、DNSSECは既存のDNSのセキュリティ拡張機能です。つまり、DNSはDNSSECなしで生きることができますが(もちろん、脆弱性はほとんどありません)、DNSSECはDNSなしでは存在できません。

もう1つの主な違いは、レコードのサイズです。 DNSSECメッセージのサイズはDNSメッセージよりも大きくなります(DNSSECが有効になっていない場合)。 DNSSECは、DO、AD、その他のDNSSEC関連のヘッダーフラグなどのフラグを保持するためです。

これで、DNSSECとは何か、DNSでDNSSECを有効にすることが重要である理由がわかりました。今後数日で既存のDNSシステムにDNSSECを導入する方法を見てみましょう。

読む:バインド時にDNSSECを設定する方法

読む:ドメインを識別する方法はDNSSECに署名されているかどうか?


Linux
  1. 初心者向けのLinuxターミナルガイド

  2. CentOS8にMongoDB4をインストールして保護する方法

  3. Linux でファイルとディレクトリのサイズを確認するにはどうすればよいですか?

  1. tcpdump でファイルに書き込み、標準出力に適切なデータを出力するにはどうすればよいですか?

  2. インターネット接続を共有するには?

  3. IP アドレスとゲートウェイ アドレスを永続的に変更するにはどうすればよいですか?

  1. OSとLinuxのバージョンを確認する方法

  2. Ubuntu22.04にUnboundDNSリゾルバーをインストールする方法

  3. DNSとは何ですか?どのように機能しますか?