URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 5233
[ Назад ]

Исходное сообщение
"ipfw заблокировать внешние запросы на ntpd"

Отправлено maximt , 01-Мрт-14 16:35 
есть сервер ntpd по которому синхронизируются машины из локалки.
сервер расположен на машине с реальным адресом, и доступен из внешки.

хочу сделать его доступным только в локалке.

пробую на роутере правила

ipfw add 08 allow udp from 1.1.1.0/24 to any dst-port 123 out via wan1
ipfw add 09 deny udp from any to any dst-port 123 in via wan1

ntpd больше не доступен с внешки, но теперь сама машина перестает синхронизироваться с серверами в инете.

подскажите пожалуйста - как правильно заблокировать входящий udp не поломав исходящий?


Содержание

Сообщения в этом обсуждении
"ipfw заблокировать внешние запросы на ntpd"
Отправлено asavah , 01-Мрт-14 18:53 
у меня сделано так

$ipfw add 209 deny all from not 192.168.0.0/16,10.0.0.0/8,$MY_AS to me dst-port 123
$ipfw add 209 deny all from not 192.168.0.0/16,10.0.0.0/8,$MY_AS to $MY_AS dst-port 123

где $MY_AS это моя белая /23 автономка.

и с интерфейсами я тут не заморачивался, ибо 25+ вланов, из них 4 "белые" от разных провов


"ipfw заблокировать внешние запросы на ntpd"
Отправлено михалыч , 01-Мрт-14 21:56 
> есть сервер ntpd по которому синхронизируются машины из локалки.
> сервер расположен на машине с реальным адресом, и доступен из внешки.
> хочу сделать его доступным только в локалке.
> пробую на роутере правила
> ipfw add 08 allow udp from 1.1.1.0/24 to any dst-port 123 out via wan1
> ipfw add 09 deny udp from any to any dst-port 123 in via wan1
> ntpd больше не доступен с внешки, но теперь сама машина перестает синхронизироваться
> с серверами в инете.
> подскажите пожалуйста - как правильно заблокировать входящий udp не поломав исходящий?

Если я правильно понял, то:
сервер ntpd находится на роутере с белым адресом
через этот роутер выходит локалка 1.1.1.0/24
(обычно локалку обозначают серыми адресами 192.168.0.0.16, 172.16.0.0/12 или 10.0.0.0/8)
вы хотите обеспечить доступ к ntpd только из локалки.

А что у вас написано?

08 разрешить протокол udp из сети с ip-адресами 1.1.1.0/24 к любым ip-адресам на порт назначения 123 исходящие через интерфейс wan1
09 запретить протокол udp от любых ip-адресов к любым ip-адресам на порт назначения 123 входящие через интерфейс wan1

Локалка имеет серые адреса?
У вас что, имеется не один wan (внешний) интерфейс?
А как сервер ntpd будет синхронизироваться?

Приводим к каноническому виду:
локальная сеть (интранет) - 192.168.0.0/16
внутренний интерфейс смотрящий в локальную сеть - rl1
внешний интерфейс смотрящий наружу в интернет - rl0

тогда правила примут вид

allow udp from 192.160.0.0/16 to me 123 via rl1 # не обязательно, если на rl1 и так всё разрешено
allow udp from me 123 to any 123 keep-state via rl0 # динамическое правило с учётом состояния

сильно хочется запретить запросы к своему серверу-роутеру на 123 порт udp?
хм.. думаете ломанутся все синхронизацию "по вам" делать? такой точный сервер? ну-ну..
тогда нужно перечислить сервера по которым ваш сервер делает синхронизацию и запретить остальные, например, вот так в статических правилах

allow udp from me 123 to 0.freebsd.pool.ntp.org,1.freebsd.pool.ntp.org,2.freebsd.pool.ntp.org 123 via rl0
allow udp from 0.freebsd.pool.ntp.org,1.freebsd.pool.ntp.org,2.freebsd.pool.ntp.org 123 to me 123 via rl0
deny udp from any to me 123 via rl0


"ipfw заблокировать внешние запросы на ntpd"
Отправлено maximt , 02-Мрт-14 08:24 
> Если я правильно понял, то:
> сервер ntpd находится на роутере с белым адресом
> через этот роутер выходит локалка 1.1.1.0/24
> (обычно локалку обозначают серыми адресами 192.168.0.0.16, 172.16.0.0/12 или 10.0.0.0/8)

у меня одно адресное пространство с белыми адресами. "1.1.1.0/24" это пример.
роутер и сервер с ntp разные машины
на роутере два интерфейса - ван с насройками провайдера, и моя локалка с реальными адресами.

> сильно хочется запретить запросы к своему серверу-роутеру на 123 порт udp?
> хм.. думаете ломанутся все синхронизацию "по вам" делать? такой точный сервер? ну-ну..

