お茶とパチスロとシルクロードオンライン

シルクロードオンラインのベータテスターに当選したので日記を付けてみる。 不定期掲載。

YDL

DNSを動かす。その7 設定ファイルの改良

安定稼働しているので、設定ファイルを改良する。
ポイントは許可されたグルーブからの照合と、インターネットからの照合を区切る。
再帰読み出しを外部からは許可しないことにした。


設定ファイル 説明の為にIPを変えてある。

割当IP 210.249.182.0/28
ドメイン example.co.jp
KDDI セカンダリIP 10.10.10.3


//からなる文はコメント

以下、named.confの内容


// 信頼出来るネットワークを登録
// localnetを定義
acl localnet {
 10.10.10.3;  // KDDIセカンダリIPアドレス
 210.249.182.0/28;
 127.0.0.1;
};


options {
    directory "/var/named";
    allow-query { localnet; };  // 問い合わせはlocalnetのみ
    allow-transfer { localnet; };  // 転送もlocalnetのみ
    version "no version";  // BINDのバージョンを隠す
};


// 内向け設定
view "internal" {
    match-clients   { localnet; };  // localnetのみ
    recursion yes;  // 再帰読み出しを許可

// ルートキャッシュ
    zone "." in {
      type hint;
      file "root.cache";
    };

    zone "0.0.127.in-addr.arpa" in {
       type master;
      file "0.0.127.in-addr.arpa";
    };
};


// 外向け設定
view "external" {
    match-clients   { any; }; // 全部通す
    recursion no; // 再帰読み出しを許可しない

// ゾーンファイル
    zone "example.co.jp" in {
     type master;
     file "example.co.jp";
    };

// 逆引きゾーンファイル
    zone "0h.182.249.210.in-addr.arpa" in {
     type master;
     file "0h.182.249.210.in-addr.arpa";
    };
};

DNSを動かす。その5

bindがつねに正常に動作しているか、一週間位様子見する。

ついでに脆弱性をWebからテスト出来るサイトがあるので試してみる。

http://entropy.dns-oarc.net/test/

結果はグレート。

ピクチャ 1























試運転期間はアクセスログも良くチェックしておく。

安定してるならセキュリティ強化の設定に取りかかることにした。

DNSを動かす。その4

設定ファイル 説明の為にIPを変えてある。

割当IP 210.249.182.0/28
ドメイン example.co.jp
KDDI セカンダリIP 10.10.10.3
セカンダリドメイン ns001.pwd.ne.jp

DNS  210.249.182.1
MAIL 210.249.182.2
WWW 210.249.182.3

の3つを構成すると仮定。


bindが起動時に読み込むブートファイル
named.conf

入れる場所
/var/named/chroot/etc

中身
---------------------------------------------------------------
options {
 directory "/var/named";
allow-recursion {
 127.0.0.1;
 ::1;
 210.249.182.0/28;
 10.10.10.3; };
allow-transfer {
 10.10.10.3; };
};

zone "." in {
 type hint;
 file "root.cache";
 allow-update { none; };
};

zone "0.0.127.in-addr.arpa" in {
 type master;
 file "0.0.127.in-addr.arpa";
 allow-update { none; };
};

zone "example.co.jp" in {
 type master;
 file "example.co.jp";
};

zone "0h.182.249.210.in-addr.arpa" in {
 type master;
 file "0h.182.249.210.in-addr.arpa";
};
---------------------------------------------------------------

設定ファイルのチェックは以下のコマンドを叩く。何も表示されなければOK。
named-checkconf /var/named/chroot/etc/named.conf


ローカルの逆引きファイル
0.0.127.in-addr.arpa

入れる場所
/var/named/chroot/var/named

中身
---------------------------------------------------------------
$TTL 86400
0.0.127.in-addr.arpa. IN SOA dns.example.co.jp. root.example.co.jp. (
 2010090601    ; Serial
 1D   ; Refresh
 1H   ; Retry
 1W   ; Expire
 3H ) ; Minimum

 IN  NS  dns.example.co.jp.
 IN  NS  ns001.pwd.ne.jp.

1  IN  PTR  localhost.
---------------------------------------------------------------

