• 検索結果がありません。

73 73 73 73

Dec/16/2002

Copyright(C) 2002 Koh-ichi Ito, All rights, reserved, 145

allow-query に関する失敗例

makanai makanai makanai

makanai.don.gr. .don.gr. .don.gr. .don.gr.jp jp jp jpゾーン

ゾーンゾーンゾーン

((((allow allow allow allow- -- -query query query queryで制限

で制限で制限で制限))))

makanai

makanai makanai

makanai.don.gr. .don.gr. .don.gr. .don.gr.jp jp jp jp....ゾーン

ゾーンゾーンゾーン

((((allow allow allow allow- -- -query query query設定漏れ query

設定漏れ設定漏れ))))設定漏れ

slave slave slave slave

cache cache cache cache

query query query queryを

をallow

allow allow allow don.gr.

don.gr. don.gr.

don.gr.jp jp jpの jp

authority

authority

authority

authority

74 74 74 74

Dec/16/2002

Copyright(C) 2002 Koh-ichi Ito, All rights, reserved, 147

allow-transfer( 続き )

• 自分にも許可しておかないと動作確認する ときに不便。

– localhostというaclが組み込みで定義されている。

• lo0だけでなく、自分のインターフェースに振られてい

るアドレス全部。

と書いてあるが、v6アドレスは含まれないらしい。

• Brute Force には無力だがエレガントなアタッ クを試みる輩には提供しているサービスな どのヒントを与えてしまう。

– slave

でも適切に設定。

Dec/16/2002

Copyright(C) 2002 Koh-ichi Ito, All rights, reserved, 148

allow-transfer( 続き )

• 小さなコマンドで大きな仕事をさせられる。

– DoS

アタックのツールとしては有効。

• 通常の query でも datagram に乗り切らないと TCP に fallback するので、 TCP コネクション 自体を拒否するわけではない。

– SYN flood

予防にはならない。

• 関連

– options{transfers-out N;};

同時に受け付けるゾーン転送の本数の上限。

– options{tcp-clients N;};

同時に受け付けるTCPコネクションの本数の上限。

75 75 75 75

Dec/16/2002

Copyright(C) 2002 Koh-ichi Ito, All rights, reserved, 149

recursion,allow-recursion

• recursive query のアクセス制限。

いずれも

options{}

で指定。

– recursionはyes/no。

– allow-recursion

は範囲を指定して許可。

• recursive query は原理的に non-recursive query より重い。

不正使用は拒否。

• (RFC1035 でいう )resolver としては機能しな くなる。

Dec/16/2002

Copyright(C) 2002 Koh-ichi Ito, All rights, reserved, 150

アクセス制限

• そのネームサーバの役割を明確にする。

– (RFC1035

でいう

)resolver

?

サービスを提供すべき範囲は?

何かのゾーンの

authority

?

76 76 76 76

Dec/16/2002

Copyright(C) 2002 Koh-ichi Ito, All rights, reserved, 151

アクセス制限 ( 続き )

• resolver

正当な範囲だけに

allow-recursion

すればいい。

• allow-queryという意見もある。

• authority

– recursion offでよい。

– localhost.

とその逆索きはサービス不要。

各ゾーンは

slave

だけに

allow-transfer

Dec/16/2002

Copyright(C) 2002 Koh-ichi Ito, All rights, reserved, 152

Advanced topics

77 77 77 77

Dec/16/2002

Copyright(C) 2002 Koh-ichi Ito, All rights, reserved, 153

ログの監査

• ログにはさまざまな情報が出ている。

ちゃんと見ることは重要。

• でもあまり量が多いと、ちゃんと見るのも大変。

重要なメッセージが埋もれてしまう。

• その解決策を根性論に立脚した肉体労働に 見出すのは不毛。

せっかく計算機を使ってるんだから

Dec/16/2002

Copyright(C) 2002 Koh-ichi Ito, All rights, reserved, 154

ログの監査 ( 続き )

• なぜ量が多くなるか ?

同じ内容のメッセージが繰り返し出ている。

正常動作の報告が出ている。

• ではどうする ?

– severity

は必要に応じて調整。

– null

を活用。

サマリーを作成してメールでレポート。

不審な点は生ログをチェック。

もっとリアルタイムな監視は矢萩さんのチュートリア ルで:-)

78 78 78 78

Dec/16/2002

Copyright(C) 2002 Koh-ichi Ito, All rights, reserved, 155

ログの監査 ( 続き )

• サマリーの作成

#!/usr/bin/perl(sed

でも

ruby

でも

…) –

タイムスタンプを削除。

– pid

を削除。

• file

で採取するとつかないが、

syslog

経由だとつく。

– active open

側ソケットのポート番号を削除。

正常動作に関するメッセージを削除。

| sort | uniq | mail

• これでいわゆる「 S/N 比」 (signal/noise) は向 上する。

Dec/16/2002

Copyright(C) 2002 Koh-ichi Ito, All rights, reserved, 156

dnswalk

• 正索き / 逆索きの整合性や文字セットなどを チェックするツール。

• http://www.visi.com/~barr/dnswalk/

• perl スクリプト。

– Net::DNS

モジュールが必要。

• 今のところ v6 はサポートしていない。

• cron で実行し、ログのサマリーと一緒にメー

ルすると便利。

不可避な警告やエラーが出るなら、前日の結 果とdiffを取ると抑制できる。

79 79 79 79

Dec/16/2002

Copyright(C) 2002 Koh-ichi Ito, All rights, reserved, 157

大規模ネームサーバ構築 tips

• 多くのゾーンをサービスするネームサーバ –

必然的に取り扱うファイルも増える。

ゾーンファイル

zone “don.gr.jp” IN {

file “slave/reg/d/don.gr.jp”;

: };

ゾーン名でハッシュ。

“ja/gr/don.gr.jp”は多分、愚か。

– 1ディレクトリに存在するファイルを減らすことにより namei()が高速化され、namedの起動が速くなる、かどう

かは知らない

:-)

人間の視認性は向上。

Dec/16/2002

Copyright(C) 2002 Koh-ichi Ito, All rights, reserved, 158

大規模ネームサーバ構築 tips( 続き )

– named.conf

も大きくなる。

include “conf/slave/reg”

include “conf/slave/v4inv”

include “conf/slave/v6inv”

• 1ファイルの寸法を小さく留める。

編集時の扱いやすさ。

ロバスト性向上にも貢献。

80 80 80 80

Dec/16/2002

Copyright(C) 2002 Koh-ichi Ito, All rights, reserved, 159

ロバスト性の向上

• 目指すこと

壊れにくいように。

壊れちゃったらすばやく直せるように。

Dec/16/2002

Copyright(C) 2002 Koh-ichi Ito, All rights, reserved, 160

ロバスト性の向上 ( 続き )

• ファイルの分類

取り返し

/

あきらめがつくファイル

v.s.

つかない ファイル。

ログ

なくても動作する。

• slaveのdumpファイル

建前はmasterから取って来れば復活するはず。

»

ところがmasterが既にダメになっていることも…(^^;。

• masterのゾーンファイル

• configファイル

がーん

;_;

81 81 81 81

Dec/16/2002

Copyright(C) 2002 Koh-ichi Ito, All rights, reserved, 161

ロバスト性の向上 ( 続き )

アクセスの激しいファイル

ログ

– named関連のファイルでは一番アクセスが激しいのでは?

• slaveのdumpファイル

知らないうちに更新される。

• masterのゾーンファイル

• configファイル

設定変更や再起動時ぐらい。

アクセスが激しければ、その分、ディスクの負担も 大きい。

Dec/16/2002

Copyright(C) 2002 Koh-ichi Ito, All rights, reserved, 162

ロバスト性の向上 ( 続き )

• 取り返し / あきらめがつく / つかない

• アクセスの激しさ –

分類の結果は一致。

• /var をわける。

– /,swap,

おしまい、はダメ。

クラッシュ時の被害範囲の局所化。

危険要素の閉じ込め。

• ログは普通 /var の下。

• slave の dump ファイルは /var の下に配置。

82 82 82 82

Dec/16/2002

Copyright(C) 2002 Koh-ichi Ito, All rights, reserved, 163

設定ファイルの履歴管理

• メリット

不思議な設定に出会ったときの手がかり。

編集ミスで壊したときの復旧の種。

設定ミスの影響範囲の同定。

返金沙汰になったときに、誰の給料を天引きす ればいいか。

• デメリット

まぁ面倒といえば面倒だが…

Dec/16/2002

Copyright(C) 2002 Koh-ichi Ito, All rights, reserved, 164

設定ファイルの履歴管理 ( 続き )

• RCS で管理。

• SCCS に愛があれば SCCS でもよい。

• 極めて個人的見解だが、 CVS はちょっと … –

設定ファイルはソースと異なり排他制御も重

要な要素。

• CVS

もロックを有効にする設定あり。

– 1

つのレポジトリを複数箇所に

checkout

できる。

• namedが参照しているリビジョンとレポジトリの内容

が不一致だと困る。

83 83 83 83

Dec/16/2002

Copyright(C) 2002 Koh-ichi Ito, All rights, reserved, 165

関連したドキュメント