BIND のバージョンを隠す設定
BIND のバージョンを調べる方法
BIND のバージョンを調べるには、バージョンを調べたい BIND (named) が稼働しているサーバにログインし named コマンドを実行するか、BIND が稼働しているサーバにログインできない場合は dig コマンドを使うことで、BIND のバージョンを調べることができる。
BIND (named) が稼働しているサーバにログインできるのであれば、named コマンドを -v オプションを付けて実行するとバージョンが表示される。
$ named -v BIND 9.3.4-P1
BIND (named) が稼働しているサーバにログインできなくても、dig コマンドに次のようなオプションを付けて実行すると BIND のバージョンが表示できる。
$ dig @ネームサーバのアドレス chaos txt version.bind
コマンドの例と、表示される内容の例
$ dig @192.168.1.1 chaos txt version.bind ; <<>> DiG 9.3.4-P1 <<>> @192.168.1.1 chaos txt version.bind ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52347 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;version.bind. CH TXT ;; ANSWER SECTION: version.bind. 0 CH TXT "9.3.2" ;; AUTHORITY SECTION: version.bind. 0 CH NS version.bind. ;; Query time: 1 msec
ANSWER SECTION: の部分にバージョンが表示される。この例だとバージョンは 9.3.2 になる。
BIND のバージョンを隠す方法
BIND のバージョンを隠すには、named.conf の option{}; に次の行を追加し named を再起動する。
options { version "表示させたい文字列"; };
例えば、次のようにする。(version ""; のように何も書かない設定でもよし。)
options { version "Unknown"; };
実際に dig コマンドを使ってどのように表示されるか確認すると、ANSWER SECTION: に "Unknown" を表示されるのが確認できる。(version ""; とした場合は、"" と表示される。)
$ dig @192.168.1.1 chaos txt version.bind ; <<>> DiG 9.3.4-P1 <<>> @192.168.1.1 chaos txt version.bind ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12725 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;version.bind. CH TXT ;; ANSWER SECTION: version.bind. 0 CH TXT "Unknown" ;; AUTHORITY SECTION: version.bind. 0 CH NS version.bind. ;; Query time: 1 msec
Mac OS X で named を再起動/停止/起動する方法
Mac OS X の launchctl で named を再起動するには、次のようにする。
$ sudo launchctl stop org.isc.named
実際にはこんな感じだと思う。。。太字 の部分が入力するコマンド。
$ sudo launchctl launchd% list ← launchd で読み込まれているジョブの一覧を表示する com.apple.dashboard.advisory.fetch com.apple.dnbobserverd ... 略 ... org.isc.named ← named のジョブ名 org.isc.named を確認 ... 略 ... launchd% stop org.isc.named ← org.isc.named は常駐する設定になっているので stop すると再起動することになる。
なお、named を停止/起動するには launchctl コマンドを次のように使う。
- named を停止する
$ sudo launchctl unload /System/Library/LaunchDaemons/org.isc.named.plist
- named を起動する
$ sudo launchctl load /System/Library/LaunchDaemons/org.isc.named.plist
launchctl コマンドについて、詳しくは LaunchDaemons (launchctl, launchd.plist) の使い方 に書いてます。