ゾーンファイルのチェックは以下のコマンドを叩く。正常はシリアル+OK表示。
named-checkzone 0.0.127.in-addr.arpa /var/named/chroot/var/named/0.0.127.in-addr.arpa


正引きファイル
example.co.jp

入れる場所
/var/named/chroot/var/named

中身
---------------------------------------------------------------
$TTL 86400
example.co.jp. IN SOA dns.example.co.jp. root.example.co.jp. (
  2010090601    ; Serial
 1D   ; Refresh
 1H   ; Retry
 1W   ; Expire
 3H ) ; Minimum

 IN  NS  dns.example.co.jp.
 IN  NS  ns001.pwd.ne.jp.
 IN  MX  10  mx.example.co.jp.

dns         IN  A  210.249.182.1
mx         IN  A  210.249.182.2
www       IN  A  210.249.182.3

localhost  IN  A  127.0.0.1
---------------------------------------------------------------

ゾーンファイルのチェックは以下のコマンドを叩く。正常はシリアル+OK表示。
named-checkzone example.co.jp /var/named/chroot/var/named/example.co.jp


逆引きファイル
0h.182.249.210.in-addr.arpa

入れる場所
/var/named/chroot/var/named

中身
---------------------------------------------------------------
$TTL 86400
0h.182.249.210.in-addr.arpa. IN SOA dns.example.co.jp. root.example.co.jp. (
 2010090601    ; Serial
 1D   ; Refresh
 1H   ; Retry
 1W   ; Expire
 3H ) ; Minimum

 IN  NS  dns.example.co.jp.
 IN  NS  ns001.pwd.ne.jp.

1  IN  PTR  dns.example.co.jp.
2  IN  PTR  mx.example.co.jp.
3  IN  PTR  www.example.co.jp.
---------------------------------------------------------------

ゾーンファイルのチェックは以下のコマンドを叩く。正常はシリアル+OK表示。
named-checkzone 0h.182.249.210.in-addr.arpa /var/named/chroot/var/named/0h.182.249.210.in-addr.arpa


digで動作テスト。

正引きをチェックしてみる。
[root@xxx ~]# dig www.example.co.jp

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.ydl.1 <<>> www.example.co.jp
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42800
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1

;; QUESTION SECTION:
;www.example.co.jp.               IN      A

;; ANSWER SECTION:
www.example.co.jp.        86400   IN      A       210.249.182.3

;; AUTHORITY SECTION:
example.co.jp.            86400   IN      NS      dns.example.co.jp.
example.co.jp.            86400   IN      NS      ns001.pwd.ne.jp.

;; ADDITIONAL SECTION:
dns.example.co.jp.         86400   IN      A       210.249.182.1

;; Query time: 2 msec
;; SERVER: 210.249.182.1#5(210.249.182.1)
;; WHEN: Mon Sep  6 13:44:01 2010
;; MSG SIZE  rcvd: 109


QUESTION SECTIONが要求した質問。AUTHORITY SECTIONが答え。
www.example.co.jpは210.249.182.3だよと答えが返ってきた。


210.249.182.3を逆引きしてみる。

[root@xxx ~]# dig  -x 210.249.182.3

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.ydl.1 <<>> -x 210.249.182.3
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54976
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 2, ADDITIONAL: 1

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

;; ANSWER SECTION:
3.182.249.210.in-addr.arpa. 86400 IN    CNAME   3.0h.182.249.210.in-addr.arpa.
3.0h.182.249.210.in-addr.arpa. 86400 IN PTR    www.example.co.jp.

;; AUTHORITY SECTION:
0h.182.249.210.in-addr.arpa. 86400 IN   NS      dns.example.co.jp.
0h.182.249.210.in-addr.arpa. 86400 IN   NS      ns001.pwd.ne.jp.

;; ADDITIONAL SECTION:
dns.example.co.jp.         86400   IN      A       210.249.182.1

;; Query time: 21 msec
;; SERVER: 210.249.182.1#5(210.249.182.1)
;; WHEN: Mon Sep  6 14:00:17 2010
;; MSG SIZE  rcvd: 213

210.249.182.3はwww.example.co.jpだよと答えが返ってきた。

これで一応動作する。


DNSを動かす。その3

