検索

カレンダー

2009年3月
« 2月   4月 »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

広告

ブログランキング・にほんブログ村へ
にほんブログ村

東電電力供給情報

カテゴリー

最近のコメント

リンク

自宅サーバー再構築 その12 CentOS 5.2 にDNSサーバーを導入して名前解決(確認編)

投稿者:yasu 更新日時:2009年3月27日 8時43分00秒
カテゴリbind, CentOS, Linux, 自宅サーバー

今回は外部公開まで完了したDNSサーバーの動作確認や脆弱性の確認を行っていきたいと思います。

名前解決を確認する

設定が完了したので名前解決の確認を行ってみます。

まずローカルネットワークから確認しますので、各クライアントの参照するDNSサーバーのアドレスを192.168.0.20に変更します。

Windowsで確認する場合、コマンドプロンプトから確認します。

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:Documents and SettingsAdministrator>nslookup
Default Server: sa-sa-ki.jp
Address: 192.168.0.20←参照しているDNSサーバーのアドレスが192.168.0.20になっていること

正引きの確認
>winxp.sa-sa-ki.jp
Default Server: sa-sa-ki.jp
Address: 192.168.0.20

Name: winxp.sa-sa-ki.jp
Address: 192.168.0.101←正しいアドレスが返ってきている

逆引きの確認
>192.168.0.103

Default Server: sa-sa-ki.jp
Address: 192.168.0.20

Name: leopard←正しいホスト名が返ってきている
Address: 192.168.0.103

MacやUbuntuなどLinuxまたはUnixで確認する場合、ターミナルや端末を起動します。
※ここではubuntuで確認した結果を記載します。

正引きの確認
ubuntu@ubuntu:~$ dig winvista
; < <>> DiG 9.5.0-P2 < <>> winvista.sa-sa-ki.jp
;; global options: printcmd
;; Got answer:
;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 1119
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;winvista.sa-sa-ki.jp. IN A

;; ANSWER SECTION:
winvista.sa-sa-ki.jp. 86400 IN A 192.168.0.102←正しいアドレスが返ってきている

;; AUTHORITY SECTION:
sa-sa-ki.jp. 86400 IN NS ns.sa-sa-ki.jp.

;; Query time: 4 msec
;; SERVER: 192.168.0.20#53(192.168.0.20)
;; WHEN: Tue Mar 24 23:05:36 2009
;; MSG SIZE rcvd: 69

逆引きの確認
ubuntu@ubuntu:~$ dig -x 192.168.0.104

; < <>> DiG 9.5.0-P2 < <>> -x 192.168.0.104
;; global options: printcmd
;; Got answer:
;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 28966
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;104.0.168.192.in-addr.arpa. IN PTR

;; ANSWER SECTION:
104.0.168.192.in-addr.arpa. 86400 IN PTR ubuntu.←正しいホスト名が返ってきている

;; AUTHORITY SECTION:
0.168.192.in-addr.arpa. 86400 IN NS ns.sa-sa-ki.jp.

;; Query time: 12 msec
;; SERVER: 192.168.0.20#53(192.168.0.20)
;; WHEN: Tue Mar 24 23:10:47 2009
;; MSG SIZE rcvd: 91

続いて外部から確認します。
ローカルネットワーク以外のネットワークで試してください。(学校、職場、データ通信機など)
Windowsで確認する場合、コマンドプロンプトから確認します。

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:Documents and SettingsAdministrator>nslookup
Default Server: xxxxxxxxxx
Address: xxx.xxx.xx.xx

参照DNSサーバー変更
>server ns.sa-sa-ki.jp
Default Server: ns.sa-sa-ki.jp
Address: 210.189.104.64

正引きの確認
>www.sa-sa-ki.jp
Default Server: ns.sa-sa-ki.jp
Address: 210.189.104.64

Name: www.sa-sa-ki.jp
Address: 210.189.104.64←正しいアドレスが返ってきている

逆引きの確認
>210.189.104.64

Default Server: ns.sa-sa-ki.jp
Address: 210.189.104.64

Name: sa-sa-ki.jp←正しいホスト名が返ってきている
Address: 210.189.104.64

MacやUbuntuなどLinuxまたはUnixで確認する場合、ターミナルや端末を起動します。
※ここではubuntuで確認した結果を記載します。

正引きの確認
ubuntu@ubuntu:~$ dig @ns.sa-sa-ki.jp mail.sa-sa-ki.jp

; < <>> DiG 9.5.0-P2 < <>> @ns.sa-sa-ki.jp mail.sa-sa-ki.jp
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 20680
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;mail.sa-sa-ki.jp. IN A

