堃哥網管手札第一章NTP Server架設
發佈日期: 2008/05/04
版本:Version1
發佈網址:http://www.itpro.tw
作者:呂堃楠 Email:Mark@mail.itpro.tw MSN : Mark.itpro@hotmail.com
文章歡迎轉貼,轉貼時請註名出處。
Case Study :
某資訊公司發生公司網路遭受到不明人士之攻擊,經查證發現資料庫以及相關ERP重要資訊遭受變更,於是部門IT人員立刻查閱所有Syslog紀錄藉此抽絲剝繭,希望能夠找到重要線索,但在查找的過程中發現,防火牆吐Log的時間和DB被修改的時間以及相關網路設備的時間,居然出現不一致的情形,例如不明人士進入系統的時間居然在防火牆的Access-Log之前,以致於所有Log紀錄沒辦法正確判讀,之所以會發生這樣的問題,關鍵出在網路設備以及相關主機時間並沒有統一,這是一個IT管理者十分容易忽略的問題,但事實上卻是一個相當嚴重的問題,在所有系統時間不一致的情形下,輕者所有Syslog紀錄錯亂導致資訊無法判讀,嚴重者有管過微軟AD_Server的使用者就知道如果Client與AD_Server時間差距達五分鍾以上將導致使用者無法登入AD網域。
堃哥網管手札第一章NTP Server架設
發佈日期: 2008/05/04
版本:Version1
發佈網址:http://www.itpro.tw
作者:呂堃楠 Email:Mark@mail.itpro.tw MSN : Mark.itpro@hotmail.com
文章歡迎轉貼,轉貼時請註名出處。
Case Study :
某資訊公司發生公司網路遭受到不明人士之攻擊,經查證發現資料庫以及相關ERP重要資訊遭受變更,於是部門IT人員立刻查閱所有Syslog紀錄藉此抽絲剝繭,希望能夠找到重要線索,但在查找的過程中發現,防火牆吐Log的時間和DB被修改的時間以及相關網路設備的時間,居然出現不一致的情形,例如不明人士進入系統的時間居然在防火牆的Access-Log之前,以致於所有Log紀錄沒辦法正確判讀,之所以會發生這樣的問題,關鍵出在網路設備以及相關主機時間並沒有統一,這是一個IT管理者十分容易忽略的問題,但事實上卻是一個相當嚴重的問題,在所有系統時間不一致的情形下,輕者所有Syslog紀錄錯亂導致資訊無法判讀,嚴重者有管過微軟AD_Server的使用者就知道如果Client與AD_Server時間差距達五分鍾以上將導致使用者無法登入AD網域。
若您是公司網路的管理者,請務必記得在進行所有網路管理之前,務必將網路所有設備進行對時。
在本文中堃哥將文章分成兩個部份:
第一部份是闡述如何建置NTP Server。
第二部份則是說明如何針對網路設備進行對時。
(一)底下我們將介紹NTP Server的建置方式,建置使用的作業系統為 Linux Fedora System。
步驟如下:
1.Step安裝NTP服務
2.Step設定NTP服務
3.Step檢查NTP Server相關狀態
4.Step將Client對時
Step1.安裝NTP服務最簡單的方式就是透過YUM安裝,只需要輸入 yum install htp 即可,如果你有Linux光碟片亦可以將光碟給Mount起來然後透過 rpm 命令將NTPD給裝起來。
Step2.在修改NTP服務設定檔(ntp.conf)之前,我們必須先讓NTP這個服務可以自動隨著我們的主機啟動,請輸入setup如下圖所示,選擇系統服務並將ntpd這個服務改打勾
。

不需要重新開機直接透過命令 service ntpd start 將服務給啟動。
接下來我們將設定NTP Server相關服務,在執行任何修改之前請養成一個好習慣,將原本的設定檔案給備份
cp /etc/ntp.conf /root/ntp.conf.old,接下來請透過vi修改/etc/ntp.conf
我們要修改的有下列兩個部份
# — CLIENT NETWORK ——-
這裡指的是Clinet許允對時的網段,你可以將需要對時的網段給加入或是單一主機給加入設定如下
restrict 172.16.5.0 mask 255.255.255.0 允許 172.16.5.0-172.16.5.254的主機向NTP Server進行對時。
# — OUR TIMESERVERS —–
請將NTP Server的位置給加入
server 220.130.158.71
server 220.130.158.51
3.Step檢查NTP Server相關狀態
透過 ps axu | grep ntpd 檢查ntp服務是否有正確啟動,並且使用netstat -tlunp
來查看是否有udp123,

