#osctk18 「オープンソースソフトウェアで構築する安全で便利なDNSサーバ (PowerDNS, dnsdist, Unbound)」まとめ

3
Yoshikazu GOTO @goto_ipv6

「オープンソースソフトウェアで構築する安全で便利なDNSサーバ (PowerDNS, dnsdist, Unbound)」です。 #osc18tk

2018-02-24 11:00:04
Yoshikazu GOTO @goto_ipv6

大野さん:みなさん、BIND を使っています? #osc18tk

2018-02-24 11:02:12
Yoshikazu GOTO @goto_ipv6

大野さん:BINDで困っていませんか?DNSサーバー、他にもありますよ。 #osc18tk

2018-02-24 11:02:23
Yoshikazu GOTO @goto_ipv6

大野さん:PowerDNSは権威サーバー、UnboundはキャッシュDNSサーバー、dnsdistはポリシールーティングとか。負荷分散に。 #osc18tk

2018-02-24 11:02:55
Yoshikazu GOTO @goto_ipv6

大野さん:PowerDNS: ・オープンソースのDNSサーバー ・権威サーバーと、キャッシュDNSサーバー ・機能ごとに別々のプロセスで ・歴史 →1999年に発足 →2002年にOSSとしてリリース →2005年ころからユーザーが増え始めたそう #osc18tk

2018-02-24 11:03:58
Yoshikazu GOTO @goto_ipv6

大野さん: ・Authoritative Server:4.1.1 ・Recursor:4.1.1 ・これらは別々にバージョンアップされているが、現時点では揃っている #osc18tk

2018-02-24 11:04:34
Yoshikazu GOTO @goto_ipv6

大野さん:特徴: ・バックエンドは色々使える →データベース →LDAP, BIND形式ゾーンファイル、MyDNS、TinyDNSなどの形式も ・DNSSECサポート →簡単に初期設定できる →ゾーン情報の再署名が自動化できる #osc18tk

2018-02-24 11:06:00
Yoshikazu GOTO @goto_ipv6

大野さん: ・ウェブサーバーと API →Webは統計情報を参照するため →REST APIで設定情報を取得したり統計情報を取得したり ・周辺ソフトウェア →Powerradmin →colleced →phpIPAM #osc18tk

2018-02-24 11:07:10
Yoshikazu GOTO @goto_ipv6

大野さん:DNSSEC設定: ・pdnsutill コマンドを使う →pdnsutil secure-zone example.com で終わり ・DSレコードは →pdnsutil show-zone example.com #osc18tk

2018-02-24 11:08:41
Yoshikazu GOTO @goto_ipv6

大野さん:DNSSEC再署名の自動化: ・オンライン署名モード(Live signing mode) ・RRSIGレコードで配信する署名がオンラインで計算される →署名はキャッシュされて再利用可能 ・RRSIGの有効期限は3週間 →上手に重なっていくので期限が切れない #osc18tk

2018-02-24 11:10:48
Yoshikazu GOTO @goto_ipv6

大野さん:ウェブインターフェースによる統計情報の参照: ・上の方には、存在するレコードがないもののタイプ一覧とか ・クエリーの数とか →存在しないドメインのクエリーが増えた?とか ・キャッシュヒット率とか #osc18tk

2018-02-24 11:12:12
Yoshikazu GOTO @goto_ipv6

大野さん:API: ・REST ・ゾーン情報の取得 ・統計情報の取得 ・などなど #osc18tk

2018-02-24 11:12:52
Yoshikazu GOTO @goto_ipv6

大野さん:Unbound: ・オープンソースのキャッシュDNSサーバ ・DNSキャッシュ汚染による攻撃に強い ・高速 ・DNSSEC対応 ・Red Hat Enterprise Linuxに採用 ・注目する機能 →ratelimit機能 #osc18tk

2018-02-24 11:14:15
Yoshikazu GOTO @goto_ipv6

大野さん:ratelimit機能: ・ゾーンごとのQPSの情報をもとに流量の制限を行う機能 ・Unbound 1.5.4 から利用可能 ・DNSへの水責め攻撃やランダムサブドメイン攻撃の被害を防止できる #osc18tk

2018-02-24 11:15:30
Yoshikazu GOTO @goto_ipv6

大野さん:効果: ・ランダムサブドメイン攻撃により Unboundが高負荷に →対策後は、流量制限により SERVFAIL を返すことができるように #osc18tk

2018-02-24 11:17:38
Yoshikazu GOTO @goto_ipv6

大野さん:dnsdistとは?: ・オープンソースのDNS負荷分散サーバー ・様々なルールに従ったDNSルーティングが可能に ・複数のDNSサーバーにDNSリクエストを分散 ・流量制限 #osc18tk

2018-02-24 11:18:36
Yoshikazu GOTO @goto_ipv6

大野さん:負荷分散: ・dnsdistが受けて、バックエンドのDNSサーバーに分散 ・死活監視を行っているので、止まったサーバーにリクエストを流さない #osc18tk

2018-02-24 11:19:29
Yoshikazu GOTO @goto_ipv6

大野さん:BINDからのリプレース: ・BINDは権威とキャッシュを同じように受け付ける →一つのIPアドレス、一つのポートで ・BINDをやめたいときに困る →dnsdistが、問い合わせ内容に応じて、権威サーバーとキャッシュDNSサーバーとに振り分ける #osc18tk

2018-02-24 11:20:52
Yoshikazu GOTO @goto_ipv6

大野さん:これを間に入れたら、PowerDNSとUnboundを使った構成にリプレースすることもできるように #osc18tk

2018-02-24 11:21:46
Yoshikazu GOTO @goto_ipv6

大野さん:もう一つの例: ・RDフラグを見て振り分ける ・ONの場合は Unboud に、Offの場合は PowerDNS に #osc18tk

2018-02-24 11:22:26
Yoshikazu GOTO @goto_ipv6

大野さん:dnsdistウェブサーバー: ・統計情報の参照 #osc18tk

2018-02-24 11:23:31
Yoshikazu GOTO @goto_ipv6

大野さん:Poweradmin: ・PowerDNSの管理Web UI →DNSゾーン/レコード管理 →ユーザー管理 #osc18tk

2018-02-24 11:24:12
Yoshikazu GOTO @goto_ipv6

大野さん:collectdとは?: ・サーバーの統計情報を収集 ・定期的に収集してDBに保存 ・自分で自分の統計情報を取って自分で保存するようなイメージ ・Web I/Fで表示できる ・プラグインはすごくたくさんある #osc18tk

2018-02-24 11:27:09