図3 B社は時刻同期サーバーを導入してWebサーバーとパソコン間で時刻の同期をとった
「証明書の有効期限が切れています」と表示されるパソコンがあった。調べてみるとパソコンの時刻が不適切で,サーバー証明書の有効期間の範囲から外れていた。時刻同期サーバーを導入し,すべてのパソコンを同じ時刻に設定できるようにした。

時刻がずれて認証できない

 業務システムの開発がほぼ終了。テストを行っていたところ,特定のパソコンから業務システムが稼働するWebサーバーに接続すると,「証明書の有効期限が切れています」というメッセージがパソコンの画面上に表示され,業務システムに接続できない現象が発生した。

 調査したところ,パソコンのシステム時刻が「2003年3月31日」という過去の日時に設定されていたことが判明した。システム時刻がずれていたことで,サーバー証明書の有効期限の開始時刻「2003年4月1日0時0分」と終了時刻「2005年3月31日23時59分」の範囲から外れてしまったのである。

時刻同期サーバーを導入

 B社では当初,パソコンのシステム時刻はその都度正しい値に設定すればよいと考えていた。しかし,パソコンが内蔵する時計は予想以上に不正確で,時刻のずれが頻繁に生じることが分かった。また,業務システムの本番稼働後にすべてのパソコンのシステム時刻を常に正しく合わせるのは,管理コスト面からも大変である。

 そこでB社では,すべてのパソコンのシステム時刻を正確に合わせるため,時刻同期サーバーを社内に導入した(図3[拡大表示])。時刻同期サーバーはNTPサーバーとも呼ばれ,複数のコンピュータ間で時刻の同期を取るために設置する。具体的には,社内で既に動いているDNSサーバーに,UNIX用の時刻同期サーバー・ソフト「xntp」をインストールして常駐させた。xntpはマシンにそれほど負荷をかけないのでDNSサーバーと共存させても問題はなかった。

 全パソコンとWebサーバーが時刻同期サーバーへ定期的に現在時刻を参照するように設定。Webサーバーとパソコンは常に同じ時刻となった。

 具体的には,Windowsパソコン・ユーザーはコマンド・プロンプト上で「net time」コマンドを打ち込むことで時刻同期サーバーに接続。現在時刻を簡単に設定することができるようになった。時刻同期サーバー自体の時刻は,月に1度,情報システム部門の担当者が手動で正しい時刻に合わせることにした。

 時刻同期サーバーの導入によって,証明書の有効期限をサーバーとクライアントで同期させられるようになり,特定のパソコンからWebサーバーに接続できなくなる問題は発生しなくなった。