;; ANSWER SECTION:
mail.sa-sa-ki.jp. 86400 IN A 210.189.104.64←正しいアドレスが返ってきている

;; AUTHORITY SECTION:
sa-sa-ki.jp. 86400 IN NS ns.sa-sa-ki.jp.

;; ADDITIONAL SECTION:
ns.sa-sa-ki.jp. 86400 IN A 210.189.104.64

;; Query time: 168 msec
;; SERVER: 210.189.104.64#53(210.189.104.64)
;; WHEN: Wed Mar 25 11:05:39 2009
;; MSG SIZE rcvd: 106

逆引きの確認
ubuntu@ubuntu:~$ dig @ns.sa-sa-ki.jp -x 210.189.104.64

; < <>> DiG 9.5.0-P2 < <>> @ns.sa-sa-ki.jp -x 210.189.104.64
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 4352
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;64.104.189.210.in-addr.arpa. IN PTR

;; ANSWER SECTION:
64.104.189.210.in-addr.arpa. 86400 IN PTR sa-sa-ki.jp.←正しいホスト名が返ってきている

;; AUTHORITY SECTION:
104.189.210.in-addr.arpa. 86400 IN NS ns.sa-sa-ki.jp.

;; ADDITIONAL SECTION:
ns.sa-sa-ki.jp. 86400 IN A 210.189.104.64

;; Query time: 417 msec
;; SERVER: 210.189.104.64#53(210.189.104.64)
;; WHEN: Wed Mar 25 11:10:03 2009
;; MSG SIZE rcvd: 103

bindのバージョン情報をチェックします。

bindのバージョン情報を隠蔽する設定をしたのでその確認をします。
※digコマンドを使った確認ですのでサーバーで操作します

[root@centos ~]# dig @ns.sa-sa-ki.jp chaos txt version.bind

; < <>> DiG 9.3.4-P1 < <>> @ns.sa-sa-ki.jp chaos txt version.bind
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 37449
;
; 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: 28 msec
;; SERVER: 192.168.0.20#53(192.168.0.20)
;; WHEN: Thu Mar 26 08:28:43 2009
;; MSG SIZE rcvd: 64

DNSキャッシュポイズニングの脆弱性をチェックします。

DNSキャッシュポイズニングと言うのは簡単に言うとドメイン情報を書き換えて不正なサイトへ遷移させるという攻撃なのですが、以下のサイトを参考に脆弱性のチェックを行います。
情報処理推進機構:情報セキュリティ:脆弱性対策:DNSキャッシュポイズニングの脆弱性に関する注意喚起
また情報処理推進機構のサイトにDNSキャッシュポイズニング対策について詳しい説明をまとめているPDFファイルがありました。
DNSキャッシュポイズニング対策(全50ページ、1.69MB)

DNS問い合わせに使用するポート番号がランダム化されているか確認します
[root@centos ~]# dig +short porttest.dns-oarc.net TXT
porttest.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.
"210.189.104.64 is GREAT: 43 queries in 9.0 seconds from 43 ports with std dev 19162"
結果、「GREAT」が表示されれば問題ありません

DNS問い合わせに使用するIDがランダム化されているか確認します
[root@centos ~]# dig +short txidtest.dns-oarc.net TXT
txidtest.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.
"210.189.104.64 is GREAT: 123 queries in 24.7 seconds from 123 txids with std dev 19340"
結果、「GREAT」が表示されれば問題ありません

外部からの再帰的なDNS問い合わせに対して回答していないか確認します
※この確認はサーバー以外のPCのブラウザから確認します。

IANA — Cross-Pollination Scanへ遷移してチェックするDNSサーバーを入力します。
ここでは「ns.sa-sa-ki.jp」を指定して[実行]ボタンをクリックします。

結果、「Safe」が表示されれば問題ありません

DNSサーバーは構築が大変ですが今後のWebサーバーやメールサーバー公開時に必要になりますので、ぜひ頑張ってみてください。

■ 参考サイト ■
DNSサーバー構築(BIND) - CentOSで自宅サーバー構築
はじめての自宅サーバ構築 Fedora/CentOS - DNSサーバの構築(bind)
「BIND」の設定
@IT:DNS Tips:BINDのバージョンを調べる方法とは
DNSキャッシュ・ポイズニングとは 【DNS cache poisoning】 - 意味・解説 : IT用語辞典
情報処理推進機構:情報セキュリティ:脆弱性対策:DNSキャッシュポイズニングの脆弱性に関する注意喚起

