仕組み:DNSについて一言

仮想インフラストラクチャプロバイダーとして、 1cloudはネットワーキングテクノロジーに関心があります。これについてはブログで定期的に説明しています。 今日、ドメイン名のトピックに関する資料を準備しました。 その中で、 DNSの機能の基本的な側面とDNSサーバーのセキュリティ問題を検討します。







/写真ジェームズクリドランド CC



最初は、インターネットが広がる前に、ネットワーク上の各マシンに送信されたホストファイルの内容に従ってアドレスが変換されました。 しかし、成長するにつれて、そのような方法はそれ自体を正当化しなくなりました-1983年にPaul Mockapetris(Paul Mockapetris)によって開発されたDNSになった新しいメカニズムが必要でした。



DNSとは何ですか?



ドメインネームシステム(DNS)は、現代のインターネット環境の基本的な技術の1つであり、ドメインゾーンに関する情報を保存および処理するための分散システムです。 まず、ネットワーク上のデバイスのIPアドレスと、人間の認識により便利な記号名を関連付ける必要があります。



DNSはドメイン名前空間と呼ばれる論理ツリーに似た構造を持つ分散名前ベースで構成されています。 このスペースの各ノードには、固有の名前があります。 この論理ツリーはルートドメインから「成長」します。これは、DNS階層の最高レベルであり、ドットで示されます。 そして、すでにルート要素のサブドメインゾーンまたはノード(コンピューター)ブランチから。









アドレスを一意の名前にマッピングする名前空間は、フラットと階層の2つの方法で編成できます。 最初のケースでは、名前が各アドレスに割り当てられ、ルールによって構造が修正されていない一連の文字です。 フラットな名前空間の主な欠点は、ランダム性のためにインターネットなどの大規模システムで使用できないことです。この場合、あいまいさと重複をチェックするのは非常に難しいからです。



階層的な名前空間では、各名前は複数の部分で構成されます。たとえば、第1レベルのドメイン.ru、第2レベルのドメイン1cloud.ru、第3レベルのドメインpanel.1cloud.ruなど。このタイプの名前空間により、重複を簡単に確認できます。 、組織はホストに選択されたプレフィックスが他の誰かに占有されていることを心配する必要はありません-完全なアドレスは異なります。



名前マッピング



名前とIPがどのように一致するかを見てみましょう。 ユーザーがブラウザーの行にwww.1cloud.ruと入力してEnterキーを押したとします。 ブラウザーは要求をネットワークのDNSサーバーに送信し、サーバーはそれ自体に応答する(応答がわかっている場合)か、要求を高レベルドメインサーバーの1つ(またはルート)に転送します。



次に、要求はその旅を開始します-ルートサーバーは、それを第1レベルサーバー(.ruゾーンをサポート)に送信します。 それ-第2レベルのサーバー(1cloud)など、要求された名前とアドレスを正確に知っているサーバーが見つかるまで、またはそのような名前が存在しないことがわかるまで。 その後、リクエストは元に戻り始めます。 これがどのように機能するかを明確に説明するために、dnssimpleの人たちはカラフルなコミックを用意しました。これはリンクで見つけることができます。



また、逆マッチングの手順について説明するのも一言の価値があります。指定されたIPアドレスで名前を取得します。 これは、たとえば、電子メールサーバーのチェック中に発生します。 特別なドメインin-addr.arpaがあり、IPアドレスを記号名に変換するために使用されるエントリがあります。 たとえば、アドレス11.22.33.44のDNS名を取得するには、エントリ44.33.22.11.in-addr.arpaをDNSサーバーに照会すると、対応するシンボリック名が返されます。



DNSサーバーの管理と保守を行うのは誰ですか?



ブラウザの行にインターネットリソースのアドレスを入力すると、ルートゾーンを担当するDNSサーバーに要求が送信されます。 このようなサーバーは13台あり、さまざまなオペレーターや組織によって管理されています。 たとえば、a.root-servers.netサーバーのIPアドレスは198.41.0.4であり、Verisignによって管理され、e.root-servers.net(192.203.230.10)はNASAによって提供されます。



これらのサーバーのいずれかに障害が発生した場合、インターネットゾーン全体が使用できなくなるため、これらの各オペレーターはこのサービスを無料で提供し、中断のない動作を保証します。 以前は、すべてのインターネットドメイン名クエリを処理するための基盤であるルートDNSサーバーは北米にありました。 ただし、代替アドレッシングテクノロジーの導入により、世界中に「広がり」、実際にはその数が13から123に増え、DNS基盤の信頼性を高めることができました。



