Из каких правил iptables разрешить ntp? :
iptables -A INPUT -p udp --dport 123 -j ACCEPT
iptables -A OUTPUT -p udp --sport 123 -j ACCEPT
Также с сайта NTP :
... ntpd требует полного двунаправленного доступа к привилегированному UDP-порту 123. ...
У меня вопрос, почему? Для тех, кто не знаком с NTP, это выглядит как потенциальная дыра в безопасности, особенно когда я прошу моего клиента открыть этот порт в своем брандмауэре, чтобы мои серверы могли синхронизировать свое время. У кого-нибудь есть достойное оправдание, которое я могу дать своему клиенту, чтобы убедить его, что мне нужен этот доступ в брандмауэре? Помощь приветствуется! :)
Ответы:
Разрешить входящий трафик для портов NTP необходимо только в том случае, если вы действуете как сервер, позволяющий клиентам синхронизироваться с вами.
В противном случае наличие состояния NTP автоматически определит, заблокирован ли входящий пакет NTP или разрешен существующим состоянием брандмауэра, которое мы инициировали.
iptables -A OUTPUT -p udp --sport 123 --dport 123 -j ПРИНЯТЬ
iptables -A INPUT -m состояние - УСТАНОВЛЕНО, СОПУТСТВУЕТ -j ПРИНЯТЬ
Пожалуйста, дайте мне знать, если правила iptables являются правильными. У меня нет опыта работы с iptables. Мой NTP-клиент синхронизируется на моем маршрутизаторе pfSense с использованием только правила исходящего разрешения, потому что pfSense - это межсетевой экран с отслеживанием состояния.
источник
NTP требует двунаправленного доступа через порт 123, потому что в NTP RFC указывается следующее относительно исходного порта клиента:
Поскольку исходный порт клиента - 123, когда сервер отправляет ответ обратно, он отправляет его на порт 123. Естественно, чтобы иметь возможность получить этот ответ, клиент должен разрешить входящие ответы на порт 123. Обычно ответы возвращаются на некотором эфемерном диапазоне портов .
В качестве упоминал Бен Кук , это требуется только при работе с брандмауэром без сохранения состояния, так как брандмауэр с состоянием позволяет получить ответ без явного правила.
источник
Я думаю, что лучшим решением является включение порта 123 для входа, только для IP-адресов, которые, как ожидается, дадут вашему серверу сигнал ntp.
Внутри конфигурационного файла ntp, /etc/ntp.conf, есть адреса нескольких серверов ntp, на которые должен указывать ваш сервер. Вы можете использовать команду lookup, чтобы найти соответствующий ip для каждого адреса.
host -t a 0.debian.pool.ntp.org
Затем вы можете добавить правило в брандмауэр сервера:
iptables -I INPUT -p udp -s 94.177.187.22 -j ACCEPT
... и так далее.
Это может помешать любому злоумышленнику повредить ваш сервер.
Я думаю, что бесполезно ограничивать вывод.
источник
Связь ntp-сервер с портом источника и назначения 123. Наиболее удобно явно разрешить это, по крайней мере, хостам, на которых вы запускаете службу ntp.
Вы могли бы рассмотреть только выставление внешнего хоста в Интернет, чтобы получить время из внешних источников. Внутренняя служба ntp, синхронизирующаяся с этим, может быть источником для всех устройств. Если эти хосты предназначены для этой цели, возможное воздействие ограничено: они принимают только трафик ntp и не хранят другие данные.
Альтернативно, вообще не используйте внешнюю IP-сеть. Например, используйте источник радио, например, GPS.
http://www.diablotin.com/librairie/networking/firewall/ch08_13.htm http://support.ntp.org/bin/view/Support/TrounticationNTP
источник