在確定服務正常之後我們可以透過 ntpstat 來查看我們架設的NTP Server 是否有和上層 NTP Server正確的Synchronised
[root@Mail sbin]# ntpstat
synchronised to NTP server (220.130.158.71) at stratum 3
time correct to within 67 ms
polling server every 256 s
此處可以看見我們的NTP Server有和上層220.130.158.71做Syn
Polling的時間為256秒一次
[root@Mail sbin]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+220-130-158-52. 220.130.158.50 2 u 153 256 377 41.390 13.484 16.915
-220-130-158-72. 220.130.158.50 2 u 32 256 377 27.852 -13.429 21.382
220-130-158-71. .INIT. 16 u - 1024 0 0.000 0.000 4000.00
220-130-158-71. .INIT. 16 u - 1024 0 0.000 0.000 4000.00
+220-130-158-51. 220.130.158.50 2 u 95 256 377 34.323 16.391 19.466
-photolab.tw 220.130.158.51 3 u 96 256 377 36.218 -6.337 9.311
+w3.cgucccc.org 163.25.109.18 3 u 99 256 377 32.628 14.289 13.248
+arteq.com.tw 220.130.158.51 3 u 154 256 377 57.344 8.330 11.166
Mail.ITPro.TW .INIT. 16 l - 1024 0 0.000 0.000 4000.00
*220-130-158-71. 220.130.158.50 2 u 27 256 377 35.935 16.840 10.97
這裡有幾個比較重要的選項要注意,左邊的
+號代表正在使用這台NTP_Server,*代表次要的NTP_Server
when:幾秒鍾前曾經做過時間同步
poll:幾秒鍾之後和上層NTP_Server做Syn
reach:和上層NTP Server Syn過幾次
delay:網路傳輸過程當中延遲的時間
4.Step將Client對時
這裡我們選用的為Windows作業系統、CISCO Router以及PIX_Firewall
(1) Windows Base NTP Client
Windows作業系統來說,我們可以透過日期時間內的網際網路時間輸入NTP Server IP,