■関連記事
自宅サーバー再構築 その1 導入を検討する
自宅サーバー再構築 その2 CentOS 5.2 をインストールする
自宅サーバー再構築 その3 インストールしたCentOS 5.2 にリモート接続準備
自宅サーバー再構築 その4 CentOS 5.2 インストール後の初期設定
自宅サーバー再構築 その5 CentOS 5.2 ファイル転送準備
自宅サーバー再構築 その6 CentOS 5.2 にアンチウィルスソフトを導入する
自宅サーバー再構築 その7 CentOS 5.2 にファイル改竄検知システムを導入する
自宅サーバー再構築 その8 CentOS 5.2 にrootkit検知ツールを導入する
自宅サーバー再構築 その9 CentOS 5.2 にバッファオーバーフロー攻撃対策を行う
自宅サーバー再構築 その10 CentOS 5.2 SSHサーバーを構築して外部からリモート接続&リモートファイル転送
自宅サーバー再構築 その11 CentOS 5.2 にDNSサーバーを導入して名前解決(設定編)
自宅サーバー再構築 その12 CentOS 5.2 にDNSサーバーを導入して名前解決(確認編)
自宅サーバー再構築 その13 CentOS 5.2 にLAMP環境構築(Apache、PHP編)
自宅サーバー再構築 その14 CentOS 5.2 にLAMP環境構築(MySQL編)
自宅サーバー再構築 その15 Apacheにサーバー証明書を導入する
自宅サーバー再構築 その16 CentOS 5.2 にWordPressを導入してブログサイトを構築する
自宅サーバー再構築 その17 WordPressのセキュリティ対策
自宅サーバー再構築 その18 CentOS 5.3 にNTPサーバーを導入して自動時間合わせ
自宅サーバー再構築 その19 CentOS 5.3 アンチウィルスソフトのバージョンアップ
自宅サーバー再構築 その20 CentOS 5.3 メールサーバー構築(Postfix設定編)
自宅サーバー再構築 その21 CentOS 5.3 メールサーバー構築(Dovecot設定編)
自宅サーバー再構築 その22 CentOS 5.3 メールサーバー構築(公開編)
自宅サーバー再構築 その23 CentOS 5.3 メールサーバー構築(SSL導入編)
自宅サーバー再構築 その24 CentOS 5.3 メールサーバー構築(メールアカウント作成編)
自宅サーバー再構築 その25 CentOS 5.3 メールサーバー構築(Thunderbird設定編)
自宅サーバー再構築 番外編その1 CentOS 5.3 のリリースと導入済みソフトウェアのアップデート

色々あった

投稿者:yasu 更新日時:2009年3月26日 23時13分11秒
カテゴリスポーツ, ハードウェア

午前中、家の真裏にあるスポーツジムのプールで1Km泳いでから午後出社。
う〜ん、なんかセレブな気分。

と思いきや出社早々担当システムの障害がどうのこうのって話になってすげー忙しかった。
ログとか色々調べたけど何もみつからなかった。
怪しいと思われる箇所に暫定対応をして様子をみる事に。

あと最近flashcastの活動ができてなかったんだけど、久しぶりに自宅サーバーのDNSサーバー構築の記事をアップ。
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その11 CentOS 5.2 にDNSサーバーを導入して名前解決(設定編)

次はDNSサーバーの確認とか脆弱性のチェックとかを書く予定。

自宅サーバー再構築 その11 CentOS 5.2 にDNSサーバーを導入して名前解決(設定編)

投稿者:yasu 更新日時:2009年3月26日 20時19分00秒
カテゴリbind, CentOS, Linux, 自宅サーバー

今回はDNSサーバーを構築して外部から自宅サーバーの名前解決ができるようにしていきたいと思います。

DNSサーバーを構築する上でのyasuの自宅の環境ですが契約しているプロバイダの有償オプションで固定IPアドレスを利用しています。
またお名前.comでドメインを取得しています。
※固定IPアドレスの契約やドメインは取得は完了している前提での手順ご紹介になることをご了承ください。

あとノートPCが複数台あるのでローカルネットワーク内だけで名前解決ができるようにします。

我が家のドメイン名や固定IPアドレス、PCのIPアドレスをご紹介しますと
ドメイン名:sa-sa-ki.jp
グローバルIPアドレス:210.189.104.64

自宅サーバー
 ホスト名:centos
 IPアドレス:192.168.0.20
ノートPC1
 ホスト名:winxp
 IPアドレス:192.168.0.101
ノートPC2
 ホスト名:winvista
 IPアドレス:192.168.0.102
ノートPC3
 ホスト名:leopard
 IPアドレス:192.168.0.103
ノートPC4
 ホスト名:ubuntu
 IPアドレス:192.168.0.104

