Monitoring Serwerów - Forum o monitoringu infrastruktury IT
NTP
#1
Często wdrażając mechanizmy i procedury bezpieczeństwa u klienta, jestem pytany co jest podstawą bezpieczeństwa w sieci. Odpowiedź jest jedna: własny serwer NTP. Zaskoczeni?
Truizmem jest stwierdzenie, że aby diagnozować usterki, analizować stan urządzeń i sieci, lub przeprowadzać analizę powłamaniową należy mieć centralny system logów. Logi spływające do jednego urządzenia, które dodatkowo umożliwia łatwy wgląd i analizę są podstawą, bez której żadna poważna firma nie może się obejść. Często jednak osoby odpowiedzialne za bezpieczeństwo zapominają o pewnym drobnym fakcie – aby logi były miarodajne, czas na każdej z maszyn musi być taki sam. W innym przypadku analizę logów będziecie rozpoczynali od sprawdzenia czasu na interesującym was serwerze i ewentualnej korekcie. Przyznacie, że nie brzmi zachęcająco. 
Protokół NTP jest jednym z najstarszych protokołów będących do tej pory w użyciu. Pozwala on na synchronizację zegarów na hostach w sieci. Każda z maszyn może być klientem NTP lub serwerem. Często jest tak, że serwer synchronizowany jest przez inny serwer. W prawidłowo zaprojektowanej i bezpiecznej sieci istnieje serwer z którego wszystkie inne urządzenia, czy to stacje robocze, czy serwery, czy też urządzenia aktywne sieci pobierają aktualny czas. Spytacie, a co będzie jak serwer NTP nie zsynchronizuje się z żadnym z zaufanych serwerów? Nic się nie stanie, bo cała wasza sieć będzie „odbierała na tych samych falach”, a więc nie trzeba będzie przetwarzać dodatkowo logów. Każde zdarzenie będzie zapisane we właściwej kolejności relatywnie do innych zdarzeń. Sieć wewnętrzną należy traktować jak naczynie zamknięte – nie ważne jest jaki czas jest na zewnątrz, ważne jest to, aby w sieci czas był taki sam dla wszystkich urządzeń.

Serwer NTP 

Na dystrybucjach typu Red Hat instalujemy ntp:

Code:
# yum install ntp
# chkconfig ntpd on

Otwieramy plik konfiguracyjny znajdujący się w /etc/ntp.config i wpisujemy w nim serwery zewnętrzne. Aby wybrać bezpieczne serwery warto je wziąć ze strony: http://www.pool.ntp.org/zone/pl

Code:
      server 0.pl.pool.ntp.org prefer
      server 1.pl.pool.ntp.org
      server 2.pl.pool.ntp.org
      server 3.pl.pool.ntp.org

Ważne jest ograniczenie zasięgu naszej usługi. Aby to zrobić wpisujemy:

Code:
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap


Oznacza to, że tylko hosty z sieci 192.168.1.0/24 będą korzystały z tego serwera.
Jeżeli w naszym środowisku posiadamy Solarisy może też odznaczyć opcję:

Code:
#broadcast 224.0.1.1 autokey

Należy jednak pamiętać, że w takim przypadku zalewamy sieć ruchem multicastowym.
Dodatkowo warto pamiętać o dodaniu reguły do firewalla, aby przepuszczała ruch:

Code:
/sbin/iptables –A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 123 -j ACCEPT

Na koniec należy zrestartować usługę:

Code:
/etc/init.d/ntpd  restart

W celach weryfikacji wydajemy polecenie:

Code:
ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 96-7.cpe.smnt.p 91.237.52.68     3 u    7   64    1   24.372    0.098   0.000
 96-1.cpe.smnt.p 31.216.56.5      2 u    6   64    1   21.311   -8.576   0.000
 195.46.37.22    212.244.36.227   2 u    5   64    1   38.141   -4.985   0.000
 ntp-03.ipartner 212.244.36.227   2 u    5   64    1   66.471   -6.225   0.000


Klient NTP 

Na kliencie (linux, unix) konfigurujemy tylko adres serwera:
Code:
serwer  192.168.1.1

po zapisaniu pliku wykonujemy:

Code:
# echo '30 * * * * root /usr/sbin/ntpd -q -u ntp:ntp' > /etc/cron.d/ntpd

Nic nie szkodzi na przeszkodzie, aby dokonać manualnej synchronizacji. W tym celu wydajemy polecenie:

Code:
ntpdate 192.168.1.1, gdzie 192.168.1.1 jest naszym serwerem ntp.

Na kliencie Widnows możemy synchronizacji dokonać klikając na datę i godzinę -> zmień ustawienia daty godziny.. ->Czas z Internetu i wpisujemy adres IP naszego serwera.
Można też tak:

Code:
net time /setsntp:192.168.1.1

Na urządzeniach aktywnych sieci firmy Cisco konfiguracja jest równie łatwa:

Code:
cisco1841#config t
ntp serwer 192.168.1.1

Po wydaniu tych poleceń weryfikujemy, czy urządzenie się zsynchronizowało:

Code:
cisco1841#show ntp status
Clock is synchronized, stratum 5, reference is 192.168.1.1
nominal freq is 250.0000 Hz, actual freq is 249.9997 Hz, precision is 2**18
reference time is D5FFBE6D.568CA957 (11:37:17.338 UTC Wed Oct 9 2013)
clock offset is 4.2759 msec, root delay is 40.04 msec
root dispersion is 105.99 msec, peer dispersion is 0.99 msec

Po tych krokach urządzenia w naszej sieci egzystują w tym samym czasie.
A więc pora na serwer logów!
Reply


Forum Jump:

User Panel Messages