Привязка и открытие портов

Привязка и открытие портов

Недавно я установил Bind на CentOS-бокс. Кажется, все работает, хотя открыт только порт 53. Однако я заметил в файле конфигурации, что в rndc.conf есть строка "default-port 953"; У меня не открыт порт 953, а Bind, похоже, работает. Могу ли я оставить 953 закрытым? В чем смысл прослушивания RNDC порта 953?

решение1

Что это печатает?

$ sudo netstat -ntlp | grep ':953\>'

Должно быть напечатано что-то вроде:

tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      1234/named

или это, если у вас включен IPv6:

tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      1234/named
tcp        0      0 ::1:953                 :::*                    LISTEN      1234/named

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

rndc используется для управления сервером имен, например, «rndc reload» — предпочтительный способ сообщить BIND, что вы изменили файл зоны и что его следует перезагрузить.

На моем сервере Debian (не уверен насчет CentOS) он также требуется /etc/init.d/bind9 для запуска и остановки службы. Я думаю, CentOS называет этот файл /etc/init.d/named. Я бы не отключал или не блокировал его, не проверив сначала, как работает этот скрипт.

Полный список команд, которые вы можете выполнить, находится вСправочное руководство администратора BIND 9 - Административные инструменты.

Подробности использования порта TCP можно узнать с помощью команды «man rndc»:

   rndc communicates with the name server over a TCP connection, sending
   commands authenticated with digital signatures. In the current versions
   of rndc and named, the only supported authentication algorithm is
   HMAC-MD5, which uses a shared secret on each end of the connection.
   This provides TSIG-style authentication for the command request and the
   name server’s response. All commands sent over the channel must be
   signed by a key_id known to the server.

   rndc reads a configuration file to determine how to contact the name
   server and decide what algorithm and key it should use.

Так что если вы хотите защитить его, изучите детали ключа и файла ключа. Например, /etc/bind/rndc.key (или /etc/named/rndc.key) должен иметь ограниченные разрешения.

решение2

RNDC — это порт удаленного администрирования. Не открывайте его для внешнего мира. Если вы не используете утилиту rndc, то этот порт вообще не обязательно должен быть открыт, вы можете безопасно закрыть его брандмауэром.

Для обслуживания обычных запросов Bind требуется UDP 53. Вам также следует открыть TCP 53, если (и только если) этот сервер является главным для зоны и вторичный сервер должен передавать данные с него.

решение3

Добавьте следующее в конец /etc/named.conf (совместимо с RedHat, Debian??)

элементы управления { };

чтобы отключить его. Я не вижу смысла держать его открытым на подчиненном DNS-сервере.

Источник:https://www.linuxquestions.org/questions/linux-server-73/bind-and-rndc-problems-how-do-i-remove-rndc-597478/#post2949852

решение4

На самом деле это BIND прослушивает TCP-порт 953 интерфейса loopback. RNDC — это клиентская утилита, которую можно использовать для управления BIND. RNDC взаимодействует с BIND через TCP-порт 953. Его можно совершенно безопасно оставить открытым.

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