のようになっておりまして(プライベートIPアドレスはダミーのIPアドレスを記載しています)、この環境にあわせて構築していきますのでみなさまは各自の環境に振り替えてください。

それではDNSサーバーを構築していく為にbindとcaching-nameserverをインストールしていきます。
bindは名前解決する為に都度上位のネームサーバーに問い合わせを行います。
caching-nameserverを一緒にインストールする事により一度上位のネームサーバーに問い合わせを行うと名前解決する為の情報を一定時間保持(キャッシュ)しておけるので、上位のネームサーバーに都度検索しなくて済みます。

bindとcaching-nameserverをインストールします

ログイン後、rootユーザにスイッチします
[centos@centos ~]$ su -
パスワード: rootユーザーのパスワード

bindとcaching-nameserverをインストールします
[root@centos ~]# yum -y install bind caching-nameserver
Loading "priorities" plugin
Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile
* base: rsync.atworks.co.jp
* updates: rsync.atworks.co.jp
* addons: rsync.atworks.co.jp
* extras: rsync.atworks.co.jp
0 packages excluded due to repository priority protections
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package caching-nameserver.i386 xx:x.x.x-x.x.x.xx.xxx_x set to be updated
---> Package bind.i386 xx:x.x.x-x.x.x.xx.xxx_x set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
caching-nameserver i386 xx:x.x.x-x.x.x.xx.xxx_x updates 58 k
Installing for dependencies:
bind i386 xx:x.x.x-x.x.x.xx.xxx_x updates 959 k

Transaction Summary
=============================================================================
Install 2 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

Total download size: 1.0 M
Downloading Packages:
(1/2): bind-x.x.x-x.x.x.x 100% |=========================| 959 kB 00:00
(2/2): caching-nameserver 100% |=========================| 58 kB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: bind ######################### [1/2]
Installing: caching-nameserver ######################### [2/2]

Installed: caching-nameserver.i386 xx:x.x.x-x.x.x.xx.xxx_x
Dependency Installed: bind.i386 xx:x.x.x-x.x.x.xx.xxx_x
Complete!

bind設定ファイルを設定します。

named.confファイルがないのでnamed.caching-nameserver.confからコピーします
[root@centos ~]# cp -p /etc/named.caching-nameserver.conf /etc/named.conf

named.confファイルを編集します
[root@centos ~]# vi /etc/named.conf
viエディタが起動するので設定ファイルを変更します
//
// named.caching-nameserver.conf
//
// Provided by Red Hat caching-nameserver package to configure the
// ISC BIND named(8) DNS server as a caching only nameserver
// (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// DO NOT EDIT THIS FILE - use system-config-bind or an editor
// to create named.conf - edits to this file will be lost on
// caching-nameserver package upgrade.
//
options {
  名前解決の問い合わせに応えるインターフェイスおよびポートを指定する事ができます。ここでは問い合わせ元のIPアドレスを特に制限せずランダムなポートで待ち受け可としたいので先頭に//をつけてコメント化します(IPv4)
  //listen-on port 53 { 127.0.0.1; };
  
  名前解決の問い合わせに応えるインターフェイスおよびポートを指定する事ができます。ここでは問い合わせ元のIPアドレスを特に制限せずランダムなポートで待ち受け可としたいので先頭に//をつけてコメント化します(IPv6)
  //listen-on-v6 port 53 { ::1; };

  ※listen-on/listen-on-v6をコメント化する事で全ての問い合わせ元IPアドレスの制限がなくなり、かつランダムなポートで待ち受け可になりDNSキャッシュポイズニング対策になります。

  bindのバージョンを非表示化する為に追加します
  version "unknown";

  directory "/var/named";
  dump-file "/var/named/data/cache_dump.db";
  statistics-file "/var/named/data/named_stats.txt";
  memstatistics-file "/var/named/data/named_mem_stats.txt";

  // Those options should be used carefully because they disable port
  // randomization
  // query-source port 53;
  // query-source-v6 port 53;

  名前解決の問い合わせ可能なホストを指定できます。ここではローカルホストおよびローカルネットワークからの問い合わせを許可します
  allow-query { localhost; localnets;};

  ゾーン転送可能なホスト(セカンダリサーバ)を指定できます。ここではスレーブサーバはありませんので全ホスト転送不許可とします
  allow-transfer { none; };

  外部のDNSサーバに問い合わせを転送する場合に指定します。契約しているプロバイダのプライマリDNSとセカンダリDNSのIPアドレスを指定します(IPアドレスは各自DNSサーバのIPアドレスを入力の事)
  forwarders { xxx.xxx.xxx.xxx; xxx.xxx.xxx.xxx; };
};

