Бруй В.В., Карлов С.В. - Linux-сервер - пошаговые инструкции - инсталляции и настройки (1077321), страница 66
Текст из файла (страница 66)
Если хотя бы одна директива, разрешающая доступ к серверу, отсутствует –доступ к серверу запрещается.Наиболее часто используются следующие флаги:• notrust –м не рассматривать системы из определенного выше диапазона адресов как источниксинхронизации;• nomodify – игнорировать пакеты, предназначенные для модификации состояния вашего сервера;• ignore – игнорировать все остальные пакеты;• noquery – запрет на запросы о состоянии вашего сервера;Строка:restrict default notrust nomodify ignoreзапрещает доступ к службе ntp со всего возможного диапазона IP-адресов.Строка:restrict 127.0.0.1разрешает полный доступ к службе ntp через интерфейс возвратной петли.Строка:restrict 172.16.181.0 mask 255.255.255.0 notrust nomodify notrapразрешает использовать клиентам из локальной сети 172.16.181.0/255.255.255.0 ваш сервер в качестве NTPсервера.Строки:restrict 195.83.132.135 mask 255.255.255.255 nomodify notrap noqueryrestrict 216.27.190.202 mask 255.255.255.255 nomodify notrap noqueryrestrict 199.212.17.34 mask 255.255.255.255 nomodify notrap noqueryserver 195.83.132.135 preferserver 216.27.190.202server 199.212.17.34разрешают использовать сервера 195.83.132.135, 216.27.190.202 и 199.212.17.34 для синхронизации временина вашем сервере, при этом предпочтительным является использование сервера с IP-адресом 195.83.132.135.Строки:server 127.127.1.0fudge 127.127.1.0 stratum 10276Часть 4.
Программное обеспечение для ограничения доступа к серверу...разрешают использовать при отсутствии связи системные часы вашего сервера.Строка:driftfile /etc/ntp.driftопределяет файл, в который записывается отклонение частоты системных часов вашего сервера относительно эталонных серверов.Строка:broadcastdelay 0.004определяет величину временной задержки при широковещательной рассылке.
Здесь устанавливается предполагаемое значение, в дальнейшем оно автоматически вычисляется сервером и корректируется.Шаг 2Установите права доступа к файлу /etc/ntp.conf и определите его владельцем пользователяroot:[root@drwalbr /]# chmod 644 /etc/ntp.conf[root@drwalbr /]# chown 0.0 /etc/ntp.confКонфигурационный файл /etc/ntp.conf для клиентаВполне возможно, что использование термина «клиент» в данном случае является не совсем удачным, т. к.
ниже рассматривается пример конфигурации NTP-сервера, опрашивающего другие сервера дляполучения текущего времени с NTP-сервера сети или внешних NTP-серверов. В отличие от предыдущейконфигурации в рассматриваемом ниже примере NTP-сервер не позволяет использовать себя другим системам в качестве эталона для синхронизации времени.Для конфигурирования NTP в качестве клиента необходимо выполнить следующие операции.Шаг 1Создайте файл /etc/ntp.conf, содержащий следующие строки:restrict default notrust nomodify ignorerestrict 127.0.0.1restrict 172.16.181.0 mask 255.255.255.0 notrust nomodify notrapserver 172.16.181.111server 127.127.1.0fudge 127.127.1.0 stratum 10driftfile /etc/ntp.driftbroadcastdelay 0.004В рассматриваемой конфигурации в качестве эталона используется сервер времени локальной сети,запущенный на системе с IP-адресом 172.16.181.111.Шаг 2Установите права доступа к файлу /etc/ntp.conf и определите его владельцем пользователяroot:[root@drwalbr /]# chmod 644 /etc/ntp.conf[root@drwalbr /]# chown 0.0 /etc/ntp.confКонфигурационный файл /etc/ntp.driftВ файл /etc/ntp.drift записывается вычисляемое ежечасно отклонение частоты системных часов вашего сервера относительно системных часов эталонных серверов.Шаг 1Создайте файл /etc/ntp.drift и запишите в него строку, соответствующую нулевому отклонению частот:[root@drwalbr /]# echo '0.0' > /etc/ntp.driftЗАМЕЧАНИЕ Введенное значение никак не отразится на точности вашего сервера, т.
к. через час NTPрассчитает отклонение частоты и запишет найденное значение в файл /etc/ntp.driftШаг 2Установите права доступа к файлу /etc/ntp.conf и определите его владельцем пользователя ntp:[root@drwalbr /]# chmod 600 /etc/ntp.drift[root@drwalbr /]# chown ntp.ntp /etc/ntp.driftГлава 22. NTP – программное обеспечение для синхронизации времени277Конфигурационный файл /etc/sysconfig/ntpdШаг 1Для запуска NTP от имени пользователя ntp создайте файл /etc/sysconfig/ntpd, содержащийследующую строку:OPTIONS="-U ntp"ЗАМЕЧАНИЕ Применение опции –U ntp допустимо только, если вы модифицировали исходные кодыNTP патчем ntp-chroot.patch.Шаг 2Установите права доступа к файлу /etc/sysconfig/ntpd и определите его владельцем пользователя root:[root@drwalbr /]# chmod 644 /etc/sysconfig/ntpd[root@drwalbr /]# chown 0.0 /etc/sysconfig/ntpdФайл инициализации /etc/init.d/ntpdШаг 1Для запуска и остановки NTP создайте файл /etc/init.d/ntpd, содержащий следующие строки:#!/bin/bash# This shell script takes care of starting and stopping ntpd.## chkconfig: 345 58 74# description: NTPD is used to provide time server.# Source function library..
/etc/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Source for additional options if we have them.if [ -f /etc/sysconfig/ntpd ];then. /etc/sysconfig/ntpdfi# Check that networking is up.[ ${NETWORKING} = "no" ] && exit 0# If NTPD is not available stop now.[ -f /usr/sbin/ntpd ] || exit 0[ -f /chroot/ntpd/etc/ntp.conf ] || exit 0# Path to the NTPD binary.ntpd=/usr/sbin/ntpdRETVAL=0prog="NTPD"start() {echo -n $"Starting $prog: "daemon $ntpd $ROOTDIR $OPTIONSRETVAL=$?echo[ $RETVAL -eq 0 ] && touch /var/lock/subsys/ntpdreturn $RETVAL}stop() {echo -n $"Shutting down $prog: "killproc $ntpdRETVAL=$?278Часть 4. Программное обеспечение для ограничения доступа к серверу...echo[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/ntpdreturn $RETVAL}# See how we were called.case "$1" instart)start;;stop)stop;;status)status $ntpdRETVAL=$?;;restart)stopstartRETVAL=$?;;condrestart)if [ -f /var/lock/subsys/ntpd ]; thenstopstartRETVAL=$?fi;;*)echo $"Usage: $0 {start|stop|status|restart|condrestart}"exit 1esacexit $RETVALШаг 2Установите права доступа к файлу, назначьте его владельцем пользователя root и создайте соответствующие ссылки:[root@drwalbr /]# chmod 700 /etc/init.d/ntpd[root@drwalbr /]# chown 0.0 /etc/init.d/ntpdШаг 3Если вы хотите, чтобы NTP запускался автоматически при загрузке системы, создайте соответствующие ссылки:[root@drwalbr /]# chkconfig --add ntpd[root@drwalbr /]# chkconfig --level 345 ntpd onТестирование NTPШаг 1Проверьте правильность установки даты и времени на NTP-сервере сети по календарю и обычнымчасам.Шаг 2Выполните предварительную синхронизацию системных часов вашего сервера сети и эталонногосервера:[root@drwalbr /]# ntpdate -b 195.83.132.135grsec: time set by (ntpdate:2447) UID(0) EUID(0), parent (bash:8680)UID(0) EUID(0)30 Apr 20:02:45 ntpdate[2447]: step time server 195.83.132.135 offset0.020454 secШаг 3Глава 22.
NTP – программное обеспечение для синхронизации времениЗапустите NTP на NTP-сервере сети:[root@drwalbr /]# /etc/init.d/ntpd startЗапускается NTPD:279[ОК]Шаг 4Просканируйте UDP порты системы с помощью сканера портов, например, Nmap:[root@drwalbr /]# nmap 192.168.2.99 -sUStarting nmap V. 2.54BETA34 ( www.insecure.org/nmap/ )Interesting ports on drwalbr.und (192.168.2.99):(The 1458 ports scanned but not shown below are in state: closed)PortStateService123/udpopenntpNmap run completed -- 1 IP address (1 host up) scanned in 3 secondsПроверьте состояние ntpd с помощью утилиты ntpq:[root@drwalbr /]# ntpq -p===============================================================ntp1.laas.frchronos.cru.fr 2 u 15 64 377 73.955 21.9771.995+io.berkeley.net usno.pa-x.dec.c 2 u 1 64 367 220.845 19.3800.929+dns1.cmc.ec.gc. goes-bkp.cmc.ec 2 u 4 64 377 234.186 51.588 11.285LOCAL(0)LOCAL(0)10 l 11 64 377 0.0000.0000.015Если вы увидите сообщения, подобные приведенным выше, то NTP-сервер работает.Шаг 5Через несколько часов проверьте правильность установки даты и времени, выполните предварительную синхронизацию системных часов по NTP-серверу вашей сети и запустите NTP-сервера на всех Linuxсистемах вашей сети.
Проверьте работоспособность NTP-серверов на всех Linux-системах вашей сети в соответствии с рекомендациями шага 4.ЗАМЕЧАНИЕ Если вы не предъявляете жестких требований по синхронизации времени в пределахвашей сети, то вместо запуска NTP на Linux-системах вашей сети можно использовать команду синхронизации времени ntpdate, используемую нами для предварительной синхронизации системного времени на втором шаге тестирования NTP, регулярно запускаемую с помощью crond.Для синхронизации времени на системах с операционной системой MS Windows 98 авторы используют свободно распространяемую программу Dimension 4 Version 4.3, разработанную Робертом Чамберсом(Robert Chambers) и доступную с http://www.thinkman.com/~thinkman/. Программа имеет удобный интерфейс, внешний вид которого представлен на рис.
22.2, и удачно выбранные значения параметровпо умолчанию, поэтому для синхронизации времени вам необходимо установить лишь IP-адрес NTPсервера вашей сети.По информации, полученной с http://support.microsoft.com, более поздние версии операционной системы Windows имеют собственную службу синхронизации времени, которая может быть использована для синхронизации времени как по NTP-серверу сети, так и внешним NTP-серверам. Однако изза отсутствия в распоряжении авторов систем с последними версиями операционной системы Windows тестирование их совместимости с NTP-сервером не проводилось.Выбор оптимальных внешних NTP-серверов осуществляется с использованием утилиты ntptrace:[root@drwalbr /]# ntptrace 195.83.132.135ntp1.laas.fr: stratum 2, offset -0.031820, synch distance 0.07150horlogegps.reseau.jussieu.fr: stratum 1, offset -0.036271, synch distance 0.00000, refid 'GPS'В выводе утилиты отображаются временная погрешность и удаленность до тестируемого NTPсервера.
Вам следует выбрать два-три сервера с минимальными значениями этих параметров.ЗАМЕЧАНИЕ Авторы не дают практических рекомендаций по использованию открытых NTP-серверовпо следующим причинам:• выбор сервера зависит от маршрута прохождения сигнала (месторасположения вашей сети, организации доступа в Интернет и т. п.);• авторы не имеют опыта использования для синхронизации времени в своих сетях открытых NTPсерверов, т.
к. используют NTP-сервера (в приобретении оборудования для которых, инсталляции и настройке принимали непосредственное участие) с аутентификацией, принадлежащие дружественным организациям.280Часть 4. Программное обеспечение для ограничения доступа к серверу...Рис. 22.2. Графический интерфейс программы Dimension 4 Version 4.3.Для отображения состояния NTP-сервера используется утилита ntpdc, для запуска которой в интерактивном режиме используется команда:[root@drwalbr /]# ntpdcntpdc> helpCommands available:addpeeraddrefclock addserveraddtrapauthinfobroadcastclkbugclockstatclrtrapcontrolkeyctlstatsdebugdelaydelrestrict disabledmpeersenableexitfudgehelphosthostnamesiostatskerninfokeyidkeytypelistpeersloopinfomemstatsmonlistpasswdpeerspresetpstatsquitreadkeysrequestkeyresetreslistrestrictshowpeersysinfosysstatstimeouttimerstatstrapstrustedkeyunconfigunrestrictuntrustedkeyversionntpdc> quitВыполнение NTP в среде chroot-jailПотенциальные уязвимости NTP, как и любого другого программного обеспечения, могут использоваться для реализации атак на вашу систему.