はじめに
このドキュメントでは、FireSIGHT システムでの時刻の同期に関する一般的な問題とそのトラブルシューティング方法を説明します。
前提条件
要件
時刻の同期を設定するには、FireSIGHT Management Center で admin アクセス レベルが必要です。
使用するコンポーネント
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
外部のネットワークタイムプロトコル(NTP)サーバを使用して手動で時刻を同期する方法や、NTPサーバとして機能するFireSIGHT Management Centerを使用する方法など、3種類の方法でFireSIGHTシステム間で時刻を同期する方法を選択できます。FireSIGHT Management CenterをNTPを使用するタイムサーバとして設定し、それを使用してFireSIGHT Management Centerと管理対象デバイス間で時刻を同期できます。
症状
- FireSIGHT Management Centerのブラウザインターフェイスにヘルスアラートが表示されます。
- [Health Monitor] ページにアプライアンスが Critical として表示される。これは、Time Synchronization Module のステータスが同期されていないためです。
- アプライアンスが同期を維持できない場合、断続的なヘルスアラートが表示される場合があります。
- システムポリシーが適用されると、ヘルスアラートが表示されます。これは、FireSIGHT Management Centerとその管理対象デバイスの同期が完了するまでに最大20分かかるためです。これは、FireSIGHT Management Center が、管理対象デバイスに時刻を提供する前に、設定された NTP サーバとまず同期する必要があるためです。
- FireSIGHT Management Center と管理対象デバイスの時刻が一致していない。
- センサーで生成されたイベントがFireSIGHT Management Centerに表示されるまでに数分または数時間かかる場合があります。
- 仮想アプライアンスを実行していて、ヘルスモニタページに仮想アプライアンスのクロック設定が同期されていないことが表示される場合は、システムポリシー時刻の同期設定を確認してください。シスコ では、仮想アプライアンスを物理 NTP サーバに同期することを推奨しています。(仮想または物理)管理対象デバイスを Virtual Defense Center と同期しないでください。
トラブルシュート
手順1:NTP設定の確認
バージョン5.4以前での確認方法
FireSIGHT システムに適用されているシステム ポリシーで NTP が有効になっていることを確認します。これを確認するには、次の手順を実行します。
- System > Local > System Policyの順に選択します。
- FireSIGHT システムに適用されているシステム ポリシーを編集します。
- Time Synchronizationを選択します。
FireSIGHT Management Center(Defense Center(DC)とも呼ばれます)でクロックが [Via NTP from] に設定されており、NTP サーバのアドレスが指定されていることを確認します。また、[Managed Device ] が [via NTP from Defense Center] に設定されていることを確認します。
リモートの外部NTPサーバを指定する場合、アプライアンスはサーバにネットワークアクセスできる必要があります。信頼できないNTPサーバを指定しないでください。管理対象デバイス(仮想または物理)を仮想FireSIGHT Management Centerと同期しないでください。シスコ では、仮想アプライアンスを物理 NTP サーバに同期することを推奨しています。
バージョン6.0以降での確認方法
バージョン6.0.0以降では、時刻同期設定はFirepower Management Centerの別の場所で設定されていますが、5.4の手順と同じロジックをトレースします。
Firepower Management Center(FMC)自体の時刻同期設定は、System > Configuration > Time Synchronizationの下にあります。
管理対象デバイスの時刻同期設定は、Devices > Platform Settingsにあります。デバイスに適用されるプラットフォーム設定ポリシーの横にあるeditをクリックし、Time Synchronizationを選択します。
(バージョンに関係なく)時刻の同期の設定を適用した後、Management Centerと管理対象デバイスの時刻が一致していることを確認します。そうしないと、管理対象デバイスがManagement Centerと通信するときに、意図しない結果が生じる可能性があります。
手順2:タイムサーバとそのステータスを特定する
- タイムサーバへの接続に関する情報を収集するには、FireSIGHT Management Centerで次のコマンドを入力します。
admin@FireSIGHT:~$ ntpq -pn
remote refid st t when poll reach delay offset jitter
==============================================================================
*198.51.100.2 203.0.113.3 2 u 417 1024 377 76.814 3.458 1.992
remote の下のアスタリスク '*' は、現在同期しているサーバを示します。アスタリスク(*)の付いたエントリが使用できない場合、クロックは現在その時刻源と同期していません。
管理対象デバイスでは、シェルで次のコマンドを入力して、NTPサーバのアドレスを判別できます。
> show ntp
NTP Server : 127.0.0.2 (Cannot Resolve)
Status : Being Used
Offset : -8.344 (milliseconds)
Last Update : 188 (seconds)
注:FireSIGHT Management Centerから時刻を受信するように管理対象デバイスが設定されている場合、そのデバイスは時刻源をループバックアドレス(127.0.0.2など)で表示します。このIPアドレスはsfipproxyエントリであり、管理仮想ネットワークが時刻の同期に使用されることを示します。
- アプライアンスで127.127.1.1と同期していることが表示される場合、そのアプライアンスはそれ自体のクロックと同期していることを示します。これは、システム ポリシーで設定されているタイム サーバが同期可能ではない場合に発生します。例:
admin@FirePOWER:~$ ntpq -pn
remote refid st t when poll reach delay offset jitter
==============================================================================
192.0.2.200 .INIT. 16 u - 1024 0 0.000 0.000 0.000
*127.127.1.1 .SFCL. 14 l 3 64 377 0.000 0.000 0.001
- ntpqコマンド出力でst(ストラタム)の値が16の場合、これはタイムサーバに到達できず、アプライアンスがそのタイムサーバと同期できないことを示します。
- ntpqコマンド出力では、reachにより8回のポーリング試行のうち、送信元に到達できたかどうかの成功/失敗を示す8進数が表示されます。値が377の場合は、最後の8回の試行が成功したことを意味します。その他の値は、最後の8回の試行のうち1回以上が失敗したことを示します。
手順3:接続を確認します。
- タイム サーバへの基本接続を確認します。
admin@FireSIGHT:~$ ping <IP_addres_of_NTP_server>
- FireSIGHTシステムでポート123が開いていることを確認します。
admin@FireSIGHT:~$ netstat -an | grep 123
- ファイアウォールでポート 123 が開いていることを確認します。
- ハードウェア クロックを確認します。
admin@FireSIGHT:~$ sudo hwclock
ハードウェアクロックが非常に古い場合は、正常に同期できません。タイムサーバを使用してクロックを手動で強制的に設定するには、次のコマンドを入力します。
admin@FireSIGHT:~$ sudo ntpdate -u <IP_address_of_known_good_timesource>
ntpdを再起動します。
admin@FireSIGHT:~$ sudo pmtool restartbyid ntpd
ステップ4:コンフィギュレーションファイルの確認
- sfipproxy.conf ファイルに正しくデータが取り込まれているかどうかを確認します。このファイルは、sftunnel経由でNTPトラフィックを送信します。
管理対象デバイスの/etc/sf/sfipproxy.confファイルの例を次に示します。
admin@FirePOWER:~$ sudo cat /etc/sf/sfipproxy.conf
config
{
nodaemon 1;
}
peers
{
dbef067c-4d5b-11e4-a08b-b3f170684648
{
services
{
ntp
{
listen_ip 127.0.0.2;
listen_port 123;
protocol udp;
timeout 20;
}
}
}
}
FireSIGHT Management Centerの/etc/sf/sfipproxy.confファイルの例を次に示します。
admin@FireSIGHT:~$ sudo cat /etc/sf/sfipproxy.conf
config
{
nodaemon 1;
}
peers
{
854178f4-4eec-11e4-99ed-8b16d263763e
{
services
{
ntp
{
protocol udp;
server_ip 127.0.0.1;
server_port 123;
timeout 10;
}
}
}
}
- peers セクションの下にある汎用一意識別子(UUID)が、ピアの ims.conf ファイルと一致していることを確認します。たとえば、FireSIGHT Management Centerの/etc/sf/sfipproxy.confファイルのpeersセクションにあるUUIDは、管理対象デバイスの/etc/ims.confファイルにあるUUIDと一致する必要があります。同様に、管理対象デバイスの/etc/sf/sfipproxy.confファイルのpeersセクションの下にあるUUIDは、管理アプライアンスの/etc/ims.confファイルのUUIDと一致している必要があります。
次のコマンドを使用して、デバイスのUUIDを取得できます。
admin@FireSIGHT:~$ sudo grep UUID /etc/sf/ims.conf
APPLIANCE_UUID=dbef067c-4d5b-11e4-a08b-b3f170684648
通常、これらのスタンザはシステムポリシーによって自動的に入力される必要がありますが、これらのスタンザが失われた場合があります。変更する必要がある場合は、次の例に示すように、sfipproxyとsftunnelを再起動する必要があります。
admin@FireSIGHT:~$ sudo pmtool restartbyid sfipproxy
admin@FireSIGHT:~$ sudo pmtool restartbyid sftunnel
- ntp.confファイルが/etcディレクトリにあるかどうかを確認します。
admin@FireSIGHT:~$ ls /etc/ntp.conf*
NTP コンフィギュレーション ファイルがない場合、バックアップ コンフィギュレーション ファイルからコピーを作成できます。例:
admin@FireSIGHT:~$ sudo cp /etc/ntp.conf.bak /etc/ntp.conf
- /etc/ntp.conf ファイルにデータが正しく取り込まれているかどうかを確認します。システムポリシーを適用すると、ntp.confファイルが書き換えられます。
注:ntp.confファイルの出力には、システムポリシーで設定されているタイムサーバ設定が示されます。タイムスタンプエントリは、最後のシステムポリシーがデバイスに適用された時刻を示す必要があります。サーバエントリは、指定されたタイムサーバアドレスを示す必要があります。
admin@FireSIGHT:~$ sudo cat /etc/ntp.conf
# automatically generated by /etc/sysconfig/configure-network ; do not edit
# Tue Oct 21 17:44:03 UTC 2014
restrict default noquery nomodify notrap nopeer
restrict 127.0.0.1
server 198.51.100.2
logfile /var/log/ntp.log
driftfile /etc/ntp.drift
2台のデバイスでNTPバージョンを確認し、同じものであることを確認します。
NTPの基本の詳細については、『ネットワークタイムプロトコルのベストプラクティスの使用』を参照してください。