DNSサーバへrndcと呼ばれるツールでアクセスを行うための設定を行います。rndcを使うとbindの機動・停止などを行うことが可能です
controls {
  inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};

include "/etc/rndc.key";

ログに関するオプションを指定できます。ここではログファイルに日時、メッセージのカテゴリ、メッセージの重要度を出力するよう設定を追加します
logging {
  channel default_debug {
    file "data/named.run";
    severity dynamic;
    print-severity yes;
    print-category yes;
    print-time yes;

  };
};

ローカルホストで有効なゾーンの設定を行います。
view localhost_resolver {
  match-clients { localhost; };
  match-destinations { localhost; };
  recursion yes;
  include "/etc/named.rfc1912.zones";
  include "/var/named/sa-sa-ki.local.zones";(※1)
};
ローカルネットワークで有効なゾーンの設定を行います。
view internal {
  match-clients { localnets; };
  match-destinations { localnets; };
  recursion yes;
(※2)
  include "/etc/named.rfc1912.zones";
  include "/var/named/sa-sa-ki.local.zones";
(※1)
};

外部から有効なゾーンの設定を行います。
view external {
  match-clients { any; };
  match-destinations { any; };
  recursion no;(※2)
  include "/var/named/sa-sa-ki.jp.zones";(※1)
};

内容を保存しviエディタを終了します

(※1 )この後の手順で作成するファイルですのでひとまず指定してください
(※2)再帰問い合わせの許可、不許可の設定します。ローカルホストやローカルネットワークでは許可を外部は不許可とします
「再帰問い合わせ」の説明はScanNetSecurity - 現役ペンテスト技術者が選ぶ 使えるセキュリティツール(19) 「dig」 を参照の事

ゾーンファイル指定用のファイルを作成します。

ローカルホスト・ローカルネットワークのゾーンファイル指定用のファイルを作成します
[root@centos ~]# vi /var/named/sa-sa-ki.local.zones
viエディタが起動するのでゾーンファイル指定用のファイルを作成します
//内部正引き
zone "sa-sa-ki.jp" {
  type master;
  file "sa-sa-ki.local";
};
//内部逆引き
zone "0.168.192.in-addr.arpa" {
  type master;
  file "0.168.192.in-addr.arpa.db";
};

内容を保存しviエディタを終了します

外部のゾーンファイル指定用のファイルを作成します
[root@centos ~]# vi /var/named/sa-sa-ki.jp.zones
viエディタが起動するのでゾーンファイル指定用のファイルを作成します
//外部正引き
zone "sa-sa-ki.jp" {
  type master;
  file "sa-sa-ki.jp";
  allow-query { any; };
};
//外部逆引き
zone "104.189.210.in-addr.arpa" {
  type master;
  file "104.189.210.in-addr.arpa.db";
  allow-query { any; };
};

内容を保存しviエディタを終了します

ゾーンファイルを作成します。

ローカルホスト・ローカルネットワークの正引き(ドメイン名→IPアドレス)ゾーンファイルをします
[root@centos ~]# vi /var/named/sa-sa-ki.local
viエディタが起動するのでゾーンファイルを作成します
$TTL 86400(※1)
@   IN   SOA   sa-sa-ki.jp.(※2) centos.sa-sa-ki.jp.(※3) (
                   2009032301
(※4) ; Serial
                   3600
(※5) ; Refresh
                   900
(※6) ; Retry
                   604800
(※7) ; Expire
                   86400
(※8) ) ; Minimum
      IN   NS    ns.sa-sa-ki.jp.
(※9)
      IN   MX  10 mail.sa-sa-ki.jp.(※10)
@      IN   A    192.168.0.20(※11)
winxp    IN   A    192.168.0.101
winvista  IN   A    192.168.0.102
leopard   IN   A    192.168.0.103
ubuntu   IN   A    192.168.0.104
centos   IN   CNAME  sa-sa-ki.jp.
(※12)
ns     IN   CNAME  sa-sa-ki.jp.
mail    IN   CNAME  sa-sa-ki.jp.
www    IN    CNAME  sa-sa-ki.jp.

