ITエンジニアが仕事に対して思うこと

ITエンジニアとして働く中で感じたことを、現場の温度感そのままに言語化するブログです。設計・実装・運用のリアル、学び続ける負荷、品質とスピードのせめぎ合い、コミュニケーションの難しさなど、きれいごとだけでは語れない「仕事の実態」を整理します。誰かを責めるのではなく、なぜそうなるのかを構造で捉え、明日から少し楽に、少し強く働ける視点を提供します。新人から中堅、マネジメントまで参考に。

情報処理安全確保支援士試験 令和3年春午後1問2の問題解説

全体像(舞台設定)

  • A社は中規模(従業員500名)。ネットワークは図1・表1で示され、社外に公開Web、社内に業務・内部Web・内部DNS、DMZに公開系を配置。外部DNSサーバは「権威DNS」兼「フルサービスリゾルバ(再帰解決)」として使われています(ここが重要な伏線)。

  • ブラウザの名前解決はプロキシが外部DNSへ投げる設定。加えて、プロキシとメールサーバが“フルリゾルバ”としても動作します。DNSソフトはOSSの“Dソフト”。

  • FWルール(表2)では、外部DNSサーバ⇄インターネットのDNSが双方向で許可(項番5・6)。最後はデフォルト拒否。

まず「リスク整理」と「基本設計変更」の筋

ニュースを受けて、M主任がDNSのリスクと対策を検討。とくに“外部DNSサーバ”が狙われやすいので、機能分割(権威DNSとフルリゾルバを分離)とFW見直しを提案する流れです。

リスク1:踏み台(反射型DoSに使われる)

  • 送信元IPを偽装したDNS問い合わせを外部DNSへ送られると、第三者へ大量パケットを反射できてしまう、という典型的な「DNSリフレクション」問題。

  • 対策案:外部DNSを廃止し、DMZに権威DNS(DNS-K)とフルリゾルバ(DNS-F)を新設。合わせてFWを「DNS-F→インターネットの問い合わせ」「インターネット→DNS-Kへの問い合わせ」だけ通す形に変更(表3のa,bにそれぞれDNS-F/DNS-Kが入る想定)。これで“外向き再帰”や“外部からリゾルバ利用”を遮断できます。

リスク2:DNSキャッシュポイズニング(リソースレコード改ざん)

  • フルリゾルバのキャッシュが汚染されると、たとえば「mailホストのAレコードのIP」を攻撃者のサーバに書き換えられ、メールが攻撃者へ流れる可能性。本文中“c レコードのIPアドレス”とあるのは実質Aレコード(mailのIP)を指します。

  • 対策は3本立て(全部本文に出てきます):
    ① 上の機能分割+FW変更の流用(外部からリゾルバを使わせない)
    ② 送信元ポート番号のランダム化(取れる取れないの“推測”を困難にする)
    ③ DNSSEC(署名で送信者正当性と完全性を検証:鍵管理など運用負荷は増える)

リスク3:中間者攻撃によるDNS盗聴・改ざん

  • DNS over TLS(DoT)で“スタブリゾルバ↔フルサービスリゾルバ”間のDNS通信を暗号化する、が本文のポイント。どの区間を暗号化するのかが問われます。

設計案(ホスティング活用)の読み方

外部DNSに関する“その他のリスク”対策として、ホスティング上にDNSを置く2案を比較します。

案1:プライマリ権威は社内DMZのDNS-K、セカンダリ権威はX社のDNS-S、再帰はDNS-F(DMZ)

  • 目的:権威DNSの冗長化=単一障害点の低減。プライマリが止まってもセカンダリが引き継げる構成になります(本文の「下線③」で問うリスク低減の中身)。

  • ゾーン同期(転送)に伴う“情報流出リスク”は、転送許可を最小化するACLで抑える(表4)。許可/拒否を正しく読み取る問題が出ます。

  • 図2(正引きゾーン抜粋)の読み方:NSレコードに“プライマリ(dns-k)”と“セカンダリ(dns-s.x-sha.co.jp)”を並記、MXは“mail.a-sha.co.jp”。X社側のゾーン名(x-sha.co.jp)やセカンダリのホスト名(dns-s)という条件に沿って字句を選びます。

