LinuCレベル3 セキュリティスペシャリスト セキュアプロトコルによる各種機能の実装 問20
セキュアプロトコルによる各種機能の実装/DNSSECBINDで運用しているDNSSEC検証を行うフルサービスリゾルバで、www.example.jp の問い合わせがSERVFAILになる。原因がDNSSECの検証の失敗かどうかを切り分ける方法として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「セキュアプロトコルによる各種機能の実装」に対応。実際の試験問題ではありません)
- Adig +norecurse で問い合わせ、再帰を行わない問い合わせでは検証も省かれるため、応答が返れば検証の失敗と判断する
- Bdig +tcp で問い合わせ、TCPによる問い合わせでは署名の検証が省かれるため、応答が返れば検証の失敗と判断する
- Cdig +cd で問い合わせ、検証を無効にするよう求めた問い合わせで応答が返るなら、検証の失敗が原因と判断する
- Ddig +dnssec で問い合わせ、DOビットを付けると失敗の理由が返されるため、RRSIGレコードの内容で原因を判断する
正解:C
解説
dig の +cd は問い合わせにCD(Checking Disabled)ビットを立て、リゾルバに署名の検証を行わずに応答するよう求めます。通常の問い合わせがSERVFAILで、+cd を付けると応答が返る場合は、DNSSECの検証の失敗が原因だと切り分けられます。その後は delv で検証の過程を表示したり、署名の期限やDSレコードの不整合を調べたりします。+tcp や +norecurse は検証の有無を変えるオプションではありません。
選択肢ごとの解説
- A誤り。+norecurse は再帰検索を求めないだけで、キャッシュにあるものしか返りません。検証を省かせるオプションではありません。
- B誤り。+tcp は問い合わせにTCPを使うだけで、検証の有無は変わりません。
- C正しい。+cd で検証を省いた問い合わせだけが成功するなら、検証の失敗がSERVFAILの原因と判断できます。
- D誤り。+dnssec はDOビットを立てて署名のレコードを要求するもので、RRSIGに失敗の理由が記載されるわけではありません。