内容を保存しviエディタを終了します
(※1)外部のネームサーバーが自分のドメイン情報を参照してキャッシュ可能な時間(単位は秒)
(※2)ネームサーバーの名前
(※3)ドメインの管理者のメールアドレス(@は.に置き換えて記載する)
(※4)バージョン番号で年月日+シーケンス番号(YYYYMMDDnn)を指定します。ゾーンファイルを変更する場合は変更した年月日+シーケンス番号を一つ繰り上げます
・(※5)〜(※7)の設定はセカンダリネームサーバーがプライマリネームサーバーから取得したゾーン情報の扱いについて指定します
(※5)ゾーン情報をリフレッシュするまでの時間(単位は秒)
(※6)Refreshでゾーン情報が更新できなかった場合のリトライする時間(単位は秒)
(※7)ゾーン情報がリフレッシュできない状態が続いた場合、セカンダリネームサーバーが持っているデータを利用する時間(単位は秒)
(※8)存在しないドメイン名をキャッシュする時間(単位は秒)
(※9)NSレコードといってDNSサーバーを指定します。名前の後ろには.を付けます
(※10)MXレコードといってメールの転送先を指定します
(※11)Aレコードといってホスト名からIPアドレスへ変換する為の指定をします。@の場合ネームサーバー(※2)とイコールになります。
(※12)CNAMEレコードといってホスト名からIPアドレスへ変換する為のエイリアスを指定します。

ローカルホスト・ローカルネットワークの逆引き(IPアドレス→ドメイン名)ゾーンファイルをします
[root@centos ~]# vi /var/named/0.168.192.in-addr.arpa.db
viエディタが起動するのでゾーンファイルを作成します
$TTL 86400
@   IN   SOA   sa-sa-ki.jp. centos.sa-sa-ki.jp. (
                   2009032301 ; Serial
                   3600 ; Refresh
                   900 ; Retry
                   604800 ; Expire
                   86400 ) ; Minimum
    IN   NS     ns.sa-sa-ki.jp.
20   IN   PTR     sa-sa-ki.jp.
(※1)
101   IN   PTR     winxp.
102   IN   PTR     winvista.
103   IN   PTR     leopard.
104   IN   PTR     ubuntu.

内容を保存しviエディタを終了します
(※11)PTRレコードといってIPアドレスからホスト名へ変換する為の指定をします。

外部の正引き(ドメイン名→IPアドレス)ゾーンファイルをします
[root@centos ~]# vi /var/named/sa-sa-ki.jp
viエディタが起動するのでゾーンファイルを作成します
$TTL 86400
@   IN   SOA   sa-sa-ki.jp. centos.sa-sa-ki.jp. (
                   2009032301 ; Serial
                   3600 ; Refresh
                   900 ; Retry
                   604800 ; Expire
                   86400 ) ; Minimum
    IN   NS    ns.sa-sa-ki.jp.
    IN   MX 10  sa-sa-ki.jp.
@    IN   A    210.189.104.64
ns    IN   A    210.189.104.64
www   IN    A    210.189.104.64
mail   IN   A    210.189.104.64

内容を保存しviエディタを終了します

外部の逆引き(IPアドレス→ドメイン名)ゾーンファイルをします
[root@centos ~]# vi /var/named/104.189.210.in-addr.arpa.db
viエディタが起動するのでゾーンファイルを作成します
$TTL 86400
@   IN   SOA   sa-sa-ki.jp. centos.sa-sa-ki.jp. (
                   2009032301 ; Serial
                   3600 ; Refresh
                   900 ; Retry
                   604800 ; Expire
                   86400 ) ; Minimum
    IN   NS     ns.sa-sa-ki.jp.
64   IN   PTR     sa-sa-ki.jp.

内容を保存しviエディタを終了します

設定ファイルの所有者を変更する
[root@centos ~]# chown named.named /var/named/*
[root@centos ~]# ls -l /var/named
合計 136
-rw-r----- 1 named named 611 3月 24 19:29 0.168.192.in-addr.arpa.db
-rw-r----- 1 named named 441 3月 24 19:29 104.189.210.in-addr.arpa.db
drwxr-x--- 4 named named 4096 1月 30 12:11 chroot
drwxrwx--- 2 named named 4096 2月 24 18:53 data
-rw-rw-r-- 1 named named 198 1月 9 11:40 localdomain.zone
-rw-rw-r-- 1 named named 195 1月 9 11:40 localhost.zone
-rw-rw-r-- 1 named named 427 1月 9 11:40 named.broadcast
-rw-r----- 1 named named 1593 3月 24 18:57 named.ca
-rw-rw-r-- 1 named named 424 1月 9 11:40 named.ip6.local
-rw-rw-r-- 1 named named 426 1月 9 11:40 named.local
-rw-r--r-- 1 named named 2878 3月 24 11:21 named.root
-rw-rw-r-- 1 named named 427 1月 9 11:40 named.zero
-rw-r----- 1 named named 619 3月 24 19:29 sa-sa-ki.jp
-rw-r--r-- 1 named named 320 3月 24 17:22 sa-sa-ki.jp.zones
-rw-r----- 1 named named 843 3月 24 19:29 sa-sa-ki.local
-rw-r--r-- 1 named named 175 3月 24 09:49 sa-sa-ki.local.zones
drwxrwx--- 2 named named 4096 1月 9 11:40 slaves

