Недавно я установил Bind на CentOS. Кажется, все работает, только порт 53 открыт. Однако я заметил в файле конфигурации, что в rndc.conf есть строка, в которой написано «default-port 953;» У меня не открыт порт 953, и Bind работает. Могу ли я оставить 953 закрытым? Какой смысл в прослушивании RNDC на 953?
RNDC - это порт удаленного администрирования. Не открывайте его внешнему миру. Если вы не используете утилиту rndc, нет необходимости, чтобы этот порт был открыт вообще, вы можете безопасно отключить его с помощью брандмауэра.
Bind требуется UDP 53 для обслуживания обычных запросов. Вы также должны открыть TCP 53, если (и только если) этот сервер является главным для зоны и вторичный сервер должен выполнять передачу от него.
Что это за печать?
$ 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) должен иметь ограниченные разрешения.
Обычно нет необходимости пересылать запросы для порта 953 на ваших пограничных брандмауэрах, но полезно держать его открытым на DNS-сервере в качестве локальной службы (конечно, если у вас есть ssh-доступ к этому серверу). Правильно настроенный rndc - отличный инструмент для управления named.
На самом деле это BIND, который прослушивает TCP-порт 953 интерфейса обратной связи. RNDC - это клиентская утилита, которую можно использовать для управления BIND. RNDC общается с BIND через TCP-порт 953. Оставлять его открытым полностью безопасно.
Добавьте следующее в конец /etc/ named.conf (совместим с RedHat, Debian ??)
элементы управления {};
чтобы отключить его. Я не вижу смысла открывать его на подчиненном DNS-сервере.