たとえば 、北米では40台(32.5%)、ヨーロッパでは35台(28.5%)、南アメリカ(4.9%)に3台、アフリカ(2.4%)に3台のサーバーがあります。 。 マップを見ると、DNSサーバーはインターネットインフラストラクチャの使用強度に応じて配置されています。



攻撃防御



DNSに対する攻撃は、新しいハッカー戦略とはほど遠いものですが、最近になってこの種の脅威との戦いが世界的になりました。



「過去には、DNSサーバーに対する攻撃が既に発生しており、大規模なクラッシュにつながっています。 どういうわけか、DNSレコードのなりすましにより、有名なTwitterサービスは1時間以内にユーザーが利用できませんでした」 、ESETのロシア駐在員事務所のインフラストラクチャソリューション責任者であるAlexey Shevchenko 氏は言います。 「しかし、ルートDNSサーバーへの攻撃ははるかに危険です。」 特に、2002年10月に、13のトップレベルDNSサーバーのうち10で未知の人がDDoS攻撃を試みたときに、攻撃が広く公表されました。



DNSプロトコルは、TCPまたはUDPポートを使用して要求に応答します。 従来、これらは単一のUDPデータグラムとして送信されます。 ただし、UDPはコネクションレスプロトコルであるため、アドレススプーフィングの脆弱性があります。DNSサーバーに対する攻撃の多くは、スプーフィングに依存しています。 これを防ぐために、彼らはセキュリティの改善を目的とした多くのテクニックを使用しています。



1つのオプションは、uRPF(ユニキャストリバースパスフォワーディング)テクノロジです。このアイデアは、特定の送信者アドレスを持つパケットを特定のネットワークインターフェイスで受信できるかどうかを判断することです。 このパケットの送信者にアドレス指定されたデータを送信するために使用されるネットワークインターフェイスからパケットを受信した場合、パケットは検証に合格したと見なされます。 それ以外の場合は、破棄されます。



この機能は、一部の偽トラフィックの検出とフィルタリングに役立ちますが、uRPFはスプーフィングに対する完全な保護を提供しません。 uRPFは、特定のアドレスのデータの受信と送信が同じインターフェイスを介して行われることを前提としています。これにより、複数のプロバイダーの場合は事態が複雑になります。 uRPFの詳細については、 こちらをご覧ください



もう1つのオプションは、IPソースガード機能を使用することです。 uRPFテクノロジーとDHCPパケットスヌーピングに基づいており、スイッチの個々のポートで偽トラフィックをフィルタリングします。 IPソースガードは、ネットワーク上のDHCPトラフィックをチェックし、ネットワークデバイスに割り当てられているIPアドレスを判別します。



この情報が収集され、DHCPスヌーピングテーブルに保存されると、IPソースガードはこの情報を使用して、ネットワークデバイスが受信したIPパケットをフィルタリングできます。 DHCPパケットスヌーピングテーブルと一致しない送信元IPアドレスを持つパケットを受信した場合、パケットは破棄されます。



また、すべてのDNSパケットの送信を監視し、各要求を応答と照合し、ヘッダーの不一致の場合にユーザーに通知するdns-validatorユーティリティに注目する価値があります。 詳細情報は、GitHubのリポジトリで入手できます。



おわりに



ドメインネームシステムは、前世紀の80年代に開発され、現在までインターネットのアドレス空間を使いやすさを提供し続けています。 さらに、DNSテクノロジーは絶えず進化しています。たとえば、最近の最も重要な革新の1つは、国のアルファベットのドメイン名(第1レベルのキリル文字ドメインを含む。Rf)の導入です。



システムが障害(自然災害、停電など)の影響を受けにくくするために、信頼性を高めるための作業が常に行われています。これは非常に重要です。インターネットは私たちの生活の不可欠な部分になり、数分でもそれを「失う」ためですそんな気がしません



ちなみに、1cloud社はVPSユーザーに無料サービス「 DNSホスティング 」を提供しています。これは、それらを参照するホストとドメインを管理するための共通インターフェースと連携して、プロジェクトの管理を簡素化するツールです。



私たちは他に何について書いていますか:






All Articles