設定ファイルの所有者が[named]に変更されている事を確認する

ルートゾーンファイル(世界に13台しかないトップレベルドメインを管理するDNSサーバーのIPアドレスを管理している)を最新にする

[root@centos ~]# dig . ns @198.41.0.4 > /var/named/named.ca

参照DNSサーバーをサーバー自身に変更する

参照DNSサーバーを変更します
[root@centos ~]# vi /etc/resolv.conf
viエディタが起動するので設定を以下の様に変更します
search sa-sa-ki.jp
nameserver 192.168.0.20

内容を保存しviエディタを終了します

DNSサーバーを外部公開する為に、CentOSのファイアウォールの設定を行います。

[root@centos ~]# vi /etc/sysconfig/iptables
viエディタが起動するのでファイアウォールの設定をします
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
下記2行を追加してTCPとUDPの53番ポートを開放します
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
内容を保存しviエディタを終了します

設定内容を反映します
[root@centos ~]# /etc/rc.d/init.d/iptables restart
ファイアウォールルールを適用中: [ OK ]
チェインポリシーを ACCEPT に設定中filter [ OK ]
iptables モジュールを取り外し中 [ OK ]
iptables ファイアウォールルールを適用中: [ OK ]
iptables モジュールを読み込み中ip_conntrack_netbios_ns [ OK ]

DNSサーバーを外部公開する為に、ルータの設定を変更してTCPとUDPの53番ポートを開放します。

開放方法はルータの設定手順に従って実施してください。

サービスの起動と自動起動の設定をします。

bindを起動します
[root@centos ~]# /etc/rc.d/init.d/named start
named を起動中: [ OK ]

OS再起動時にbindを自動起動するようにします
[root@centos ~]# chkconfig named on
[root@centos ~]# chkconfig --list named
named 0:off 1:off 2:on 3:on 4:on 5:on 6:off

ひとまずDNSサーバーの外部公開まで完了しました。
次回は動作検証とDNSキャッシュポイズニングの脆弱性の検証を行いたいと思います。

■ 参考サイト ■
Manpage of NAMED.CONF
DNSサーバー構築(BIND) - CentOSで自宅サーバー構築
はじめての自宅サーバ構築 Fedora/CentOS - DNSサーバの構築(bind)
「BIND」の設定
CentOS 5.2でBIND - K blog
BINDサーバー(ネームサーバー)をインストールして、名前解決を行おう。
DNSサーバ -BIND-
@IT:DNS Tips:SOAレコードには何が記述されている?

■関連記事
自宅サーバー再構築 その1 導入を検討する
自宅サーバー再構築 その2 CentOS 5.2 をインストールする
自宅サーバー再構築 その3 インストールしたCentOS 5.2 にリモート接続準備
自宅サーバー再構築 その4 CentOS 5.2 インストール後の初期設定
自宅サーバー再構築 その5 CentOS 5.2 ファイル転送準備
自宅サーバー再構築 その6 CentOS 5.2 にアンチウィルスソフトを導入する
自宅サーバー再構築 その7 CentOS 5.2 にファイル改竄検知システムを導入する
自宅サーバー再構築 その8 CentOS 5.2 にrootkit検知ツールを導入する
自宅サーバー再構築 その9 CentOS 5.2 にバッファオーバーフロー攻撃対策を行う
自宅サーバー再構築 その10 CentOS 5.2 SSHサーバーを構築して外部からリモート接続&リモートファイル転送
自宅サーバー再構築 その11 CentOS 5.2 にDNSサーバーを導入して名前解決(設定編)
自宅サーバー再構築 その12 CentOS 5.2 にDNSサーバーを導入して名前解決(確認編)
自宅サーバー再構築 その13 CentOS 5.2 にLAMP環境構築(Apache、PHP編)
自宅サーバー再構築 その14 CentOS 5.2 にLAMP環境構築(MySQL編)
自宅サーバー再構築 その15 Apacheにサーバー証明書を導入する
自宅サーバー再構築 その16 CentOS 5.2 にWordPressを導入してブログサイトを構築する
自宅サーバー再構築 その17 WordPressのセキュリティ対策
自宅サーバー再構築 その18 CentOS 5.3 にNTPサーバーを導入して自動時間合わせ
自宅サーバー再構築 その19 CentOS 5.3 アンチウィルスソフトのバージョンアップ
自宅サーバー再構築 その20 CentOS 5.3 メールサーバー構築(Postfix設定編)
自宅サーバー再構築 その21 CentOS 5.3 メールサーバー構築(Dovecot設定編)
自宅サーバー再構築 その22 CentOS 5.3 メールサーバー構築(公開編)
自宅サーバー再構築 その23 CentOS 5.3 メールサーバー構築(SSL導入編)
自宅サーバー再構築 その24 CentOS 5.3 メールサーバー構築(メールアカウント作成編)
自宅サーバー再構築 その25 CentOS 5.3 メールサーバー構築(Thunderbird設定編)
自宅サーバー再構築 番外編その1 CentOS 5.3 のリリースと導入済みソフトウェアのアップデート

