4.2 サーバーサービスのセキュア化
前のページへ
次のページへ

4.2.3 ntpdのインストールと設定

ネットワーク管理を行う場合、ネットワークに所属するサーバーやクライアントの時刻を正しい時刻で同期させておく必要がある。時刻を同期する理由はいくつかあるが、最大の理由は、これにより複数サーバーでのログ出力時間の信憑性を持たせるためである。もし時刻同期が取られていなければ、複数台のサーバーからなるネットワークが不正アクセスの被害を受けた場合、各ホストのログの関連性を解析することが非常に困難になる。これ以外にもネットワーク上のホストの時刻が同期していることによって、メールの配送が正しく行われるなどの利点がある。

1) 運用方針

ネットワーク内の時刻を同期させるために使用されるプロトコルをNTP(Network Time Protocol)という。NTPは、これを使用する全てのホストの時刻を正しい時刻(UTC:協定世界時)に合わせることを目的としている。

NTPによって時刻を合わせるには、ホストの時刻を、基準時刻を持つNTPサーバーの時刻に同期させることになる(注1) 。基準時刻を持つNTPサーバーは公開サーバーとしてインターネット上に複数台設置されており、仮にこれを1次NTPサーバーとすると、それを参照する複数台の2次NTPサーバーがあり、さらに3次NTPサーバーがある(Fig. 4.2参照)。このように階層構造を用いることで、時刻同期の負荷分散が可能な仕組みをNTPは採用している。

(注1) NTPの時刻同期は、時刻のずれを徐々に解消するような仕組みになっている。基準時刻より遅れている場合は時刻の進み具合を早め、進んでいる場合は時刻の進み具合を遅らせるようにして時刻の調整を行う。  

Fig. 4.2 NTPサーバーの構成例

本モデルでは、組織内(DMZネットワーク上)にNTPサーバーを1台設置し(注2) 、そのNTPサーバーが基準時刻を持つように上位のNTPサーバーを参照し、時刻の同期を行う。また、このNTPサーバーが、組織内の他のホストからの時刻問い合わせに応じ、組織内ホストの時刻同期を図る。組織内の基準時刻NTPサーバーの運用方針は、以下のものとする。

  (注2) 組織内にNTPサーバーを設置する場合は、組織の基準となるNTPサーバーを複数台設置することが望ましい。なぜなら、基準NTPサーバーが1台である場合、ネットワークの遅延や、参照している上位NTPサーバーのトラブルなどで基準NTPサーバー自身の時刻の精度を欠く可能性があるためである。また、複数台のNTPサーバー設置する場合には、Fig. 4.2に示したように、それぞれが異なる上位NTPサーバーを参照し、互いに同期(peer)することを推奨している。  

2) ntpdのインストール

本モデルでは、NTPサーバーとしてntpdをインストールし、「1)運用方針」にしたがって設定を行う。ntpdは以下のサイトから入手可能で、ここではntpd 4.1.0を用いて解説を行う。

  ntpd入手先:
   http://www.eecis.udel.edu/~ntp/

以下の手順で、入手したアーカイブを展開し、コンパイルそしてインストールを行う。なお、インストール作業はroot権限で行う必要がある。

---アーカイブの展開---
% gzip -cd ntp-4.1.0.tar.gz | tar -xvf -
---コンパイル---
% cd ntp-4.1.0/
% ./configure
% make
---インストール---
% su
# make install

ntpdが時刻の変動を記録するために使用するdriftファイルを作成する。

---driftファイルの作成---
# touch /etc/inet/ntp.drift

3) ntpdの設定

ntpdの起動設定と動作設定ファイル「ntp.conf」を作成する。本モデルでは「1)運用方針」にしたがってア)とイ)の設定を行う。

ア) ntpdの起動設定

システム起動時にntpdが自動的に起動されるように設定する。/etc/rc2.dディレクトリ配下に起動スクリプト「S99ntpd」を作成する。スクリプトの内容は以下のとおり。

#!/sbin/sh
case "$1" in
  'start')
    if [ -f /etc/inet/ntp.conf ]; then
      echo 'starting ntpd daemon'
      /usr/local/bin/ntpd -c /etc/inet/ntp.conf &
    fi
  ;;

  'stop')
    /usr/bin/pkill -x -u 0 'ntpd'
  ;;

  *)
   echo "Usage: $0 { start | stop }"
   exit 1
  ;;
