DNSSEC と DNS のセキュリティを設定する

ドメイン ネーム システム(DNS)は、人間が読み取れるドメイン名(google.com など)を、機械で読み取り可能なウェブサイトの IP アドレス(172.217.3.206 など)に変換します。キャッシュ ポイズニング攻撃や DNS スプーフィングなどのドメインへの脅威を防ぐには、DNS Security Extensions(DNSSEC)を設定します。

ドメインの DNSSEC を有効にする

重要:

  • 一部のトップレベル ドメイン(TLD)では、DS(Delegation Signer)レコードではなく DNSKEY(DNS 公開鍵)レコードを受け入れます。
  • 元々 Google Domains からドメイン名を購入した場合は、DNSSEC がすでに設定されている可能性があります。
  • ドメインに ALIAS レコードがある場合は、DNSSEC を有効にできません。ALIAS レコードの詳細

ドメインに DNSSEC を設定するには、特定のリソース レコードを DNS または署名ゾーンに追加して、ドメイン用に公開する必要があります。Google Domains の自動 DNSSEC 設定を利用する場合は、上記の 2 つの操作を Google がお客様に代わって行います。DNSSEC が有効になるまでに、変更内容がインターネット上で更新されるのに最大 24 時間ほどかかります。

  1. Google Domains にログインします。
  2. ドメインを選択します。
  3. 左上のメニュー 次に [DNS] の順に選択します。
  4. [デフォルトのネームサーバー] または [カスタム ネームサーバー] を選択します。
  5. [DNSSEC] カードまたはボックスまでスクロールします。
    • デフォルトのネームサーバーの場合: [オンにする] をクリックします。DNSSEC がすでにオンになっている場合は、[DNSSEC が有効です] と表示されます。
    • カスタム ネームサーバーの場合: [DS レコードを管理] をクリックして、DNS プロバイダの情報を入力します。
      1. サードパーティの DNS プロバイダからカスタム ネームサーバー DNSSEC または DNSKEY に指定された値を入力します。
      2. 複数のレコードを同時に追加するには、[新しいレコードを作成] をクリックします。
      3. [保存] をクリックします。

ヒント:

  • DNSKEY レコードが公開されるまで待たない場合は、[DNSSEC] で DNSSEC カードを展開して [レコードを今すぐ公開] をクリックします。
  • DNSSEC をオンにすると、Google Domains によって DNS ゾーンが自動的に署名され、2 時間以内に DS(Delegation Signer)レコードが公開されます。
カスタム ネームサーバー DNSSEC に必要な値

カスタム ネームサーバーを使用している場合は、サードパーティの DNS プロバイダと協力して、お使いのドメインの DNS ゾーンに署名する必要があります。DNSKEY ごとに、DNS プロバイダから次の値を取得します。

  • キータグ: 既存の DNSKEY レコードを参照する数値。
  • アルゴリズム: DNSKEY レコードでセキュリティ キーを生成する暗号化アルゴリズム。通常は RSA/SHA1 などのハッシュ関数とペアになります。
  • ダイジェスト タイプ: DNSKEY レコードのダイジェストを作成するアルゴリズム。ダイジェスト アルゴリズム、ダイジェスト ハッシュ、ダイジェスト ハッシュ関数とも呼ばれます。
  • ダイジェスト: キーの値を公開せずに DNSKEY レコードを一意に識別するハッシュ値。ダイジェスト タイプに基づいて、長さは次のいずれかになります。
    • SHA1: 40 桁の 16 進数値
    • SHA256: 64 桁の 16 進数値
    • SHA384: 96 桁の 16 進数値
カスタム ネームサーバー DNSKEY に必要な値

カスタム ネームサーバーを使用する場合は、サードパーティの DNS プロバイダに問い合わせて、ドメインの DNS ゾーンに署名します。DNSKEY ごとに、DNS プロバイダから次の値を取得します。

  • フラグ: DNS とリゾルバが DNSKEY レコードの解釈方法を認識できるようにするための情報です。デフォルトでは、この値は 256 または 257 に設定されています。
  • プロトコル: 使用されている DNSSEC のバージョンを示します。この値は常に 3 に設定されます。
  • アルゴリズム: 公開鍵と秘密鍵のペアに使用される暗号アルゴリズムのタイプを示します。
  • 公開鍵: DNS リゾルバで、DNS レコードが改ざんされていないことを検証するために使用する鍵です。