udp флуд - кому и зачем это нужно - я не знаю.
непрерывный поток в несколько мегабит на ntpd на который генерируется приличный поток исходящего трафика...

> тогда нужно перечислить сервера по которым ваш сервер делает синхронизацию и запретить
> остальные, например, вот так в статических правилах
> allow udp from me 123 to 0.freebsd.pool.ntp.org,1.freebsd.pool.ntp.org,2.freebsd.pool.ntp.org
> 123 via rl0
> allow udp from 0.freebsd.pool.ntp.org,1.freebsd.pool.ntp.org,2.freebsd.pool.ntp.org
> 123 to me 123 via rl0
> deny udp from any to me 123 via rl0

как ipfw работает с днс именами? за этими именами тысячи серверов
я уже выбрал несколько ипов сервером и добавил их в фаерволл


"ipfw заблокировать внешние запросы на ntpd"
Отправлено михалыч , 02-Мрт-14 10:37 
>[оверквотинг удален]
>> (обычно локалку обозначают серыми адресами 192.168.0.0.16, 172.16.0.0/12 или 10.0.0.0/8)
> у меня одно адресное пространство с белыми адресами. "1.1.1.0/24" это пример.
> роутер и сервер с ntp разные машины
> на роутере два интерфейса - ван с насройками провайдера, и моя локалка
> с реальными адресами.
>> сильно хочется запретить запросы к своему серверу-роутеру на 123 порт udp?
>> хм.. думаете ломанутся все синхронизацию "по вам" делать? такой точный сервер? ну-ну..
> udp флуд - кому и зачем это нужно - я не знаю.
> непрерывный поток в несколько мегабит на ntpd на который генерируется приличный поток
> исходящего трафика...

вы думаете закрывшись файерволом вы можете прекратить udp флуд ??
в ваш канал до вашего сервера всё равно валиться трафик будет
это только вышестоящий провайдер может помочь

>> тогда нужно перечислить сервера по которым ваш сервер делает синхронизацию и запретить
>> остальные, например, вот так в статических правилах
>> allow udp from me 123 to 0.freebsd.pool.ntp.org,1.freebsd.pool.ntp.org,2.freebsd.pool.ntp.org
>> 123 via rl0
>> allow udp from 0.freebsd.pool.ntp.org,1.freebsd.pool.ntp.org,2.freebsd.pool.ntp.org
>> 123 to me 123 via rl0
>> deny udp from any to me 123 via rl0
> как ipfw работает с днс именами? за этими именами тысячи серверов
> я уже выбрал несколько ипов сервером и добавил их в фаерволл

ну так а в чём тогда дело?
имена серверов приведены тоже как "пример"
я также указал конкретные ip-адреса, но только в ntp.conf
и вы что, всерьёз думаете, что за X.freebsd.pool.ntp.org скрываются "тысячи серверов" ???

в конце концов, можно и динамическое правило использовать, я его вам показал, приведу ещё раз
add allow udp from me to any 123 keep-state

ваш сервер будет "доступен" только в момент обновления

а если ещё и в добавок к этому использовать настройки в ntp.conf, которые вам советуют ниже, так и вообще всё будет в шоколаде, не?


"ipfw заблокировать внешние запросы на ntpd"
Отправлено maximt , 02-Мрт-14 11:51 
> вы думаете закрывшись файерволом вы можете прекратить udp флуд ??
> в ваш канал до вашего сервера всё равно валиться трафик будет
> это только вышестоящий провайдер может помочь

но прекратит генерироваться исходящий трафик (которого больше) и надеюсь пропадет интерес к моему серверу.  

> ну так а в чём тогда дело?

просто заинтересовало как ipfw работает с днс именами. раз пример - вопрос закрыт.

> а если ещё и в добавок к этому использовать настройки в ntp.conf,
> которые вам советуют ниже, так и вообще всё будет в шоколаде,
> не?

очень старая версия ntpd, похоже ignore имеет один приоритет с другими правилами (порядок добавления тоже не влияет)


"ipfw заблокировать внешние запросы на ntpd"
Отправлено михалыч , 02-Мрт-14 14:26 
>> вы думаете закрывшись файерволом вы можете прекратить udp флуд ??
>> в ваш канал до вашего сервера всё равно валиться трафик будет
>> это только вышестоящий провайдер может помочь
> но прекратит генерироваться исходящий трафик (которого больше) и надеюсь пропадет интерес к моему серверу.

блин я не понимаю, так ваш же сервер этот udp трафик на 123 порту и генерирует, сверяя свои часики и обновляя время?!

ладно, хрен с ним..

>> ну так а в чём тогда дело?
> просто заинтересовало как ipfw работает с днс именами. раз пример - вопрос закрыт.

да так же как и другие unix-like - резольвят и подставляют в правило ip-адрес вместо имени

