彩音のBSD日記
2009年01月16日の日記
2009年01月16日(ntpdで時刻同期の設定をしよう!

サーバーの時間がずれているとサーバーアタックの隙を与えるというお話を聞きます。
どういう理屈なのかは詳しくは知りませんが、とりあえず防御のために
時刻同期を自動で行うようにしましょう。

時刻同期は ntpdate と ntpd で出来るそうで、
ntpd はデーモンなのでこいつを起動しておけば常に監視をしてくれるらしいです。
その方が楽なのでこいつを利用しましょう。

まず、ntpd が入っていない事を確認。


# top

案の定入っていません。

念のため、現在時刻がずれているのか確認。


# date

うわぁ…結構ずれています。

とりあえず設定に入ります。

ntp.conf を編集

ntpd の設定ファイルは /etc/ntp.conf なんだそうです。
ここに参照先のサーバーリストを書き込みます。
複数のサーバーを指定すると一番信頼出来ると思われるサーバーを自動的に選択、同期してくれるそうです。

指定先は、日本標準時プロジェクト さんあたりに。


# vi /etc/ntp.conf
server 133.243.238.244 # ntp.nict.jp
server 133.243.238.163 # ntp.nict.jp
server 133.243.238.164 # ntp.nict.jp
server 133.243.238.243 # ntp.nict.jp
server 127.127.1.0
fudge 127.127.1.0 stratum 10
driftfile /etc/ntpd.drift

fudge は優先順位の指定みたいです。大きくすれば後回しになるようです。
一応保険のために、ローカルファイルを一番優先順位を下げて指定しておきます。
driftfile はこのファイルがあると同期が早くなるんだそうです。
動作原理は知りません。
是非、同期を早くしたいので、空ファイルを作っておきます。


# touch /etc/ntpd.drift

そして、デーモン設定の為に /etc/rc.conf に以下を書き込む。


# vi /etc/rc.conf
ntpd_enable="YES"
ntpd_program="/usr/sbin/ntpd"
ntpd_config="/etc/ntp.conf"
ntpd_sync_on_start="YES"
ntpd_flags="-p /var/run/ntpd.pid -f /etc/ntpd.drift"

準備はできたので起動してみましょう。


# /etc/rc.d/ntpd start

Starting ntpd.

正常に起動したかログを見てみます。


# tail /var/log/messages

Jan 16 11:23:11 ntpd[13702]: ntpd 4.2.0-a Tue May 23 13:17:40 UTC 2006 (1)

大丈夫のようです。

一応デーモンリストを見てみましょう。


# top

いますいます。

起動後、参考にするサーバーにアクセスするまでにしばらく時間がかかるようです。

しばらく待った後、動作を確認してみましょう。


# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+ntp-a3.nict.go. .NICT. 1 u 41 256 17 21.960 106193. 1.167
+ntp-b2.nict.go. .NICT. 1 u 38 256 17 24.144 106193. 1.520
+ntp-b3.nict.go. .NICT. 1 u 43 256 17 23.821 106193. 0.994
*ntp-a2.nict.go. .NICT. 1 u 46 256 17 22.168 106192. 1.921
LOCAL(0) LOCAL(0) 10 l 42 64 37 0.000 0.000 0.002

『*』 がついているサーバーと同期しているそうです。
『+』は次候補のサーバーにつくそうです。

更に同期開始までもう少し時間がかかるようです。

ちょっと待ってから、時刻を確認してみましょう。


# date

大丈夫のようです。
これで、自動的に時刻同期が行われるようになります。