ドメインの DNSSEC を無効にする

  1. Google Domains にログインします。
  2. ドメインを選択します。
  3. メニュー アイコン  次に [DNS] を選択します。
  4. [DNSSEC] カードまたはボックスまでスクロールします。
    • デフォルトのネームサーバーの場合: [オフにする] を選択します。
    • カスタム ネームサーバーの場合: 各レコードの横にある削除アイコン をクリックします。
  5. [保存] を選択します。

ヒント:

  • カスタム ネームサーバーの場合、DNSSEC 関連のリソース レコードをゾーンから削除するには、DNS プロバイダと協力して行ってください。
  • DNSSEC を無効にすると、Google Domains によってドメインの DS レコードがすぐに公開停止されます。この変更がインターネット上で更新されると、ドメインは DNSSEC で保護されなくなります。この処理には最大で 48 時間かかることがあります。DNSSEC の無効化を完了するために、Google Domains によって DNS ゾーンの署名が解除されることがあります。

ダイナミック DNS を使用する

重要: ダイナミック DNS は、IPv4 と IPv6 で動作しますが、同時には使用できしません。

ダイナミック DNS を使用すると、ドメインまたはサブドメインを、ゲートウェイの背後にあり、IP アドレスが動的に割り当てられたリソースに転送できます。ダイナミック DNS を使用するには、Google Domains のデフォルトのネームサーバーを使用する必要があります。

Google Domains でダイナミック DNS を設定すると、次のことが可能になります。

  • Google ネームサーバーがダイナミック IP を予測できるように、ドメインまたはサブドメインに A または AAAA レコードを作成します。
  • 新しい IP アドレスを Google のネームサーバーに伝えるためにホストかサーバーが使用するユーザー名とパスワードを生成します。

ダイナミック DNS を設定したら、次の処理を行うホスト、サーバー、ゲートウェイでクライアント プログラムを設定します。

  • IP アドレスの変更を検出する
  • 生成されたユーザー名とパスワードを使用する
  • 新しいアドレスを Google のネームサーバーに通知する

ダイナミック DNS の設定

  1. パソコンで Google Domains にログインします。
  2. ドメインを選択します。
  3. メニュー アイコン 次に [DNS] をクリックします。
  4. [デフォルトのネームサーバー Google Domains(使用中)] を選択します。
  • [カスタム ネームサーバー(使用中)] が選択されている場合、カスタム ネームサーバーはすでに存在するため、Google Domains のダイナミック DNS サービスは使用できません。
  1. [詳細設定を表示] をクリックします。
  2. [ダイナミック DNS の管理] 次に [新しいレコードを作成] をクリックします。
  3. ダイナミック IP を割り当てるには、サブドメインまたはルートドメインの名前を入力します。
  4. [保存] をクリックします。

以下に、ダイナミック DNS を管理するその他の方法を示します。

  • レコード値を表示するには、レコードの横にある三角形をクリックします。
  • このレコード用に作成されたユーザー名とパスワードを表示するには、[認証情報を表示] をクリックします。
  • Google のネームサーバーと通信するゲートウェイやクライアント ソフトウェアを構成するには、レコード用に作成されたユーザー名とパスワードを使用します。
  • レコードを削除するには:
    1. [リソース レコード] に移動します。
    2. [ダイナミック DNS] の横にある三角形をクリックします。
    3. [削除] を選択します。

ゲートウェイ、ホスト、サーバーでのクライアント プログラムの設定

DDclient や INADYN など広く使用されているダイナミック DNS クライアントはいくつかあります。ほとんどのルーターは、組み込みのソフトウェアを介して、IP の変更を検出してネームサーバーに知らせることができます。

ダイナミック DNS クライアントを次のように構成します。

  • プロバイダ、DNS、またはサービス: DNS プロバイダの名前
  • ユーザー名または認証情報: ダイナミック DNS レコードの生成されたユーザー名
  • パスワードまたは認証情報: ダイナミック DNS レコードの生成されたパスワード

