13.5. chrony における Network Time Security (NTS) の概要


Network Time Security (NTS) は、大規模なクライアントを拡張するように設計された Network Time Protocol (NTP) の認証メカニズムです。これは、クライアントマシンへの移動時に、サーバーマシンから受信したパケットが変更されていないことを確認します。NTS (Network Time Security) には、サーバーとそのクライアント間で使用される暗号鍵を自動的に作成する NTS-KE (Key Establishment) プロトコルが含まれます。

警告

NTS は、FIPS および OSPP プロファイルと互換性がありません。FIPS および OSPP プロファイルを有効にすると、NTS で設定された chronyd が致命的なメッセージを表示して中断する可能性があります。/etc/sysconfig/chronyd ファイルに GNUTLS_FORCE_FIPS_MODE=0 設定を追加することで、chronyd サービスの OSPP プロファイルと FIPS モードを無効にできます。

13.5.1. クライアントでの Network Time Security (NTS) の有効化

デフォルトでは、Network Time Security (NTS) は有効になっていません。/etc/chrony.conf では、NTS を有効にできます。これを行うには、以下の手順を実行します。

前提条件

  • タイムサーバーが NTS をサポートしている。

手順

/etc/crony.conf ファイルを編集し、次の変更を加えます。

  1. 推奨される iburst オプションのほかに、nts オプションを使用してサーバーを指定します。

    For example:
    server time.example.com iburst nts
    server nts.netnod.se iburst nts
    server ptbtime1.ptb.de iburst nts
  2. システムの起動中に Network Time Security-Key Establishment (NTS-KE) セッションが繰り返されないように、次の設定を追加します。

    ntsdumpdir /var/lib/chrony
  3. 次の設定をコメントアウトまたは削除して、DHCP によって提供される Network Time Protocol (NTP) サーバーとの同期を無効にします (設定が存在する場合)。

    sourcedir /run/chrony-dhcp
  4. chronyd を再起動します。

    systemctl restart chronyd

検証

  • NTS キーが正常に確立されたかどうかを確認します。

    # chronyc -N authdata
    
    Name/IP address  Mode KeyID Type KLen Last Atmp  NAK Cook CLen
    ================================================================
    time.example.com  NTS     1   15  256  33m    0    0    8  100
    nts.netnod.se   NTS     1   15  256  33m    0    0    8  100
    ptbtime1.ptb.de   NTS     1   15  256  33m    0    0    8  100

    KeyIDType、および KLen には、ゼロ以外の値を指定する必要があります。この値が 0 になっていない場合は、システムログで chronyd からのエラーメッセージを確認します。

  • クライアントが NTP 測定を行っていることを確認します。

    # chronyc -N sources
    
    MS Name/IP address Stratum Poll Reach LastRx Last sample
    =========================================================
    time.example.com   3        6   377    45   +355us[ +375us] +/-   11ms
    nts.netnod.se   1        6   377    44   +237us[ +237us] +/-   23ms
    ptbtime1.ptb.de    1        6   377    44   -170us[ -170us] +/-   22ms

    Reach 列の値はゼロ以外にする必要があります。理想的には 377 です。この値が 377 になることがめったにないか、377 に到達しない場合は、NTP の要求または応答がネットワークで失われていることを示しています。

関連情報

  • システム上の chrony.conf(5) man ページ

13.5.2. タイムサーバーでの Network Time Security (NTS) の有効化

独自の Network Time Protocol (NTP) サーバーを実行している場合は、サーバーの Network Time Security (NTS) サポートを有効にして、クライアントの同期を容易にし、安全に行うことができます。

NTP サーバーがその他のサーバーのクライアントである (Stratum 1 サーバーではない) 場合は、同期に NTS または対称鍵を使用する必要があります。

前提条件

  • PEM 形式のサーバー秘密鍵
  • PEM 形式で必要な中間証明書を持つサーバー証明書

手順

  1. /etc/chrony.conf ファイルを編集し、次の変更を加えます。

    ntsserverkey /etc/pki/tls/private/<ntp-server.example.net>.key
    ntsservercert /etc/pki/tls/certs/<ntp-server.example.net>.crt
  2. 秘密鍵と証明書ファイルの両方に、ファイルの読み取りを chrony ユーザーに許可する権限を設定します。次に例を示します。

    # chown root:chrony /etc/pki/tls/private/<ntp-server.example.net>.key /etc/pki/tls/certs/<ntp-server.example.net>.crt
    
    # chmod 644 /etc/pki/tls/private/<ntp-server.example.net>.key /etc/pki/tls/certs/<ntp-server.example.net>.crt
  3. ntsdumpdir /var/lib/chrony 設定が存在することを確認します。
  4. Firewalld で必要なポートを開きます。

    # firewall-cmd –permannent --add-port={323/udp,4460/tcp}
    # firewall-cmd --reload
  5. chronyd を再起動します。

    # systemctl restart chronyd

検証

  1. クライアントマシンからテストを実行します。

    $ chronyd -Q -t 3 'server
    
    ntp-server.example.net iburst nts maxsamples 1'
    2021-09-15T13:45:26Z chronyd version 4.1 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +NTS +SECHASH +IPV6 +DEBUG)
    2021-09-15T13:45:26Z Disabled control of system clock
    2021-09-15T13:45:28Z System clock wrong by 0.002205 seconds (ignored)
    2021-09-15T13:45:28Z chronyd exiting

    System clock wrong メッセージは、NTP サーバーが NTS-KE 接続を受け入れ、NTS で保護されている NTP メッセージで応答していることを示しています。

  2. サーバーで監視されている NTS-KE 接続と認証された NTP パケットを確認します。

    # chronyc serverstats
    
    NTP packets received       : 7
    NTP packets dropped        : 0
    Command packets received   : 22
    Command packets dropped    : 0
    Client log records dropped : 0
    NTS-KE connections accepted: 1
    NTS-KE connections dropped : 0
    Authenticated NTP packets: 7

    NTS-KE connections accepted および Authenticated NTP packets の値がゼロ以外の値の場合は、少なくとも 1 台のクライアントが NTS-KE ポートに接続し、認証された NTP リクエストを送信できたことを意味します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.