2012/11/20

OS X 10.8.2 で、同梱されている bind を使う方法

我が家ではホームネットワーク用のネームサーバを稼働させています。主な目的は、ホームネットワーク内機器用A/PTRの提供と、Internet用のキャッシュサーバです。

今まではFreeBSD上のbindを使っていましたが、今回OS X 10.8.2付属のbindへ切り替えることにしました。

OS X 10.8.2付属のbindは9.8.3-P1です。これはBIND Vulnerability Matrixなどでも確認出来るように、脆弱性が発見されているバージョンであり、Internetへ情報提供するために用いるのは避けたほうが良いでしょう。

namedコマンドは/usr/sbinへ格納されており、設定ファイルは/etc/named.confを参照するようにbuildされています。予め準備されている/etc/named.confへは、directoryディレクティブとして/var/namedが指定されており、各種情報ファイルはこのディレクトリへ格納するようになっています。

このnamed.confでは/etc/rndc.keyをincludeするよう設定されているため、named起動前に/etc/rndc.keyを生成しなければなりません。また、2012/11/20現在root serverのzoneファイルが最新ではないため、Internet用名前解決サーバとしても利用する場合には、/var/named/named.caを更新すると良いでしょう。

これらの手順は「Mac OS X で DNS サーバを構築する」でまとめてくださっており参考になります。具体的には次のコマンドでこれらの作業を行うことが可能です。

$ sudo rndc-confgen -a
$ sudo curl -o /var/named/named.ca ftp://ftp.rs.internic.net/domain/named.root

OS起動時、bindを自動起動するためには、launchdへ登録を行います。予め/System/Library/LaunchDaemons/org.isc.named.plistへ設定ファイルが用意されているため、それを使うと便利です。但し、Disabledディレクティブがtrueに設定されているため、launchctlのloadコマンドへ-wオプションを指定する必要があります。

$ sudo launchctl load -w /System/Library/LaunchDaemons/org.isc.named.plist

なお以前のMac OS X 10.5以前と異なり、-wオプションを付加しても、plistファイル内のDisabledディレクティブ値は変更されません(man 1 launchctl参照)。

さて、namedは比較的攻撃を受けやすいプロセスであり、何らかの保護環境下で動作させることが望ましいとされています。FreeBSDのbindは、chroot環境で実行する手段が用意されていましたが、OS Xでは、sandbox下で実行する手段が用意されています。OS Xのsandboxはプロセスがアクセス可能なリソースを制限する手法です。

namedをsandbox配下で実行させるには、/System/Library/LaunchDaemons/org.isc.named.plist内にある、下段のコメントを外します。具体的には、以下を取り囲んでいる<!--と-->を取り除きます。

<!--
                /usr/bin/sandbox-exec
                -f
                /usr/share/sandbox/named.sb
-->

但し、ここでprofileとして指定されている/usr/share/sandbox/named.sbファイルは、実際のnamedの動作を踏まえてない為、正しくnamedを実行させることができません。この為、このファイルを以下に差し替えましょう。


これによりnamedをsandbox環境下で動作させることができるようになります。named.confなどを変更している場合には、sandbox-simplifyなどを使い、適宜リソースを調整すると分かりやすいと思います。

2012/11/19

Kindle Paperwhiteレビュー

Kindle Paperwhiteが届きました。Wi-Fiモデルです。


外箱はAmazon Kindle第3世代より一回り小さめ。角が斜めに落ちた形状です。



梱包物は、他のKindleの同様にシンプル。本体と、ケーブル、2冊の薄いマニュアルです。



マニュアルは日本語のページが用意されています。


iPad mini、Nexus7、Kindle Paperwhiteの大きさ比較。


iPad miniの画面サイズとKindle Paperwhiteの本体サイズが同じくらいです。


Kindle Paperwhiteの特徴はE-Paperでありながら、明るい視認性です。また内蔵ライトを備えているので、暗闇でも読むことが可能です。

明るい中でのKindle第3世代との比較。経年劣化を考慮しても視認性が大きく違います。


暗闇の中でのKindle第3世代との比較。この暗さではKindle第3世代は読むことができません。


暗闇の中でのiPad mini、Nexus7、Kindle Paperwthiteの比較。同じように読むことができます。


Kindle Paperwhiteの重量は207g。iPod miniの重量は312g。実際に持った感じもKindleの軽さを十分に感じることができます。




公式レザーカバーは、背面を包むしっかりしたものであり、自動電源オン・オフ機能を備えた便利なものではありますが、反面、重量もそれなりにあります。



Kindle Paperwhiteへ公式カバーをつけた重量、338g。


iPod miniへスマートカバーをつけた重量、379g。


この重量差では、持った感じも、あまり差を感じられなくなります。

もしKindle Papaerwhiteを軽さで選ばれる場合には、ケースの重量も検討されたほうが良いでしょう。一方、全体へ圧力を逃し、ディスプレイ面をしっかりと保護してくれるケースが欲しい、などの場合にはお薦めだと思います。カラーも7色から選択可能です。

AmazonではKindle向けの品揃えも日々増えつつあります。そうした点からも、Kindle Paperwhiteは電子書籍用端末としてお薦めだと思います。