レコードを作成してクライアント ソフトウェアを構成したら、レコードをテストします。ブラウザまたは適切なクライアントにサブドメインとドメインを入力し、適切なリソースに接続していることを確認します。

ヒント: Google Domains は dyndns2 プロトコルを使用します。

DDclient は Google Domains をサポートするようになりました。

Google Domains をサポートする DDclient

ddclient.conf のエントリ:

ssl=yes

protocol=googledomains

login=generated_username

password=generated_password

your_resource.your_domain.tld

一般的なクライアントの構成例:

DDclient
Google Domains サポートなし
INADYN

ddclient.conf のエントリの例:

protocol=dyndns2

use=web

server=domains.google.com

ssl=yes

login=generated_username

password=generated_password

your_resource.your_domain.tld

次の行を inadyn.conf に追加

system default@domains.google.com

username generated_username

password generated_password

alias sub.domain.tld

API を使用してダイナミック DNS レコードを更新する

ダイナミック DNS クライアント ソフトウェアは、ダイナミック DNS レコードを自動的に更新します。次の URL に POST リクエストまたは GET を行うことで、API を使用して手動で更新できます。
domains.google.com/nic/update
この API には HTTPS が必要です。リクエストの例を次に示します。
https://username:password@domains.google.com/nic/update?hostname=subdomain.yourdomain.com&myip=1.2.3.4

ユーザー エージェントを設定する

重要: リクエストにはユーザー エージェントも設定する必要があります。

上記の URL(domains.google.com/nic/update)で直接テストしている間は、通常、ウェブブラウザで自動でユーザー エージェントが追加されます。サーバーに送信される最終的な HTTP クエリは、次のようになります。

HTTP クエリの例:

POST /nic/update?hostname=subdomain.yourdomain.com&myip=1.2.3.4 HTTP/1.1
Host: domains.google.com
Authorization: Basic base64-encoded-auth-string
User-Agent: Chrome/41.0 your_email@yourdomain.com

リクエストのパラメータ:

パラメータ 必須または省略可 説明
username:password 必須 更新されるホストに関連付けられた、生成されたユーザー名とパスワード。
ホスト名 必須 更新されるホスト名。
myip
  • IPv4 の場合は省略可能。
  • IPv6 アドレスを使用する場合は必須。
ホストが設定されている IP アドレス。指定しない場合は、リクエストを送信したエージェントの IP が使用されます。

重要: エージェントが IPv6 アドレスを使用する場合は、myip が必要です。エージェントの IP アドレスは、https://domains.google.com/checkip で確認できます。

オフライン 省略可能 現在のホストをオフライン状態に設定します。更新リクエストがオフライン ホストで実行されると、ホストはオフライン状態ではなくなります。
指定できる値は次のとおりです。
  • yes
  • no

リクエストが処理されると、次のいずれかの応答が返されます。

重要: 応答を正しく解釈しないと、クライアントを Google のシステムからブロックしてしまう恐れがあります。

レスポンス ステータス 説明
good {ユーザーの IP アドレス} 完了 更新は成功しました。IP アドレスが変更されるまで、別の更新を試みないでください。
nochg {ユーザーの IP アドレス} 完了 指定された IP アドレスは、すでにこのホストに設定されています。IP アドレスが変更されるまで、別の更新を試みないでください。
nohost エラー ホスト名が存在しないか、ダイナミック DNS が有効になっていません。
badauth エラー 指定されたホストに対してユーザー名とパスワードの組み合わせが有効ではありません。
notfqdn エラー 指定されたホスト名は有効な完全修飾ドメイン名ではありません。
badagent エラー ダイナミック DNS クライアントが不正なリクエストを行っています。リクエストにユーザー エージェントが設定されていることを確認してください。
abuse エラー 以前の応答を正しく解釈できなかったため、ホスト名に対するダイナミック DNS アクセスがブロックされています。
911 エラー Google 側でエラーが発生しました。5 分待ってから、再試行してください。
conflict A
conflict AAAA
エラー カスタム A リソース レコードまたはカスタム AAAA リソース レコードが更新と競合しています。[DNS] 設定ページで表示されたリソース レコードを削除してから、もう一度更新してください。

さらにサポートが必要な場合

次の手順をお試しください。

Google アプリ
メインメニュー