Являются ли ложные TCP-подключения через порт 53 проблемой?

Являются ли ложные TCP-подключения через порт 53 проблемой?

Я запускаю сервер, который, помимо прочего, использует tinydns для DNS и axfrdns для обработки запросов на передачу от нашего вторичного DNS (другой системы). Я понимаю, что tinydns использует порт 53 на UDP, а axfrdns использует порт 53 на TCP.

Я настроил axfrdns так, чтобы разрешать соединения только с моего согласованного вторичного хоста. Я запускаю logcheck для мониторинга своих журналов и каждый день вижу ложные соединения на порту 53 (TCP) с, казалось бы, случайных хостов. Обычно они оказываются соединениями ADSL.

Мой вопрос: являются ли эти запросы невинными или представляют угрозу безопасности? Я с радостью блокирую повторных нарушителей с помощью iptables, но не хочу блокировать невиновных пользователей одного из веб-сайтов, которые я размещаю.

Спасибо, Даррен.

решение1

Я предполагаю, что вы используете сервер как полномочный DNS-сервер для доменного имени. Если это так, то любому клиенту, которому нужно будет разрешить имя, на которое у вашего сервера есть полномочия, нужно будет использовать только UDP. TCP должен использоваться для передачи зон.

И я также предполагаю, что вы не хотите, чтобы мир мог делать передачи зон. Хотя сами по себе они не представляют угрозы безопасности, передачи зон обычно разрешены только для вторичных/резервных DNS-серверов. Большинство программ DNS также имеют ACL для контроля того, какому серверу разрешено делать передачи зон, так что у вас также есть второй метод ограничения этого. Но поскольку я вижу безопасность как разрешение только того, что необходимо, я предлагаю вам заблокировать TCP на порту 53 для хостов, которым не нужно делать передачи зон от вас.

В качестве примечания, tcp-соединения от случайных adsl-хостов на tcp-порту 53 имеют злонамеренные намерения. Это потому, что ни один законный клиент не должен делать зонные передачи от вас. Они могут пытаться получить доступ к конфиденциальной информации, связанной с вашей сетью, или использовать уязвимости определенного программного обеспечения DNS.

Хотя это не повод для паранойи, об этом следует знать.

решение2

TCP — этонетиспользуется только для зонных передач.

TCP — это резервный вариант по умолчанию, используемый DNS-клиентами, если ваш DNS-сервер когда-либо отправит обратно усеченный (TC=1) UDP-ответ. Это может произойти, если вы обслуживаете какие-либо данные, превышающие 512 байт в одном пакете.

Если вы используете DNS-сервер, то ондолженпринимать TCP-соединения от DNS-клиентов, и при этом нет никакого неотъемлемого риска для безопасности. Существует очень небольшой риск DoS-атак на DNS-сервер, но это справедливо для любой публичной службы.

Видетьчерновик-ietf-dnsext-dns-tcp-требованиякоторый должен быть опубликован в виде RFC в течение следующего месяца.

ВидетьRFC5966Больше подробностей.

Отказ от ответственности: я написал этот RFC.

решение3

Единственное, что должно использовать ваш хост в качестве DNS-сервера, это

  • локальный хост
  • машины в вашей сети, для которых вы установили этот хост в качестве DNS-сервера

Самый простой способ заблокировать "все остальное" - отключить прослушивание сервисом этого адреса. Если ваши собственные устройства находятся за пределами "вашей сети", используйте правила брандмауэра ( iptablesили что-то еще), чтобы принимать соединения только с вашего внешнего сетевого адреса(ов). Если они не исправлены, вам может понадобиться VPN или другой безопасный туннель, чтобы переместить внешние хосты "внутрь вашей сети".

Помните, что произвольные DNS-запросы к вашему внутреннему серверу имен могут потенциально выдать всю вашу сеть внешней стороне и либо представить вектор атаки, либо раскрыть информацию, к которой вы бы предпочли не предоставлять доступ остальному миру. «Случайное ADSL-подключение» может легко оказаться машинами зомби-ботнета, используемыми для планирования чего-то отвратительного против вас.

решение4

Существует множество рисков безопасности при открытии входящего TCP на сервер имен — любой, кто не утверждает этого, не в своем уме. Просто взгляните на историю компрометации корня — большинство из них делается с использованием TCP в сочетании с UDP. Старый MUST and SHOULD RFC был создан людьми, которые разбираются в безопасности. Если у вас есть зоны DNS, не использующие TC=1 бит (или превышающие 512 байт) — не включайте входящий TCP, пусть это сделают идиоты в будущем.

Связанный контент