この特集のトップページへ
Chapter 6:Dynamic DNS 〜DNSとDHCP〜

6.3.5 セキュリティで保護されたDynamic DNS
 セキュリティで保護されたDynamic DNSを,「セキュアDynamic DNS」と呼ぶ。セキュアDynamic DNSを使用すると,そのリソースレコードを登録した当のコンピュータか,あるいはDNSサーバーに対して管理権限を有するもの以外は,ゾーン情報を更新できなくなる。

 Windows 2000に添付されているMicrosoft DNSでは,Active DicretoryのACL(Access Control List)を使用してアクセス制御を実現する。これにより,そのリソースレコードを登録したコンピュータか,DNSサーバーの管理者グループであるDNSAdminsグループの参加者など,DNSサーバーに対する管理権限を有するユーザーのみが,リソースレコードの更新や削除を実行できるようになる。

 アクセス制御にACLを利用することからもわかるように,Windows 2000のDNSサーバーでセキュアDynamic DNSを実現するためには,ゾーン情報をActive Directoryと統合し,Active Directory統合モードでDNSを運用しなければならない。つまり,DNSを通常のプライマリ/セカンダリの設定にしたままでは,セキュリティ機能を使用することはできないのである。ゾーン情報をActive Directoryと統合すると,ゾーン情報の転送方式も変更されるため,注意が必要である(Active Directory統合モードについては,Chapter 8で詳しく解説する予定である。また,BINDなど,Microsoft DNS以外のDNSサーバーを利用する場合のセキュリティについては,Chapter 9で詳しく解説する予定である)。

 Windows 2000では,RFCのドラフトである「GSS-Algorithm for TSIG(GSS-TSIG)」に準拠したメカニズムと,RFC2078(Generic Security Service Application Program Interface, Version2)を利用したAPI(GSS-API)を使用して,セキュアDynamic DNSを実現している。

 セキュアDynamic DNSにおけるセキュリティコンテキストは,セキュリティトークンを通じて確立される。いったんセキュリティコンテキストが確立されると,その利用期間が経過するまではクライアントとサーバーとのあいだで利用され続ける。

 セキュリティトークンは,TKEYレコードを使用して,クライアントとDNSサーバーとのあいだで交換される。TKEYレコードは,RFCドラフトである「Secret Key Establishment for DNS(TKEY RR)」で提唱されているメタレコードであり,このリソースレコード自体はDNSに登録されず,キャッシュもされない。クライアントとサーバーは,セキュリティトークンで使用するセキュリティメカニズムを決定するために,ネゴシエーションを試みる。Windows 2000同士であれば,最初のネゴシエーションで双方がKerberosを提案するため,セキュリティメカニズムにKerberosを使用して認証する。ただし,Windows 2000同士でない場合はKerberosが使用されるとは限らず,双方がサポートしているセキュリティプロバイダに応じてセキュリティトークンが交換される。これにより,セキュリティコンテキストが確立され,クライアントとサーバーとのあいだのトランザクション署名を作成する。実際にセキュアDynamic DNSを実現するには,TSIGレコードを利用してトランザクション署名を付けたUpdateパケットを送信する必要がある。TSIGレコードは,RFCドラフトである「Secret Key Transaction Signatures for DNS」で提唱されている。

 ゾーンをActive Direcotryと統合し,セキュリティで保護された更新のみを使用できるようにすると,クライアントとDNSサーバーは,List 6-7のような手順で通信を実行するようになる。

 12では,自分が更新するゾーンに対して権威を有するDNSサーバーを探索するため,SOAレコードの問い合わせを送信している。3では,Updateを実行しようとしている。しかしDNSサーバーは,セキュリティで保護されたUpdateを必要としているため,4で“Operation refused”を返している。

 このようにクライアントは,最初に通常のUpdateを試み,それに失敗するとセキュリティで保護されたUpdateを試みるようになっている。DNSサーバーとクライアントが両方ともWindows 2000であれば,双方がセキュリティメカニズムにKerberosを提案してネゴシエーションするため,56ではKDCにアクセスしている。

 717では,TKEYレコードを使用して,クライアントとサーバーがセキュリティコンテキストを確立している。14で示したパケットのDNS部分の詳細は,List 6-8のようになっている。

 List 6-71819は,実際にDynamic DNSのUpdateを送信しているパケットである。1819には,TSIGレコードが含まれている。List 6-9に,18のDNS部分の詳細を示す。

PREV 8/13 NEXT