設定ファイルの記述にはいるけれど、スムーズな稼働の為に以下のローカルルールを作って進めることにする。

 
準備その1
KDDIから受け取ったサイト情報をみて割当IPをチェックする。IPアドレスの割当数は16個だった。
一番最初のアドレスはブロードキャスト、最後のアドレスはデフォルトゲートウェイに利用されるのでサーバとして使えるアドレスは実質14個。
KDDIのセカンダリDNSのIPアドレスはゾーン転送に必要になるのでファイアーウォールで通過させておく。


準備その2
利用しているサービスのDNSの設定ファイルのテンプレートがあるのでそのページを見て作成する。
http://www.kddi.com/business/customer/internet/powered/dns.html


準備その3
ClassC以下の逆引き設定の記述は、KDDIでもネットサービスによって違うので注意する。


準備その4
最新のルートキャッシュファイルを取得する。
ftp://ftp.nic.ad.jp/internet/rs.internic.net/domain/named.boot


準備その5
bindが読み込む設定ファイルのパーミッションには注意。所有者はrootでもいいが、グループはnamedである事。


ポイントその1
設定ファイルは動作するまで必要最小限に留め、KDDIのサイト通りにまず記述する。
ここで他人のbind設定ページを見て設定を写したりすると間違った時に問題の切り分けに時間を取られるので絶対やらない。


ポイントその2
bindのバージョンによって妙なクセがあるので、サーバにアップロードする設定ファイルはコメントを全て消しておく。


ポイントその3
DNS調査コマンド「dig」の使い方をよく理解しておく。



以上を守って設定ファイルを作成していくことにする。とにかくDNSはちゃんとやっとかないとネットワークそのものが崩壊するのでWebサーバと同じ感覚ではダメ。

DNSを動かす。その2

bindをインストールすると、chroot環境で動作する様になっていた。設定ファイルを入れる場所がややこしいので注意。

chroot環境では/var/named/chroot/がbindからみてルートになる。

ブートファイルnamed.confの場所
/var/named/chroot/etc

設定ファイルの場所
/var/named/chroot/var/named

設定ファイルをチェックするツールもインストールされているので活用する。rootになってフルパスでチェックしたい設定ファイルを指定。

例 named.confのチェック
named-checkconf
/var/named/chroot/etc/named.conf

例 ルーブバックアドレスのチェック
named-checkzone
0.0.127.in-addr.arpa /var/named/chroot/var/named/0.0.127.in-addr.arpa

checkconfの場合は正常だとそのまま終わる。checkzoneの場合はシリアルとOKを表示する。

これ以外のメッセージが出てたら設定見直す。

わりとハマるのがコメント「;」の位置と、スペースが必要な部分。原因不明のエラーは大抵コレ。

ゾーンファイルは一気に書き上げないで、動作確認しつつ完成させていく。

DNSを動かす。

bindの設定を行おうとしたら、なんと初期インストールで入っていない・・・何でだ? サーバの基本デーモンだろ?

named











パッケージマネージャからDNSネームサーバーを選んでインストール。例によってsshdが立ち上がらなくなるのでこれもまたインストール。

勘弁してくれw

再起動して無事bindがインストールされた。設定ファイルがないので起動に失敗するが、OK。

サンプルの設定ファイルを探す。

[root@xxx ~]# rpm -ql bind | grep .conf
/etc/dbus-1/system.d/named.conf
/etc/sysconfig/named
/usr/sbin/named-bootconf
/usr/sbin/named-checkconf
/usr/sbin/rndc-confgen
/usr/share/doc/bind-9.3.6/sample/etc/named.conf
/usr/share/doc/bind-9.3.6/sample/etc/rndc.conf
/usr/share/man/man5/named.conf.5.gz
/usr/share/man/man5/rndc.conf.5.gz
/usr/share/man/man8/named-checkconf.8.gz
/usr/share/man/man8/rndc-confgen.8.gz


ここか。
/usr/share/doc/bind-9.3.6/sample/etc/named.conf

というか、9.3? 古くないっすか? 最新版は9.7のはず・・・ちょっと調べよう。

サービスの追加&停止を行うとsshdが起動しなくなる。

なんでだろう・・・とりあえずパッケージの削除&インストールを実施して急場を凌いでるが・・・

