Начнем с того, что некоторое время назад при сборке версии 4.2.4p7 из портов с поддержкой OpenSSL, а также использовании опции crypto pw в ntp.conf, демон будет подвержен уязвимости при вызове sprintf() в функции crypto_recv(), которая позволит атакующему выполнить произвольный код с привилегиями ntp демона, а также вызвать Denial of Service. До обновления пакета ntpd в коллекции портов проблему можно решить редактированием Makefile порта перед компиляцией (USE_OPENSSL=no) и исключением из конфига вышеуказанной строки crypto pw. Для дефолтного ntpd, поставляемого с системой, проблема была так же актуальна и решалась с помощью патчей с http://security.freebsd.org/advisories/FreeBSD-SA-09:11.ntpd.asc.
Configure /etc/rc.conf
ntpd_enable="YES"Configure pf.conf
ntpd_program="/usr/local/bin/ntpd"
ntpd_flags="-c /etc/ntp.conf -p /var/run/ntpd.pid -f /var/db/ntpd.drift"
table <dmz_net> { 10.0.1.0/24 }
table <usr_net> { 10.20.5.0/24 }
block in log all
pass out on $ext_if all keep state
pass out on $dmz_if all keep state
pass out on $usr_if all keep state
# Macro
#
int_if = "{" $dmz_if $usr_if "}"
networks = "{" "<dmz_net>, <usr_net>" "}"
pass in on $int_if proto udp from $networks to any port ntp keep state
Configure /etc/ntp.conf
server 77.236.33.77 prefer iburstРестарт ntpd, в логах должен гавкнуть, что все хорошо, на всякий случай можно проверить сокеты:
server 212.118.54.2 iburst
server 193.41.86.177 iburst
server 193.125.143.140 iburst
driftfile /etc/ntp/drift
logfile /var/log/ntpd.log
restrict default ignore
restrict 127.0.0.1
restrict 10.0.1.0 mask 255.255.255.0 nomodify notrap
restrict 10.20.5.0 mask 255.255.255.0 nomodify notrap
restrict 193.125.143.140 noquery notrap
restrict 212.118.54.2 noquery notrap
restrict 193.41.86.177 noquery notrap
restrict 77.236.33.77 noquery notrap
# sockstat | grep -v udp6 | grep ntpd
root ntpd 1037 3 dgram -> /var/run/logpriv
root ntpd 1037 20 udp4 *:123 *:*
root ntpd 1037 22 udp4 192.168.1.2:123 *:*
root ntpd 1037 23 udp4 10.0.1.1:123 *:*
root ntpd 1037 24 udp4 10.20.5.1:123 *:*
root ntpd 1037 27 udp4 127.0.0.1:123 *:*
root ntpd 1037 29 udp4 xx.xx.xx.xx:123 *:*
Used docs
После перезапуска синхронизация не начнется сразу же. Придется подождать некоторое время, ntpd демон не слишком торопливый — мне пришлось сидеть около двух часов. Для того, чтобы отследить состояние соединения с другими серверами, есть утилита ntpq. За дополнительной информацией можно обратиться к man ntpd, man ntp.conf, а также почитать более подробную документацию.
No comments:
Post a Comment