但是請注意在預設的情形之下Windows作業系統每天才會和NTP_Server做一次Syn,這樣不太符合我們的需求,所以我們透過修改機碼的方式讓Windows NTP Client每隔15分鍾就自動和NTP Server做Syn。
修改幾碼位置如下
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProviders NtpClientSpecialPollInterval,修改為十進位900,則Windows NTP Client將會每隔15分鍾自動和NTP Server做Syn。
(2)CISCO Router&Switch
ITProSW#sh clock —-來確定當前系統時間
*02:45:30.070 UTC Sun Nov 28 1993
ITProSW#sh run | i service
service timestamps debug uptime —–設定debug上面的時間
service timestamps log uptime —–設定Log上面的時間
將這兩個部份修改為
ITProSW(config)#service timestamps debug datetime show-timezone localtime
ITProSW(config)#service timestamps log datetime show-timezone localtime
ITProSW(config)#clock timezone TW +8
針對CISCO_Switch NTP Client進行配置
ITProSW(config)#ntp ?
access-group Control NTP access
authenticate Authenticate time sources
authentication-key Authentication key for trusted time sources
broadcastdelay Estimated round-trip delay
clock-period Length of hardware clock tick
max-associations Set maximum number of associations
peer Configure NTP peer
server Configure NTP server
source Configure interface for source address
trusted-key Key numbers for trusted time sources
ITProSW(config)#ntp server 172.16.5.20 —NTP_Server主機 IP
ITProSW(config)#access-list 1 permit 172.16.5.20 0.0.0.0
ITProSW(config)#ntp access-group serve 1
ITProSW#sh ntp st
Clock is synchronized, stratum 4, reference is 172.16.5.20
nominal freq is 190.7348 Hz, actual freq is 190.7348 Hz, precision is 2**17
reference time is CBBF1F73.75CE0E4C (23:51:15.460 TW Sun Apr 27 2008)
clock offset is 4.1434 msec, root delay is 44.85 msec
root dispersion is 126.68 msec, peer dispersion is 16.54 msec
ITProSW#sh ntp as
address ref clock st when poll reach delay offset disp
*~172.16.5.20 220.130.158.51 3 17 64 370 2.1 4.14 16000.
* master (synced), # master (unsynced), + selected, - candidate, ~ configured
ITProSW#sh run | i ntp –於設定檔中查找 ntp相關的命令
ntp server 172.16.5.20
透過 debug 命令來查看 ntp packet
ITProSW#debug ntp ?
adjust NTP clock adjustments
authentication NTP authentication
events NTP events
loopfilter NTP loop filter
packets NTP packets
params NTP clock parameters
refclock NTP reference clocks
select NTP clock selection
sync NTP clock synchronization
validity NTP peer clock validity
ITProSW#debug ntp syn
ITProSW#debug ntp sync
NTP clock synchronization debugging is on
ITProSW#ter mon
ITProSW#debug ntp packets
NTP packets debugging is on
NTP events debugging is on
ITProSW#
ITProSW#
Apr 27 23:56:35 TW: NTP: xmit packet to 172.16.5.20:
Apr 27 23:56:35 TW: leap 0, mode 3, version 3, stratum 4, ppoll 64
Apr 27 23:56:35 TW: rtdel 0B7B (44.846), rtdsp 206F (126.694), refid AC100514 (172.16.5.20)
Apr 27 23:56:35 TW: ref CBBF1F73.75CE0E4C (23:51:15.460 TW Sun Apr 27 2008)
Apr 27 23:56:35 TW: org CBBF2073.8365BA6E (23:55:31.513 TW Sun Apr 27 2008)
Apr 27 23:56:35 TW: rec CBBF2073.788C22B8 (23:55:31.470 TW Sun Apr 27 2008)
Apr 27 23:56:35 TW: xmt CBBF20B3.7512A5F3 (23:56:35.457 TW Sun Apr 27 2008)
Apr 27 23:56:35 TW: NTP: rcv packet from 172.16.5.20:
Apr 27 23:56:35 TW: leap 0, mode 4, version 3, stratum 3, ppoll 64
Apr 27 23:56:35 TW: rtdel 0AF4 (42.786), rtdsp 1C5E (110.809), refid DC829E33 (220.130.158.51)
(3)針對PIX_Firewall
pixfirewall# sh clock 來確定當前系統時間
23:56:46.528 CST Sun Apr 27 2008
pixfirewall(config)# ntp ?
Usage: ntp authenticate
no ntp authenticate
ntp authentication-key <number> md5 <value>
no ntp authentication-key <number>
ntp server <ip_address> [key <number>] source <if_name> [prefer]
no ntp server <ip_address>
ntp trusted-key <number>
no ntp trusted-key <number>
show ntp [associations [detail] | status]
pixfirewall(config)# ntp server 172.16.5.20 source dmz —設定NTP Server的IP Source介面為DMZ介面
pixfirewall(config)# sh ntp st
Clock is synchronized, stratum 4, reference is 172.16.5.20
nominal freq is 99.9984 Hz, actual freq is 99.9993 Hz, precision is 2**6
reference time is cbbf21b8.b61f9294 (00:00:56.711 CST Mon Apr 28 2008)
clock offset is -39.6341 msec, root delay is 51.36 msec
root dispersion is 191.60 msec, peer dispersion is 45.29 msec
pixfirewall(config)# sh ntp as
address ref clock st when poll reach delay offset disp
*~172.16.5.20 220.130.158.51 3 30 256 377 0.5 -39.63 45.3
* master (synced), # master (unsynced), + selected, - candidate, ~ configured
上述就是ITPro NTP_Server以及NTP_Client相關設定,要將網路給管理好,最基本也是最重要,若您對該文章有什麼建議以及認為需要修訂的部份請聯絡我,謝謝。