案2:権威(DNS-HK/DNS-S)も再帰(DNS-HF)もホスティング側に集約

  • DMZにDNS-K/DNS-Fは置かない。FW(表5)は“社内からホスティングの再帰DNS(DNS-HF)へDNSを通す”のと“インターネットからホスティング上のセカンダリ権威(DNS-S)へDNSを通す”の2本が肝。社内でDNSを引く主体は“プロキシとメールサーバ”(=スタブではなく自前で再帰する側)なので、その2台→DNS-HFを許可するのが読み筋です。

設問ごとの「何を聞かれていて、どこを拾うか」

(公式解答の写しではなく“拾い方”にフォーカスします)

  • 設問1(1)
    何を:外部DNSが止まった影響(A社“公開Web”への影響)。
    拾う:外部DNSが“権威”も持っている点を押さえ、名前解決不可=公開Webへの到達に影響が出る、を30字で。

  • 設問1(2)
    何を:送信元IP偽装で踏み台にする攻撃名。
    拾う:本文の“踏み台DoS”の典型=DNSリフレクション。

  • 設問1(3)
    何を:表3のa,b(誰から誰へDNSを通す?)
    拾う:リゾルバ(DNS-F)→外部、外部→権威(DNS-K)という役割分担を図示どおりに当てる。

  • 設問1(4)
    何を:メールサーバの“c レコード”のタイプ。
    拾う:IPが書き換わるのはAレコード。本文の“mailのIP”という文脈から導く。

  • 設問1(5)
    何を:送信元ポート“d”の対策名。
    拾う:キャッシュポイズニング対策の基本=ランダム化。

  • 設問1(6)
    何を:署名で正当性/完全性検証する“e”の技術名。
    拾う:DNSSEC(運用で鍵管理が要る点も本文あり)。

  • 設問1(7)
    何を:DoTが暗号化する“f–g”の通信区間。
    拾う:スタブリゾルバ↔フルサービスリゾルバ。

  • 設問2(1)
    何を:下線③(プライマリ=DNS-K、セカンダリ=DNS-S)で“何のリスク”が下がる?
    拾う:権威DNSの停止リスク(単一障害点)低減。

  • 設問2(2)
    何を:図2のh(NSの相手)・i(MXのホスト)。
    拾う:hはセカンダリのFQDN(dns-s.x-sha.co.jp.)、iはmail.a-sha.co.jp. をMXで指す。本文の前提文(x-sha.co.jp/dns-s)も必読。

  • 設問2(3)
    何を:表4のゾーン転送ACL(j〜m)
    拾う:DNS-K↔DNS-S間のみ“許可”、それ以外は“拒否”で最小化。

  • 設問2(4)
    何を:表5のn,p,o(誰がどこへDNS?)
    拾う:社内の“プロキシ/メール”→ホスティングの再帰(DNS-HF)を許可、外部→権威(DNS-S)も許可という2本柱。

用語メモ(本文で区別が肝)

  • 権威DNS:自ドメインの“正解”を持つサーバ(ゾーンファイルの原本)。

  • フルサービスリゾルバ:再帰解決を行う“DNSの案内人”。本文ではプロキシ/メールが利用。

  • スタブリゾルバ:PCやOSに入っている“簡易な問い合わせ役”。

  • DNSリフレクション:偽装元で第三者へ反射・増幅させるDoS。

  • キャッシュポイズニング:フルリゾルバのキャッシュ改ざん。

  • DNSSEC:署名で正当性と完全性を検証(鍵管理の運用が要る)。

  • DoT:スタブ↔フルのDNS通信をTLSで暗号化。