Skip to content

Instantly share code, notes, and snippets.

@gb-swatanabe
Created August 11, 2016 11:39
Show Gist options
  • Save gb-swatanabe/9769120c5ca088f1abd221cc4e719b71 to your computer and use it in GitHub Desktop.
Save gb-swatanabe/9769120c5ca088f1abd221cc4e719b71 to your computer and use it in GitHub Desktop.
2016.6.24

午前

BINDからの卒業

  • DoS脆弱性おおすぎ
    • でもremote code executionはない
  • 9.0.0リリースはもう16年前
  • ACLが意味をなさない(ACLを解釈する前段階で死ぬ
  • その機能を使っていなくても死ぬ(DNSSEC、DDNS
  • 外部からのpacket1発で死ぬものがある(BINDコロリ
  • 外部からのpacketが届かなくても死ぬものがある
    • 特定の名前を引く(引かされる)だけでOUT
  • RCEは無いがDoSは受ける
  • ESVにも新しいRDATA追加は行われる→追加はフラグ
  • american fuzzy lop 遺伝的アルゴリズムのfuzzingツール
  • RHELだって対応遅いものもある
  • bind-users、dns-operations
  • BIND10(->bundy)はお亡くなりになりました

Unbound

  • 脆弱性は過去4件
    • デフォルト影響なし1件
    • クラッシュ2件、リソース消費1件
  • DNStap
  • IIJで数年使っていてcrashなし
  • incoming-num-tcpのデフォルトが小さい

PowerDNS

  • DesigNet(名古屋,東京
  • Poweradmin
    • 日本語使える
  • ビルトインWebで統計情報が見れる
  • 4.0.0 beta1 2016/5/27
  • CVEはRecurserの方が多い(10件
  • 権威は3件
  • zone2sql
  • REST APIが使える(オプション
    • レコードの書き換えも可能

NSD

  • ROOTサーバで使うために開発された(BINDオルタ
  • よく使われる必要な機能だけにしぼった実装
  • cacheなし
  • Unboundと同じ開発元、だけど設計思想はかなり違う
  • これまでDoS脆弱性が3つ
  • zoneファイルをバイナリにコンパイルして使用
  • tuning
    • server-count -- CPUコア数と同じ値に
    • reuseport -- server-core >= 2で最近のLinux専用
    • tcp-count
  • ip-addressは使用するIPアドレスを必ず列挙
  • クエリログは実装なし(ドキュメントで明言されている
  • nsd-control zonestatusが便利
  • named-checkzoneは捨てるな
    • -D超便利

質疑応答

  • 相互運用性 -> 実装多様性でzoneファイルの微妙な差異をラッパスクリプトで吸収
  • 乗り換えたい理由 -> 脆弱性がいちばん
  • 他実装版のバッタ本が欲しい

viewの使い方

  • メールのMSAを国外と海外で同じ名前で別IPアドレスにしたい
  • 時歩ブロックのOEM先ごとのON/OFF

クエリログ

  • 時代はdnstap
  • 対応済み:unbound,knot
  • 計画中:nsd,poerdns

viewと権威/キャッシュ兼用問題は解決できない?

午後の部

atlas.ripe.net

逆引きDNSとその他の話題

災害時

  • TTLどうするよ
  • A、SOA
  • 権威DNS被災を考えると長めに
  • Web被災で切り替えたいと考えると短めに
  • 被災時のメンテ・アクセス許可IP・交通経路

DNS水責め

  • 真の攻撃対象は権威DNS
  • キャッシュも間接的に
  • ランダムクエリの発生源:網外が99%(botnet由来
    • 網外からに対してはIP53B効果的
  • ここ1ヶ月攻撃が止んでる
    • ぴたっと止まる = 攻撃者は1組織?
  • BIND9.9.9P1、9.10.4P1
    • fetch-per-server / fetch-per-zone

asahiネット

  • unbound 自動防御モジュール
    • 自社開発

LT]iptablesでDNSクエリ

  • iptables-ext-dns
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment