Chapter 21. 技術系ヨモヤマ話

Table of Contents
BIND 8 での Dynamic DNS (非対称鍵)
http-analyze
Livingston Portmaster (リビングストン社製ポートマスタ)
命題: ftpd で受けたデータを二重化しつつ格納できるか?
複数のファイルに対して tail -F をする
Magicpoint のインストールと基本的な設定
kermit の例
man in the middle attack by ettercap
変形版メールサーバ: 110/tcp を開かずに POP したいな

BIND 8 での Dynamic DNS (非対称鍵)

世の中には Free の Dynamic DNS サービスもいろいろあるので、 実際に自分で bind を運用することはあまりないかもしれません。 実際、そういったサービスを利用する方が楽でしょう:) [1]

ここでは、ADSL でつながっている UNIX マシン(クライアント)と、 インターネット上にあるサーバがあるとし、 きちんと非対称鍵を使った Dynamic DNS をやってみることにします。

非対称鍵の作成

まず dnskeygen で非対称鍵を作ります。 /etc/namedb/secret というディレクトリを作り、 ここで作業することにしましょう。

% /usr/libexec/dnskeygen -z -H 128 -n ddns.nuinui.net.

Generating 128 bit HMAC-MD5 Key for ddns.nuinui.net.

Generated 128 bit Key for ddns.nuinui.net. id=0 alg=157 flags=257
ここでは HMAC で 128 bit と指定しています。 そしてキーの名前は ddns.nuinui.net です。

作られた2つのファイルは、 サフィックスが .key のものが公開鍵、.private の方が秘密鍵です。 ちなみに中身はこんな感じです。 Kddns.nuinui.net.+157+00000.key は

ddns.nuinui.net. IN KEY 257 3 157 /4lUIxhZIhEmNRQzta0Tow==
Kddns.nuinui.net.+157+00000.private は
Private-key-format: v1.2
Algorithm: 157 (HMAC)
Key: /4lUIxhZIhEmNRQzta0Tow==
のようになっています。

サーバ側で秘密鍵を持ち、 クライアントは公開鍵を使います。

サーバ側: /etc/named.conf

まずはサーバ側の設定です。 home.nuinui.net ゾーンを dynamic dns 対応にしてみます。 home.nuinui.net ゾーンの allow-update と key 命令がポイントです。

zone "home.nuinui.net" {
	type master;
	file "home.nuinui.net";
	allow-update {
		key ddns.nuinui.net;
	};
};

key ddns.nuinui.net {
	algorithm hmac-md5;
	secret /4lUIxhZIhEmNRQzta0Tow==;
};

なお、named.conf のパーミッションが root 以外でも見られるようになって いることがあります。 そういった場合は

zone "home.nuinui.net" {
	type master;
	file "home.nuinui.net";
	allow-update {
		key ddns.nuinui.net;
	};
};

include "/etc/namedb/secret/key.ddns.nuinui.net";
などとし、 /etc/namedb/secret/key.ddns.nuinui.net に
key ddns.nuinui.net {
	algorithm hmac-md5;
	secret /4lUIxhZIhEmNRQzta0Tow==;
};
と書き、 /etc/namedb/secret/key.ddns.nuinui.net のオーナは root で パーミッションを 0400 にしておくのが良いのでしょう。

クライアント側: nsupdate で DNS を更新する

サーバの情報更新には nsupdate コマンドを使います。

% nsupdate -d -k /etc/namedb/secret:ddns.nuinui.net.
> update delete rudo.home.nuinui.net A
> update add    rudo.home.nuinui.net 60 A 10.0.0.1
> (空行)
最後の空行がないと実行されないことに注意してください。 実際には 10.0.0.1 の部分は ADSL のグローバルなアドレスなどになります。

nsupdate について詳しくはマニュアルを参照して下さい。

Notes

[1]

そういったサービスは WWW でサーチすればいろいろ出てくるので、省略します:)

my homepage is www.fml.org/home/fukachan/.
my free softwares are found at www.fml.org/software/.
fml 4.0 project homepage is www.fml.org/fml/menu.ja.html.
fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml8/.
about one floppy bsd routers, see www.bsdrouter.org/.
my laboratory will be nsrg.fml.org (under preparation).
Also, visit nuinui's world :) at www.nuinui.net.
For questions about me, e-mail <fukachan@fml.org>.
Copyright (C) 1993-2008 Ken'ichi Fukamachi

Powered by NetBSD.