esac
exit 0

スクリプトファイル作成後、実行権限を与えるため、以下のコマンドを実行する。

# chmod 744 S99ntpd

イ) ntpdの設定

ntpdの設定は、/etc/inet/ntp.confファイルで行う。デフォルト設定では、すべてのネットワークへの時刻問い合わせとすべてのネットワークからの時刻問い合わせを許可している。本モデルでは、運用方針にしたがい、Fig 4.2に示す構成でNTPサーバーの設定を実施する。また、NTPサーバーの時刻問い合わせの方針は、Table 4.13に示すとおりである。

Fig. 4.3 本モデルのNTPサーバー構成

Table 4.13 NTPサーバーの時刻問い合わせ方針

対象サーバー NTP通信の内容
上位NTPサーバー 上位NTPサーバー(210.xxx.xxx.x)に対して一方的に時刻を同期
組織内サーバー 内部ホストからの時刻問い合わせに応答

本モデルのNTPサーバーの設定ファイルの内容は以下のとおりである。

---ntp.confファイル---
#一方的に時刻を同期する上位NTPサーバーを指定する
server 210.xxx.xxx.x

#NTPデーモンが時刻の変動を記録するdriftfileを指定する
driftfile /etc/inet/ntp.drift

#デフォルトでは全てのホストとのNTP通信を許可しない
#対象NTPサーバーに「default」または「0.0.0.0」と指定すると
#デフォルトのルールを記述したことになる
#
最後にマッチした行の制限がかかるので、最初にデフォルトを記述する必要がある
restrict default ignore

#localhostはアクセス制限なし
restrict 127.0.0.1

#組織内ネットワークからの時刻問い合わせにのみ応答する
restrict 192.168.0.0 mask 255.255.255.0 noquery nomodify nopeer notrust notrap

#一方的に時刻を参照する上位NTPサーバーからのNTP通信を限定する
restrict 210.xxx.xxx.x noquery nomodify

ntp.confファイルにおける上位、同位、下位のNTPサーバーとの時刻問い合わせルールの記述方法は、以下のとおりである。また、指定可能なキーワードとその解説をTable 4.14に示す。

  <キーワード> <対象NTPサーバー> <オプション> <オプション>...

Table 4.14 ntp.confのキーワード

キーワード 解説
server 一方的に時刻を同期するNTPサーバーを指定
peer 相互に時刻を同期するNTPサーバーを指定
restrict 指定したNTPサーバーとのNTP通信を許可

キーワード「restrict」では、オプションを指定し、NTP通信の動作を設定することができる。本モデルで使用しているオプションとその解説をTable 4.15に示す。また、上記の設定ファイルで記述しているように、オプションは同一ルールに複数指定することが可能である。

Table 4.15 restrictのオプション

オプション 解説 構文
ignore すべてのNTPパケットを無視 restrict <対象NTPサーバー> ignore
nomodify 時刻問い合わせに応答するが、時刻の変更要求などは無視 restrict <対象NTPサーバー> nomodify
notrust 時刻問い合わせに応答するが、自身の時刻合わせには使用しない restrict <対象NTPサーバー> notrust
nopeer 指定ホストと相互に同期しない restrict <対象NTPサーバー> nopeer
noquery NTPの実装に依存する時刻問い合わせを無視 restrict <対象NTPサーバー> noquery

 

ntpdの認証機能

NTPにはオプションとして認証機能が規定されており、NTP通信を行うホストを認証した信頼できるサーバー、ホストに限定することが可能である。

nptdでは、以下の2つの認証方式に対応している。

  • 対称鍵暗号化方式による認証
  • 公開鍵暗号化方式による認証

ntpdの認証機能に関する詳細は、下記のサイトを参照する。

 NTP Documentation
 「Authentication Options」:
  http://www.eecis.udel.edu/~ntp/ntp_spool/html/authopt.htm

 

 

前のページへ
目次へ
次のページへ
BINDのインストールと設定
第4章の目次
Apache+mod SSLのインストールと設定


Copyright ©   2002 Information-technology Promotion Agency, Japan.  All rights  reserved.