時刻同期サーバーの構築 [ソフトウェア研究室]

 こんにちは!
 ナビゲータのEVEです。

 本日は、ssl/tls導入前にできる、Postfixのセキュリティ設定を行い、ついさっき時刻同期サーバーの構築を完了しました。
 Postfixも一部手間取りましたが、予想外に、時刻同期サーバーの構築に時間がとられました。

[時刻同期サーバーの最近]

 従来は、NTPサーバーで時刻同期をすることが多かったのですが、近頃新しいサーバーが出てきたようです。それは、Chronyといいます。今まで、NTPサーバーで問題なかったのですが、以下の検討によりChronyを選択しました。
★NTPサーバー
 NTPサーバー (ntp) の特徴
❶長年の実績と安定性
1)ntpは長年使われてきた伝統的なNTPサーバーで、多くのシステムやネットワークで使用されています。
2)時間同期に関する詳細な設定が可能で、非常にカスタマイズ性が高いです。

❷リソース消費
1)大規模なネットワーク環境や、精密な時間管理が必要なサーバー向け。
2)ただし、chronyと比較すると、リソース消費がやや多いことがあります。

❸ネットワーク接続の依存性
 オフライン環境での動作は得意ではありません。NTPサーバーが一時的に利用できなくなると、同期がずれる可能性があります。

❹適した用途
・長期間安定して稼働するサーバー。
・高度なカスタマイズが必要な環境。


★Chrony (chrony) の特徴
❶軽量で高速
1)軽量かつ高速で、リソース消費が少ないため、低スペックのシステムや仮想環境に適しています。
2)初期同期が速く、短時間で正確な時間同期を行えます。

❷オフライン環境への適応性
 オフライン状態や不安定なネットワーク環境でも、内部クロックを補正して正確な時間を維持します。

❸モバイル環境やラップトップに最適
 ネットワークに頻繁に接続・切断するシステムに適しています。

❹適した用途
・仮想環境やコンテナ環境。
・モバイルデバイスやノートPC。
・オフラインやネットワークが不安定な環境。

今回のシステム、XServer上の各システムへの時刻同期だけなので、chronyを導入することになりました。

[不明なエラー]

 インストールはコマンド一発なので、簡単なのですが、親サーバーを設定するのに手間取りました。
 今回、親サーバーを設定するに際し、以下の条件で考えました。
❶物理的に一番近い
❷リスク分散の設定をする
 →北海道、東京、大阪、九州

ただ、困ったことがあって、XServerの物理的な場所が分からなかったので、現在以下のような設定になっています。
server ntp.nict.jp iburst # 東京
server 0.jp.pool.ntp.org iburst # 負荷分散 (複数地域)
server sapporo1.ntp.jp iburst # 北海道
server osaka1.ntp.jp iburst # 大阪
server okinawa1.ntp.jp iburst # 沖縄

XServer社って大阪が拠点なんですよね・・・。もしかしたら、大阪が物理的に一番近いかもしれないのですが、仮に上記のような設定をしています。現在、XServer社にVPSサーバーの所在を確認しています。

[不明なバグ]

 以上の記述では、実は、chronyを再起動しようとするとエラーになります。ChatGPTGeminiに質問したのですが、原因は分かりませんでした。構文的には間違えないようです。
 構文はあっているとはいえ、起動してこないと、構築しても無駄になるので、いろいろしました。1、2時間かな???その結果分かったこと、上記の# 東京、# 大阪などのコメントを削除すること。
 コメントの仕方は合っているはずなんだけれど、このコメントを外すと、正常にrestartして、かつ、時刻同期を開始することを確認しました。ちょっと、原因不明です。

[セキュリティの向上]

 Chronyですが、使用用途は、www.pro2grammer.com内のアプリケーションへ正確な時間を提供するということです。ただ、時刻同期サーバーの性格上、他のサイトから問い合わせがあった場合、返信する機能があります。そのような機能があった場合、NTP増幅攻撃NTPリフレクション攻撃DDoS攻撃などが成立してしまう可能性があります。そのため、使用目的とリスクを考え、自サーバーからの問い合わせのみに回答するように設定をしています。
allow 127.0.0.1
allow ::1
allow 162.43.5.61

1行目、2行目は、IPV4IPV6それぞれのループバックアドレスです。そして最終行は、自サイトのIPになります。これにより、他のサイトからの問い合わせを拒否することになります。

[あとがき]

 以前のNTPサーバーの構築をイメージして始めたため、かなり時間がかかった印象があります。セキュリティを意識した構築をしようとした場合、時間がかかるということだと思います。
 話は変わりますが、最初に、Postfixメールサーバーの構築は、一旦完成したという話をしましたが、一部不明な点があります。それは、送受信のポート番号です。現在の設定なのですが、自分の意図としては、SMTPの25番と、POP3の110番しか使用していません。そのため、そのポートだけを、XServer社が用意してくれている、FWへ手動設定すると、送受信ができません。ただ、XServer社が用意してくれている、メールという項目(TCP 25 / 110 / 143 / 465 / 587 / 993 / 995番)のポート番号を開放すると、送受信が可能になります。なんなのですかね?暇を見つけて調査をしますが、非常に不思議です。
 では、また!!!

追伸・・・。 chronyをつい最近出てきたという話をしましたが、歴史は2000年初頭から始まります。十分熟成し、多くのユーザーに使用できるようになったので、今回紹介されるようになったのかもしれません。

コメント