>> а если ещё и в добавок к этому использовать настройки в ntp.conf,
>> которые вам советуют ниже, так и вообще всё будет в шоколаде,
>> не?
> очень старая версия ntpd, похоже ignore имеет один приоритет с другими правилами (порядок добавления тоже не влияет)

да, не повезло, короче - забей.. ))


"ipfw заблокировать внешние запросы на ntpd"
Отправлено Аноним , 01-Мрт-14 22:02 
> есть сервер ntpd по которому синхронизируются машины из локалки.
> сервер расположен на машине с реальным адресом, и доступен из внешки.
> хочу сделать его доступным только в локалке.

Чем не устроил такой способ?

Если вы хотите разрешить синхронизировать свои часы с вашим сервером только машинам в вашей сети, но запретить им настраивать сервер или быть равноправными участниками синхронизации времени, то добавьте строчку

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

где 192.168.1.0 является адресом IP вашей сети, а 255.255.255.0 её сетевой маской.



"ipfw заблокировать внешние запросы на ntpd"
Отправлено maximt , 02-Мрт-14 08:26 
>> есть сервер ntpd по которому синхронизируются машины из локалки.
>> сервер расположен на машине с реальным адресом, и доступен из внешки.
>> хочу сделать его доступным только в локалке.
> Чем не устроил такой способ?
> Если вы хотите разрешить синхронизировать свои часы с вашим сервером только машинам
> в вашей сети, но запретить им настраивать сервер или быть равноправными
> участниками синхронизации времени, то добавьте строчку
> restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
> где 192.168.1.0 является адресом IP вашей сети, а 255.255.255.0 её сетевой маской.

не помогает. там должно быть правило по-умолчанию restrict default ignore но тогда синхронизация перестает работать.



"ipfw заблокировать внешние запросы на ntpd"
Отправлено михалыч , 02-Мрт-14 10:39 
>[оверквотинг удален]
>>> сервер расположен на машине с реальным адресом, и доступен из внешки.
>>> хочу сделать его доступным только в локалке.
>> Чем не устроил такой способ?
>> Если вы хотите разрешить синхронизировать свои часы с вашим сервером только машинам
>> в вашей сети, но запретить им настраивать сервер или быть равноправными
>> участниками синхронизации времени, то добавьте строчку
>> restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
>> где 192.168.1.0 является адресом IP вашей сети, а 255.255.255.0 её сетевой маской.
> не помогает. там должно быть правило по-умолчанию restrict default ignore но тогда
> синхронизация перестает работать.

всё помогает, правильно вам советуют
вы же в ntp.conf вначале по дефолту устанавливаете самые жёсткие и строгие правила, а потом их переопределяете

например так (у меня работает)

# Сервера для синхронизации
# http://support.ntp.org/bin/view/Servers/WebHome

# Дефолтные ограничения
restrict default ignore noquery notrust nomodify notrap

# Переопределяем дефолтные ограничения
# Разрешаем из локальной сети синхронизировать
# свое время с сервером, но запрещаем что-либо изменять на нем
restrict 10.0.0.0 mask 255.0.0.0 nomodify notrap
restrict 172.16.0.0 mask 255.240.0.0 nomodify notrap
restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap

# localhost
server 127.127.1.0
fudge 127.127.1.0 stratum 10
restrict 127.0.0.1 mask 255.255.255.255

# Stratum 1
# ntp2.ntp-servers.net
server 88.147.255.85 iburst burst prefer
restrict 88.147.255.85 mask 255.255.255.255 noquery notrap

# ntp1.vniiftri.ru
server 62.117.76.142 iburst burst prefer
restrict 62.117.76.142 mask 255.255.255.255 noquery notrap

# ntp2.vniiftri.ru
server 62.117.76.141 iburst burst prefer
restrict 62.117.76.141 mask 255.255.255.255 noquery notrap

# ntp3.vniiftri.ru
server 62.117.76.138 iburst burst prefer
restrict 62.117.76.138 mask 255.255.255.255 noquery notrap

# ntp4.vniiftri.ru
server 62.117.76.140 iburst burst prefer
restrict 62.117.76.140 mask 255.255.255.255 noquery notrap

# ntp0.ntp-servers.net
server 88.147.254.228 iburst burst prefer
restrict 88.147.254.228 mask 255.255.255.255 noquery notrap

# ntp1.ntp-servers.net
server 88.147.254.229 iburst burst prefer
restrict 88.147.254.229 mask 255.255.255.255 noquery notrap

# NTP drift file - хранит информацию об отклонениях времени
driftfile /var/db/ntpd.drift

# NTP log file - путь к лог файлу
logfile /var/log/ntpd.log

# NTP pid file - путь к файлу идентификатора процесса
pidfile /var/run/ntpd.pid