ubuntuのupdate

投稿者:yasu 更新日時:2009年3月25日 1時16分56秒
カテゴリUbuntu

今日のubuntuのupdate。
 ghostscript
 ghostscript-x
 libgs8
 liblcms1

WBC優勝おめでとー

投稿者:yasu 更新日時:2009年3月24日 23時35分46秒
カテゴリその他

やりました、WBC連覇おめでとー!!!
テレビでシャンパンかけの様子をみたんだけど、やっぱり苦しみに苦しんだイチローがはっちゃけてるのがすごい印象的だった。
あれだけ結果を求められ、これまで思うような結果が出ず、すごい苦しんだと思う。
でも優勝を決める最後の最後で結果を出しちゃうあの勝負強さは本物なんだな~と改めて感心させられた。

そんなおめでたい日なので、仕事終わった後ビールを買って侍Japanをお祝いしてみた。
キリンのハートランドってビール。
m00107512

キリンからこんなビールがでてるのを知らなかったんだけど飲んだらとってもおいしかった。

ubuntuのupdate

投稿者:yasu 更新日時:2009年3月23日 22時24分15秒
カテゴリUbuntu

今日のubuntuのupdate。

  • libjasper1
  • libnss3-1d
  • thunderbird2.0.0.21

1泊2日草津旅行

投稿者:yasu 更新日時:2009年3月21日 23時57分38秒
カテゴリ旅行

ダイビング仲間と昨日から1泊2日草津旅行に行きました。
今、帰ってきました。

運転疲れたー。
でも久しぶりに自分の車で長距離ドライブして楽しかった−。
またいくー。

今度はどこいこ・・・。

Internet Explorer 8 日本語版 今日(3月20日)午前1時リリース

投稿者:yasu 更新日時:2009年3月20日 0時29分50秒
カテゴリハードウェア

窓の杜でもアナウンスがありましたが、Internet Explorer 8の日本語版が今日(3月20日)の午前1時にリリースされるそうです。
ダウンロード
窓の杜

日本の企業サイトや会員サイトはまだまだIE5.5以上対応ってところが多いですから、プログラムの修正をする度に確認するIEのバージョンが増えるのは辛いところですね。

一日早い連休

投稿者:yasu 更新日時:2009年3月19日 22時02分11秒
カテゴリその他

今日は会社お休み。

明日ダイビング仲間と草津温泉に行くんだけど、急遽自分の車を出さなくてはならず、洗車休暇です。(オイッ)

午前中は洗車用洗剤買いに行ったり服買いに行ったり。

んで午後は洗車してジムで1.5Km泳いで図書館行って本借りて・・・ってな具合であっという間に一日が終わりそうです。

写真は晩ご飯の時に家で飲んだ期間限定のシルク

シルクエビス

シルクエビス

と、自分で作ったカクテル[キス イン ザ ダーク]

レシピはこちら。

ドライジン 3oml
ドライベルモット 30ml
チェリーブランデー 30ml

m00107491

m0010751

〔解決〕WordPress 追加したテーマが表示されない

投稿者:yasu 更新日時:2009年3月19日 9時37分41秒
カテゴリCentOS, WordPress

WordPressのテーマを/wp-content/themes の下に置いてもテーマ設定画面に表示されなかった問題ですが無事解決したのでメモメモ。

うまくいかなかったのはテーマをMacでダウンロードした時にzipファイルが自動解凍になってしまい、解凍されたフォルダをsftpでCentOSのWordPress(/wp-content/themes の下)にアップしてたんだけど、これだといくらパーミッションを適切に変更しても権限がないって判断されるみたいです。

試しにテーマの下のimagesの中の画像をブラウザからURLを入力して表示できるか確認したのですが、どんなに頑張って権限を付与しても権限がないって怒られました。

SSHでCentOSにログインしてwgetコマンドでテーマファイルをダウンロードし、zipファイルを解凍して権限を適切に修正したらテーマ設定画面に新しいテーマが表示されるようになりました。

どうもお騒がせしました。