openssh











/var/log/secureを読んでみた。

Aug 31 13:44:27 xxx sshd[3320]: error: Bind to port 22 on アクセスしたIP failed: Cannot assign requested address.

このへんが何かアヤシイ。アヤシイが確定出来ないのでぐぐって出てきた「ListenAddress 0.0.0.0」を有効にするを実施してみる。

再起動でsshdが起動しないので違う問題かもしれない。まあそのうち見直そう(放置フラグ)。

サービスの停止と実行

インストール直後のサーバで、何が動いているか知るのはとっても重要なので、起動時に動くサービスをチェックして不要なものは停止する。

例えばWebサービスが不要ならhttpdは動かさない。など。ネットワークプリンタなんかも不要ったら不要ですな。

メニューバーのシステム>管理>サービスと移動。

3-1












現在動作中のサービスが出る。

3-2













ここで左のチェックが入ってるものが起動時に動くサービス。止めて平気なものはどんどん止めよう。名前だけで分からないサービスはぐぐろう。

ここなんかが参考になる。
http://www.itmedia.co.jp/help/tips/linux/l0038.html

コンソールからコントロールする場合はntsysvとタイプする。

ピクチャ-1
















[root@xxx ~]# chkconfig --list
サクッと不要サービスを止めてランレベルのリストアップ。
NetworkManager  0:off   1:off   2:off   3:off   4:off   5:off   6:off
NetworkManagerDispatcher        0:off   1:off   2:off   3:off   4:off   5:off   6:off
acpid           0:off   1:off   2:off   3:on    4:on    5:off   6:off
anacron         0:off   1:off   2:on    3:on    4:on    5:on    6:off
atd             0:off   1:off   2:off   3:on    4:on    5:on    6:off
auditd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
autofs          0:off   1:off   2:off   3:on    4:on    5:on    6:off
avahi-daemon    0:off   1:off   2:off   3:on    4:on    5:on    6:off
avahi-dnsconfd  0:off   1:off   2:off   3:off   4:off   5:off   6:off
bluetooth       0:off   1:off   2:on    3:on    4:on    5:on    6:off
capi            0:off   1:off   2:off   3:off   4:off   5:off   6:off
conman          0:off   1:off   2:off   3:off   4:off   5:off   6:off
cpuspeed        0:off   1:on    2:on    3:on    4:on    5:off   6:off
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
cups            0:off   1:off   2:on    3:on    4:on    5:off   6:off
dc_client       0:off   1:off   2:off   3:off   4:off   5:off   6:off
dc_server       0:off   1:off   2:off   3:off   4:off   5:off   6:off
dhcdbd          0:off   1:off   2:off   3:off   4:off   5:off   6:off
dund            0:off   1:off   2:off   3:off   4:off   5:off   6:off
elfspe          0:off   1:off   2:off   3:on    4:on    5:on    6:off
firstboot       0:off   1:off   2:off   3:on    4:off   5:on    6:off
gpm             0:off   1:off   2:on    3:on    4:on    5:on    6:off
haldaemon       0:off   1:off   2:off   3:on    4:on    5:on    6:off
hidd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
hplip           0:off   1:off   2:on    3:on    4:on    5:on    6:off
httpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off
ip6tables       0:off   1:off   2:on    3:on    4:on    5:on    6:off
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
irda            0:off   1:off   2:off   3:off   4:off   5:off   6:off
irqbalance      0:off   1:off   2:on    3:on    4:on    5:on    6:off
isdn            0:off   1:off   2:on    3:on    4:on    5:on    6:off
kudzu           0:off   1:off   2:off   3:on    4:on    5:on    6:off
lvm2-monitor    0:off   1:on    2:on    3:on    4:on    5:on    6:off
mdmonitor       0:off   1:off   2:on    3:on    4:on    5:on    6:off
mdmpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off
messagebus      0:off   1:off   2:off   3:on    4:on    5:on    6:off
mouse-emulation 0:off   1:off   2:off   3:on    4:on    5:on    6:off
named           0:off   1:off   2:off   3:off   4:off   5:on    6:off
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
netfs           0:off   1:off   2:off   3:on    4:on    5:on    6:off
netplugd        0:off   1:off   2:off   3:off   4:off   5:off   6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
nfs             0:off   1:off   2:off   3:off   4:off   5:off   6:off
nfslock         0:off   1:off   2:off   3:on    4:on    5:on    6:off
nscd            0:off   1:off   2:off   3:off   4:off   5:off   6:off
ntpd            0:off   1:off   2:off   3:off   4:off   5:off   6:off
oddjobd         0:off   1:off   2:off   3:off   4:off   5:off   6:off
pand            0:off   1:off   2:off   3:off   4:off   5:off   6:off
pbbuttonsd      0:off   1:off   2:off   3:on    4:on    5:on    6:off
pcscd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
pmud            0:off   1:off   2:on    3:on    4:on    5:on    6:off
portmap         0:off   1:off   2:off   3:on    4:on    5:on    6:off
psacct          0:off   1:off   2:off   3:off   4:off   5:off   6:off
rdisc           0:off   1:off   2:off   3:off   4:off   5:off   6:off
readahead_early 0:off   1:off   2:on    3:on    4:on    5:on    6:off
readahead_later 0:off   1:off   2:off   3:off   4:off   5:on    6:off
restorecond     0:off   1:off   2:on    3:on    4:on    5:on    6:off
rpcgssd         0:off   1:off   2:off   3:on    4:on    5:on    6:off
rpcidmapd       0:off   1:off   2:off   3:on    4:on    5:on    6:off
rpcsvcgssd      0:off   1:off   2:off   3:off   4:off   5:off   6:off
saslauthd       0:off   1:off   2:off   3:off   4:off   5:off   6:off
sendmail        0:off   1:off   2:on    3:on    4:on    5:off   6:off
smartd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
squid           0:off   1:off   2:off   3:off   4:off   5:off   6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
syslog          0:off   1:off   2:on    3:on    4:on    5:on    6:off
trackpad        0:off   1:off   2:off   3:on    4:on    5:on    6:off
tux             0:off   1:off   2:off   3:off   4:off   5:off   6:off
vncserver       0:off   1:off   2:off   3:off   4:off   5:off   6:off
wicd            0:off   1:off   2:off   3:off   4:off   5:off   6:off
winbind         0:off   1:off   2:off   3:off   4:off   5:off   6:off
wpa_supplicant  0:off   1:off   2:off   3:off   4:off   5:off   6:off
xfs             0:off   1:off   2:on    3:on    4:on    5:on    6:off
ypbind          0:off   1:off   2:off   3:off   4:off   5:off   6:off
yum-updatesd    0:off   1:off   2:off   3:on    4:on    5:on    6:off

