■キーワード理解
DNSキャッシュポイズニング
DNS社ッシュサーバに偽の情報(ポイズン/毒)を送り込む。
DNSリフレクタ攻撃(DNSリフレクション、DNSアンプ)
DNS問い合わせの送信元を偽装しDNSサーバの応答を攻撃対象に送りつける攻撃(DDoS攻撃。応答先を攻撃対象にする点はsmurf攻撃と同じ。)
DNSリフレクション
smurf攻撃
https://jprs.jp/glossary/index.php?ID=0171
https://www.ipa.go.jp/security/ciadr/crword.html
smurf攻撃はICMP使う、DNSリフレクタ攻撃はDNS使う程度におさえておこう。(もっと違いがあるかもしれないけど。)
DDoS攻撃の方が踏み台サーバを使っている分、DoS攻撃より卑怯感あるな……。
UDP53番ポート
DNSの問い合わせ、応答に使われるポート
TCP53番ポート
DNSのゾーン転送に使われるポート
(参考サイト)
http://atnetwork.info/tcpip2/tcpip219.html
ICMP
参考サイトによるとTCPやUDPの補助的なプロトコルらしい。OSI参照モデルだけで考えていたから間違ってしまった。(補助的といいつつ、TCP/UDPと同じ位置づけというのが何とも……。)
(参考サイト)
https://www.atmarkit.co.jp/ait/articles/0306/13/news002.html
https://sbbit.jp/article/cont1/12099
ゾーン転送
ゾーンは名前解決の守備範囲。ゾーン転送はゾーン情報を送ること。(世代的に加茂ジャパンのゾーンプレスを連想してしまう……。)
ゾーン
(参考サイト)
https://jprs.jp/glossary/index.php?ID=0142
https://jprs.jp/glossary/index.php?ID=0170
ちなみに名前解決要求はスピード重視なのでUDP、ゾーン転送は信頼性重視なのでTCP
UDPは一方的に送りつけるから早い。
(名前解決できないと通信が始まらないから困らない (´·ω·`)??。名前解決に時間がかかるのも困るけど。)
(参考サイト)
https://hldc.co.jp/blog/2019/07/11/2819/
TCPフォールバック
古いDNSサーバからの応答パケットのサイズが大きい場合、TCPに切り替えて問い合わせする方式。
アドレススキャン
どんなサーバが動作しているかIPアドレスを調査する。(ポートスキャンはよく聞くけどアドレススキャンは聞きなじみなかった……。)
(参考サイト)
https://xtech.nikkei.com/it/article/COLUMN/20061108/253024/
uRPF(Unicast Reverse Path Forwarding)
送信元がルーティングテーブルに存在しない場合、ルーターで受信したパケットを破棄する。(送信元IPアドレスが宛先IPだった場合ルーティングテーブルに情報があるかを見ているのかな?)
(参考サイト)
https://www.infraexpert.com/study/aclz22.html
確認応答番号(ACK)
Acknowledgement(承認)。通信相手に次のシーケンス番号を伝える番号。3ウェイハンドシェイクの場合は「受信したシーケンス番号+1」。そのあとは「受信したシーケンス番号+受信したデータサイズ」。
ちなみに、TCPヘッダにもつ番号は4つ。
- 「宛先ポート番号」
- 「送信元ポート番号」
- 「シーケンス番号」
- 「確認応答番号」
(参考サイト)
https://www.infraexpert.com/study/tcpip8.html
https://www.infraexpert.com/study/tcpip9.html
DNSサーバの種類
- DNSキャッシュサーバ(フルリゾルバサーバ):ドメイン名とIPアドレスの対応をゾーンで管理する。
- DNSコンテンツサーバ(権威DNSサーバ):ドメイン名とIPアドレスの対応の問い合わせを行い、その結果をキャッシュする。
DNSサーバ、色んな言い方がありすぎて混乱するじゃないか……。
再帰問い合わせとたいそうな名前ついているけど、要はIPアドレス教えてとキャッシュサーバに問い合わせているだけじゃないのか (´·ω·`)?
(参考サイト)
https://www.infraexpert.com/study/tcpip24.html
■解答テクニック、注意点
名前解決は通信したい筐体がする必要がある
この問題では、インターネット接続はすべてプロキシサーバー経由になっている(ほとんどの問題がインターネットに出るときはたいていプロキシ経由か……)。
そのため、プロキシサーバーが接続先の名前解決できないといけない(クライアントPCじゃないよ!)。
自社ネットワークの外にメールを送る役目のメール中継サーバも同様に名前解決できないといけない。
踏み台攻撃を防ぐ方法
- FW(ファイアウォール)でインターネットからの通信を防ぐ。
- インターネットからインターネットのメール中継をしない。
上記以外も多分あるだろうけど、要は外からの不要な通信をどう防いでいるかが読み解ければ解けた問題。
問題がどこのことを聞いているか確認する
④FPサーバについては、FWの設定で防止できています。
直前のN主任のDMZサーバが踏み台攻撃に使われる可能性がないかを聞かれていたので、それを踏まえた解答をしないといけない。
問題要求通りに見逃さずに回答する
⑦外部DNSサーバの構成変更によって、インターネットからのDNSサーバ2へのキャッシュポイズニング攻撃は防げると判断した
フルリゾルバサーバの送信元ポートをランダムに設定した事が攻撃対策と勘違いしてしまった……。
構成変更によってフルリゾルバサーバとコンテンツサーバが分かれたことで、インターネットからフルリゾルバサーバにアクセスできないようにした事が対策だった。
HTTPパケットは名前解決後に宛先へ送信される
答えを見ると当たり前のように感じてしまうが、よくわかっていなかった箇所。
この問題ではプロキシサーバーを経由しない場合、内部DNSへの名前解決要求が外部DNSサーバ1(コンテンツサーバ)に転送されても、外部DNSサーバ1にC&Cサーバの情報はないからそこで通信失敗ことが問われた箇所。
1つ1つは基本的な知識だけど、長文問題のどの部分が大事かが分からないと午後Ⅱは難しいなあ……。