アップデートの確認と更新

ディスクトップからアッブデートする場合は

メニューバーからアプリケーション>システムツール>ソフトウェアアップデーターを選ぶ。

up01












説明画像ではアップデートはなかったけれど、もしあった場合はここで自動的にアップデートファイルが表示されるのでアップデートする。

up2














端末からコントロールする場合は次の様にタイプする。

[root@xxx ~]# yum check-update
これはアップデーターがあるかどうか調べるコマンド。
Loading "installonlyn" plugin
[root@xxx ~]# yum update
アップデーターがあれば実行。ないので下のように表示される。
Loading "installonlyn" plugin
Setting up Update Process
No Packages marked for Update/Obsoletion



ネットワークの設定

メニューバーのシステム>管理>ネットワークと進んで行く。

setup1












このマシンのネットワークカードに基本設定を入れる。

set2















サブネットマスクは割り当てられたクラスC未満だったから240。デフォルトゲートウェイはファイアーウォールで監視されているアドレスを入れる。

ss3


















次にDNSの設定欄。ホスト名は動かしたいサーバが何なのか良く考えて付けよう。プライマリDNSは自社IP、セカンダリDNSはKDDIのアドレスを入れる。

ss5















これが済んだら一旦再起動する。
記事検索
Archives
Recent Comments
Profile

きよぺん

Recent TrackBacks
なんだろう? トラックバックがあった。 (お茶とパチスロとシルクロードオンライン)
Lv35になった
秋吉台 (日本観光地ガイド)
秋吉台はシルクの墓地か?
QRコード
QRコード
訪問者数

  • ライブドアブログ